1.情报搜集
1.1外围信息搜索
1.1.1通过DNS和IP地址挖掘目标网络信息
(1)whois域名注冊信息查询(BT5、kali专有):[email protected]:~# whois testfire.net s(2)nslookup与dig域名查询(查询域名相应的IP地址):msf > nslookup> set type=A> testfire.netmsf > dig注:nslookup仅仅能得到DNS解析server保存在Cache中的非权威解答,dig则能够从该域名的官方DNSserver上查询到精确的权威解答(3)IP2Location地理位置查询
主要目的是由IP地址查询地理位置。此类方法称为IP2Location。
一些站点提供了这种服务,如GeoIP:http://www.maxmind.com。
在找出此IP相应的经纬度之后能够用Google Maps进一步查询其地址。
对于国内IP地址查询。能够使用QQ纯真数据库:http://www.cz88.net
(4)利用netcraft站点提供的信息查询服务.
用于查询子站点子域名等信息,对了解站点整体架构、业务应用等很有帮助。
http://searchdns.netcraft.com/,此外还能够利用此站点获取很多其它的西悉尼,如地理位置、域名server的地址、server操作系统类型、server执行状况等,在浏览器中输入:http://toolbar.netcraft.com/site_report?url=http://www.baidu.com
(5)IP2Domain反查域名
在实际的渗透目标站点可能是一台虚拟主机,及一台server上面可能执行多个虚拟机。这些虚拟主机可能有不同的域名,但通常公用一个IP地址。假设知道有哪些站点公用这台server,就有可能通过此台server上其它站点的漏洞获取server控制权限。进而迂回获取渗透目标的权限,这样的攻击技术称为”旁注“。能够使用http://www.ip-address.com/reverse_ip/查询。
国内可使用http://www.7c.com/
1.1.2通过搜索引擎进行信息搜集
(1)Google Hacking技术GHDB(Google Hacking DataBase, Google黑客数据库)。包括了大量使用Google从事渗透或者黑客活动所用的搜索字符串,http://www.exploit-db.com/google-dorks
另外还有SiteDigger和Search Diggity等自己主动化搜索工具,但有些须要收费。
(2)搜索站点的文件夹结构
Google中输入parent directory site:testfire.net,来查询相关站点的子文件夹,inc文件可能会包括站点的配置信息,如数据库username/口令等。
bak文件一般是一些文本编辑器在编辑源码后留下的备份文件,txt或sql文件一般包括站点上执行的SQL脚本,可能会透露类似数据库结构等信息。类似的功能能够借助metasploit中的brute_dirs、dir_listing、dir_scanner等辅助模块来完毕:
msf > use auxiliary/scanner/http/dir_scanner
(3) 搜索特定类型的文件
site:testfire.net filetype:xls
(4)搜索站点中的E-mail地址
msf > use auxiliary/gather/search_email_collector
(5)搜索存在SQL注入点的页面
site:testfire.net inurl:login
简单的绕过登陆验证的方法:Username: admin ‘OR‘1 password: test ‘OR‘1
1.2主机探測与port扫描
1.2.1活跃主机扫描
(1)ICMP Ping命令:[email protected]:~# ping -c 5 www.baidu.com(2)metasploit的主机发现模块
arp_sweep使用ARP请求枚举本地居于网络中的全部活跃主机:
use auxiliary/scanner/discovery/arp_sweep
show options
set RHOST 192.168.1.0/24
set THREADS 50 扫描线程数越高扫描速度越快,但也更easy被发现,通常设置较小的值有利于隐藏扫描行为。
udp_sweep通过发送UDP数据包探查指定主机是否活跃,并发现主机上的UDP服务:
use auxiliary/scanner/discovery/udp_sweep
此外,还有ipv6_multicast_ping、iv6_neighbor、ipv6_neighbor_router-advertisement、udp_prob等模块
(3)使用Nmap进行主机探測
nmap -sn 192.168.1.0/24(ICMP包探測,Ping扫描,适合内网,外网easy被防火墙过滤掉)
nmap -Pn -sn 192.168.1.0/24(UDP包探測,适合Internet环境。功能类似于metasploit的udp_sweep模块)
(4)操作系统辨识操作系统辨识能更正主机发现或主机探測中存在的误报情况。
nmap -O 192.168.1.1
(5)port扫描与服务类型探測
使用Metasploit中的port扫描模块:
msf > search portscan,结果例如以下:auxiliary/scanner/portscan/ackauxiliary/scanner/portscan/ftpbounceauxiliary/scanner/portscan/synauxiliary/scanner/portscan/tcpauxiliary/scanner/portscan/xmas一般使用synport扫描器。由于其速度快,结果准确且不easy被对方察觉。用法:msf > use auxiliary/scanner/portscan/synmsf auxiliary(syn) > set RHOSTS 192.168.1.1msf auxiliary(syn) > set THREADS 20msf auxiliary(syn) > run
Nmap的port扫描功能
msf > nmap -sS -Pn 192.168.1.1对于其扫描结果的port状态说明例如以下:open (开放)、closed(关闭)、filtered(被过滤)、unfiltered(未过滤)、open|filtered(开放或被过滤)、 closed|filtered(关闭或被过滤)、
使用nmap探測更具体的服务信息msf > nmap -sV -Pn 192.168.1.116,相比于上面的nmapport扫描,能获取很多其它的关于响应的port开放了哪些服务的具体信息
1.3服务扫描与查点
确定开放的port及对应服务的具体信息之后。须要对对应的服务信息进行更深入的挖掘,通常称为“服务查点”。在metasploit的scanner模块中有对应的服务扫描和查点工作:
[service_name] _version 可用于遍历网络中包括了某种服务的主机,并进一步确定服务的版本号。
[service_name] _login可对某种服务进行口令探測攻击。详细信息可在msf终端中输入search name:_version进行查询。会得到诸如一下的结果:
auxiliary/fuzzers/ssh/ssh_version_15
...
(1)常见的网络服务扫描
telnet服务扫描:
msf > use auxiliary/scanner/telnet/telnet_version
msf > show options
... ...
SSH服务扫描:
msf > use auxiliary/scanner/ssh/ssh_version
msf > show options
... ...
Microsoft SQL Server、Oracle数据库服务查点:
msf > use auxiliary/scanner/mssql_ping/tnslsnr_version
msf > show options
... ...
msf > use auxiliary/scanner/oracle/tnslsnr_version
msf > show options
... ...
开放代理探測与利用:
使用代理server能避免被对方的入侵检測系统跟踪,进而隐藏自己的身份,但公开渠道获取的代理server安全性无法保证,进行重要私密通信室需慎重。更好的方法是利用开放或者自己搭建的VPN服务。能够从公开渠道搜集到一些免费的VPN服务。也能够在已控制的主机上如果OpenVPN服务。
msf > use auxiliary/scanner/http/open_proxy
msf > show options
... ...
(2)口令猜解与嗅探
SSH服务口令推測(此模块须要自己设置或者导入USERNAME或者PASS_FILE文件作为推測的根据)
msf auxiliary(ssh_version) > use auxiliary/scanner/ssh/ssh_login
msf > show options... ...
psnuffle口令嗅探
msf > use auxiliary/sniffer/psnuffle
msf > show options... ...
1.4网络漏洞扫描
漏洞扫描原理与漏洞扫描器
OpenVAS漏洞扫描器
配置OpenVAS
使用GSA
在Metasploit内部使用OpenVAS(用msf终端控制OpenVAS)
查找特定服务漏洞(利用Nmap查找特定漏洞)
1.5渗透測试信息数据库与共享
參考资料:诸葛建伟《Metasploit渗透測试魔鬼训练营》