网络踩点犹如躲在暗处的狙击手,只观察情况而不进行射击,有
踩点的以下途径:
1:通过搜索引擎进行信息收集
1.1:google Hacking技术
搜索工具.
1:SiteDigger
2:Search Diggity (此款软件还支持对源代码、恶意软件等进行分析)
1.2:探索网站的目录结构
1:常见的后台管理目录:admin、login、cms
通过google来搜索:Parent directory site:域名
注意:
扩展名为inc的文件,可能包含网站的控制信息,如数据库用户名/口令等.
扩展名为bak的文件,通常是一些文本编辑器在编辑源代码后留下的备份文件,可以让你知道语气对应的程序脚本文件中的大致内容.
扩展名为txt或SQL的文件,一般包含网站运行的SQL脚本,可能会透露类似数据库结构等信息.
robots.txt文件也是关注的对象.
还可以借助Metasploit中的Brute_dirs、dir_lsting、dir_scanner等辅助模块来完成.
以dir_scanner为例:
use auxiliary/scanner/http/dir_scanner
set THREADS 50
set RHOSTS www.testfire.net //这里选择目标网站.
exploit
1.3:google搜索技巧
检索特定文件:site:网站 type:文件类型
例如:黑客培训site:wenku.baidu.com filetype:PDF
1.4:搜索网站中的E-mail地址
输入search_email_collector模块要求提供的邮件后缀(域名)即可.
还是以testfire网站为例:
use auxiliary/gather/search_email_collector
set DOMAIN altoromutaual.com //设置域名
run
2:Nmap扫描命令
1:nmap -sn 10.10.10.0/24 //扫描整个C段的所有活跃主机,但不扫描端口和系统.
2:nmap -Pn 10.10.10.0/24 //扫描Internet环境.
3:nmap -sS 192.168.1.1 //TCP SYN Scan(sS)这种扫描不需要通过完整的握手,就能获得远程主机的信息,优势是不会留下任何日志记录.
4:nmap -PU -sn 10.10.10.0/24 //在Internet环境,用PU选项通过对开放的UDP端口进行探测以确定存活的主机,Nmap在进行UDP主机探测时,默认会列出开放的TCP端口,为了加快扫描,可以使用-sn告诉Nmap不对开放的TCP端口进行扫描.
5:nmap -O 10.10.10.254 //对目标IP的操作系统进行扫描;注意O是大写.
6:nmap -sV 10.10.10.254 //对目标开启的服务版本进行识别,可以配合nmap -O使用,以便更准确的判断操作系统.
7:nmap -A 10.10.10.254 //获取更详细的服务和操作系统信息.
3:网络查点.
Telnet网络查点:
msf > use auxiliary/scanner/telnet/telnet_version
msf auxiliary(telnet_version) > set RHOSTS 10.10.10.0/24
RHOSTS => 10.10.10.0/24
msf auxiliary(telnet_version) > set THREADS 100
THREADS => 100
msf auxiliary(telnet_version) > run
[*] Scanned 026 of 256 hosts (010% complete)
[*] Scanned 058 of 256 hosts (022% complete)
[*] Scanned 101 of 256 hosts (039% complete)
[*] Scanned 104 of 256 hosts (040% complete)
[*] Scanned 135 of 256 hosts (052% complete)
[*] 10.10.10.140:23 TELNET Welcome to Microsoft Telnet Service \x0a\x0a\x0dlogin:
SSH网络查点:
msf> use auxiliary/scanner/ssh/ssh_login
msf auxiliary(ssh_login) > set RHOSTS 10.10.10.0/24
RHOSTS => 10.10.10.0/24
msf auxiliary(ssh_login) > set THREADS 100
THREADS => 100
msf auxiliary(ssh_login) > run
[*] 10.10.10.254:22 SSH - Starting bruteforce
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
SSH暴力破解:
msf> use auxiliary/scanner/ssh/ssh_login //调用ssh登录辅助模块.
msf auxiliary(ssh_login) > set RHOSTS 10.10.10.140 //设置目标IP地址.
RHOSTS => 10.10.10.140
msf auxiliary(ssh_login) > set THREADS 100 //设置线程.
THREADS => 100
msf auxiliary(ssh_login) > set USERNAME administrator //指定用户名.
USERNAME => administrator
msf auxiliary(ssh_login) > set PASS_FILE /root/Desktop/password.txt //字典需要自己制作.
PASS_FILE => /root/Desktop/password.txt
msf auxiliary(ssh_login) > run //开始破解.
4:漏洞扫描
Nessus漏扫工具.
Nmap漏扫脚本
例:使用Nmap扫描ms08_067漏洞.
root@bt:~# nmap -P0 --script=smb-check-vulns 10.10.10.135
Starting Nmap 6.25 ( http://nmap.org ) at 2017-02-13 12:12 EST
Nmap scan report for 10.10.10.135
Host is up (0.00032s latency).
Not shown: 986 closed ports
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
777/tcp open multiling-http
1025/tcp open NFS-or-IIS
1026/tcp open LSA-or-nterm
1027/tcp open IIS
1030/tcp open iad1
6002/tcp open X11:2
7001/tcp open afs3-callback
7002/tcp open afs3-prserver
8099/tcp open unknown
MAC Address: 00:0C:29:D5:AA:79 (VMware)
Host script results:
| smb-check-vulns:
| MS08-067: CHECK DISABLED (add '--script-args=unsafe=1' to run)
| Conficker: Likely CLEAN
| regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)
| SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)
| MS06-025: CHECK DISABLED (add '--script-args=unsafe=1' to run)
|_ MS07-029: CHECK DISABLED (add '--script-args=unsafe=1' to run)
Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds
5:信息数据库与共享.
Metasploit中使用PostgreSQL命令.
1:查看默认安装的PostgreSQL数据库默认管理员的口令.
root@bt:~# cat /opt/metasploit/properties.ini | grep "postgres_root_password"
postgres_root_password=da25dcd8
2:查看数据库的连接状态.
root@bt:~# db_status
db_status: command not found
3:连接数据库.
db_connect 用户名:口令@服务器地址:端口/数据库名称.
msf > db_connect postgres:da25dcd8@localhost:7337/msf4
如果遇到Bug,可以用以下命令创建新数据库,然后再连接.
root@bt:~# /opt/metasploit/postgresql/bin/createdb msf4 -E UTF8 -T template0 -O msf3
Password:
4:查看数据库是否可以用:hosts
msf > hosts
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
------- --- ---- ------- --------- ----- ------- ---- --------
断开与数据的连接:db_disconnect
4:删除数据库
dropdb msf4
Nmap与渗透测试数据库.
将扫描结果导入数据.
db_nmap -Pn -sV 10.10.10.0/24
将扫描结果导出为一个输出文件.
nmap -Pn -sV -oX 文件名 10.10.10.0/24 //文件默认存放在root下
将扫描文件导入数据库.
msf > db_import /root/文件名
共享渗透测试数据库.
1:先使用netstat查看postgres进程的运行情况.
root@bt:~# netstat -nlp | grep "postgres"
tcp 0 0 127.0.0.1:7337 0.0.0.0:* LISTEN
2:在POSTGRESQL_START参数后面添加-h 0.0.0.0,让Postgresql启动时绑定到所有的IP地址;文件在:/opt/metasploit/postgresql/script/ctl.sh
#!/bin/sh
HOSTNAME=`hostname`
POSTGRESQL_PIDFILE=/opt/metasploit/postgresql/data/postmaster.pid
POSTGRESQL_START="/opt/metasploit/postgresql/bin/postgres -D /opt/metasploit/postgresql/data -p 7337 -h 0.0.0.0"
3:打开Postgresql的访问控制文件/opt/metasploit/postgresql/data/pg_hba.conf,在末尾文件添加如下内容.
#IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 10.10.10.1/24 md5
4:重新启动PostgreSQL服务:
root@bt:~# /opt/metasploit/postgresql/scripts/ctl.sh stop
/opt/metasploit/postgresql/scripts/ctl.sh : postgresql stopped
root@bt:~# /opt/metasploit/postgresql/scripts/ctl.sh start
LOG: database system was shut down at 2017-02-13 15:28:58 EST
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
/opt/metasploit/postgresql/scripts/ctl.sh : postgresql started at port 7337
5:再次输入netstat命令,查看Postgresql服务运行是否正常.
root@bt:~# netstat -nlp | grep "postgres"
tcp 0 0 0.0.0.0:7337 0.0.0.0:* LISTEN 3990/postgres.bin
unix 2 [ ACC ] STREAM LISTENING 24857 3990/postgres.bin /opt/metasploit/postgresql/.s.PGSQL.7337
6:在另一台计算机上启动MSF终端,输入db_connect命令连接Postgresql.
msf > db_connect postgres:口令@服务器IP:服务端口/账号
6:渗透测试信息搜集总结:
1:确定要攻击而网站后,用whois工具查询网站信息,注册时间,管理员联系方式(电话、邮箱.)
2:使用nslookup、dig工具进行域名解析已得到IP地址.
3:查询得到的IP地址的所在地.
4:通过google搜集一些敏感信息,如网站目录,网站的特定类型文件.
5:对网站进行端口、操作系统、服务版本的扫描,用nmap -sV -O 便可以实现,更详细的可以用nmap -a.
6:在得到了目标的服务器系统,开放端口及服务版本后,使用Openvas/Nessus进行漏洞挖掘.
7:将搜集到的所有信息进行筛选,得出有用的,认真做好记录.