《metasploit渗透测试魔鬼训练营》学习笔记第三章----情报搜集
Kali渗透测试系统集成了metasploit开源的漏洞测试框架,是渗透测试必备的神器。下面是我在学习metasploit的笔记,有什么错误的地方请指出来,我会立即纠正的~
一.情报搜集
1.外围信息搜集
外围信息搜集又叫公开渠道信息搜集。搜索引擎,公共信息库,目标门户网站等等都是很好的入手点。metasploit有一类“辅助模块”,可以帮助你进行信息搜集的工作,并且还集成了nmap等神器。
1.1通过DNS和IP挖掘目标网站的信息
①whois域名注册信息查询
可以在MSF终端使用whois命令进行查询。
msf > whois baidu.com
注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
②nslookup,dig域名查询
nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果
msf > nslookup
[*] exec: nslookup
> set type=A
> baidu.com
msf > dig @dns.baidu.com baidu.com #dns.baidu.com为DNS服务器
具体使用方法就不在这讲述,请自行百度。
③IP2Location 地理位置查询
www.maxmind.com
可以根据IP查询地理位置,需要FQ、
④netcraft提供的信息查询服务
http://www.netcraft.com/
能获取到更多的更详细的信息。
⑤IP2反域名查询
通过IP反查到域名,即旁注的第一步。
http://www.ip-adress.com/reverse_ip/
可以通过该网站查询
国内的也可以用 http://www.7c.com/ 进行查询,结果更准确。
1.2通过搜索引擎进行信息搜集
①Google Hacking
Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串,
http://www.exploit-db.com/google-dorks 可以在上述网址看GHDB的内容。
一些自动化的工具,SiteDigger ,Search Diggity,Gooscan,具体用法自行百度。
②搜索网址目录结构
首先可以手工测试一些常见的目录名,如 admin,login等等。
用Google查询:parent directory site:XXX.com 来查找目录。一般对拓展名为inc,bak,txt,sql的文件要特别留意。
inc:可能包含网站的配置信息。
bak:通常是文本编辑器留下的备份文件。
txt or sql:包含网站运行的sql脚本。
自动化的工具:metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块,主要是暴力猜解。以dir_scanner为例:msf > use auxiliary/scanner/http/dir_scanner。具体的辅助模块需要百度自行查找。
一些网站还会在根目录下放置robots.txt文件,用以告诉搜索引擎哪些目录和文件不被抓取。
③搜索特定类型的文件
有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找,如Google,site:XXX.com filetype:xls。
④搜索E-Mali
metasploit中有search_email_collector,进行针对性的搜集。
msf auxiliary(dir_scanner) > use auxiliary/gather/search_email_collector
⑤搜索存在sql注入的页面以及后台登陆的页面
Google:site:XXX.com inurl:login site:XXX.com inurl:.php?id=1
⑥IP路由侦查
工具:traceroute
root@kali:~# traceroute www.baidu.com
2.主机探测和端口扫描
2.1活跃主机扫描
①ICMP Ping命令
ping www.baidu.com
②metasploit中的模块
位于 modules/auxiliary/scanner/discovery 主要有 arp_sweep, ipv6_multicast_ping, ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe, udp_sweep.
arp_sweep 使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器
udp_sweep 使用UDP数据包探测。
③Nmap探测
metasploit中集成了nmap,至于nmap的用法,不在这里详细讨论。
2.2操作系统辨别
Nmap -O 参数
2.3端口扫描与服务探测
扫描技术:TCP Connect ,TCP SYN, TCP ACK ,TCP FIN ,TCP IDLE
①metasploit的端口扫描模块
search portscan 找到相关模块
②Nmap端口扫描
一般用到的参数如下:
-sT -sS -sF/-sX/-sN -sP -sU -sA -Pn -p -F 具体百度。。。。
③探测详细服务信息
Nmap -sV 参数
3.服务扫描和查点
metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名
可输入 search name:_version查看所有服务查点模块
3.1网络服务扫描
①telent服务扫描
msf > use auxiliary/scanner/telent/telent_version
②SSH服务扫描
msf > use auxiliary/scanner/ssh/ssh_version
③Oracle数据库服务查点
msf auxiliary(ssh_version) > use auxiliary/scanner/oracle/tnslsnr_version
④开放代理探测
open_proxy模块
msf auxiliary(tnslsnr_version) > use auxiliary/scanner/http/open_proxy
公开搜集的代理服务器安全性无法得到保障。
3.2口令猜测与嗅探
制作一本质量高的字典需要运用社工。
①.SSH口令猜测
msf auxiliary(open_proxy) > use auxiliary/scanner/ssh/ssh_login
②psnuffle口令探测
psnuffle是metasploit中的口令嗅探工具,只有在接入对方网络的初始访问点后才能进行嗅探。
msf auxiliary(ssh_login) > use auxiliary/sniffer/psnuffle
4.网络漏洞扫描
漏洞扫描器会向目标发送大量数据包,甚至会导致目标系统拒绝服务,而且会有很多误报或漏报,因此需要人工分析。
①OpenVAS漏洞扫描器
OpenVAS在kali中的配置请自行百度,这里不再详细讲解。
OpenVAS使用教程这里不再赘述。
②查找特定服务漏洞
Nmap是针对性扫描工具之一,其拥有很多script的脚本可供使用,具体脚本的使用方法不再详解。
5.渗透测试信息数据库共享
metasploit提供了对psrtgresql数据库的支持。并提供了db_namp命令,可以将Nmap扫描结果存入数据库中,还提供了db_import命令,支持多种扫描结果导入。
①使用网络数据库共享
②通过RPC 服务共享