Exp 5 MSF基础应用
Posted wyf12138
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Exp 5 MSF基础应用相关的知识,希望对你有一定的参考价值。
Exp 5 MSF基础应用
0x0 实验环境
本次实验的环境取自《Metasploit渗透测试魔鬼训练营》中的靶机镜像。
- 初始攻击点:Kali linux,IP地址:10.10.10.128
- 网关服务器:linux metasploitable(Ubuntu 8.04),IP地址:eth0(10.10.10.254),eth1(192.168.10.254)
- web服务器:OWASP BWA v0.94,IP地址:10.10.10.129
- windows靶机1:windows xp SP3 English,IP地址:192.168.10.130
- windows靶机2:windows xp SP3 English,IP地址:192.168.10.131
按照书中的说法,我的Kali攻击机所在的网段10.10.10.0/24
模拟的DMZ区(非军事区),windows靶机所在的网段192.168.10.0/24
模拟的是企业内网。
由于虚拟机迁移到wmware后的显示问题,以及为了更加接近实战,我用ssh登录vmware虚拟机中的Kali linux,完成这次实验。
我在自己主机上用到ssh终端是MobaXterm。
0x1 查点——辅助模块的使用
首先我们要让metasploit连接到postgresql数据库,这样才能导入一些辅助模块的插件。
我之前没有创建数据库,用msfdb init
创建一个,然后输入msfdb run
启动metasploit,同时连接数据库。
对于攻击web应用来说,我们还没有什么基础和经验,现在外围搜集一下情报也是好的。
使用wmap扫描器
metasploit内置了wmap Web扫描器,可以对网站进行集中扫描。这里的目标依然是www.dvssc.com。
使用wmap,相当于一次使用多个辅助模块对目标进行查点(一定没有人和我重复了)
输入load wmap
加载wmap扫描器。
将www.dvssc.com作为扫描目标,输入如下内容:
这次扫描中使用到的辅助模块有这么多,可以直接一次执行:
输入wmap_run -e
开始扫描
wmap结果分析
版本信息
我们可以看到服务器的版本,中间件版本,语言版本。
如果能够渗透成功,我们得到的webshell是php的。
robots.txt文件
robots.txt文件是网站用来告诉搜索引擎的爬虫抓取页面时要遵循的规则。
robots.txt中的目录和文件应该是我们关注的重点。
目录扫描
我们对www.dvscc.com进行目录扫描,结果非常杂乱:
我们可以看到 PHP,wordpress这些字眼。
该web服务器的CMS可能是wordpress,如果能够有更多信息,或许可以从wordpress的漏洞下手。
漏洞信息
输入vulns
可以显示漏洞信息
db_nmap扫描
由于这次实验的重点不在web应用的攻防,我们把目光从web服务器上移开,看看DMZ区有没有其他的可突破的地方。
使用nmap的sn选项对DMZ区的主机进行探测
实验环境中,网关服务器的IP是10.10.10.254,如果拿下了它,就可以把它当作跳板,进入内网了!
nmap探测操作系统与服务类型
我们先看一下网关服务器(10.10.10.254)的系统信息,使用nmap的-O选项即可
我们只能知道网关服务器的操作系统内核是Linux 2.6,还需要更多的信息。
那么,直接使用nmap的-sV选项,就能探测网关服务器的服务信息。
确定攻击思路
我们先列出扫描的结果,然后更加结果来确定攻击的思路。
目标 | 操作系统 | 开放端口 | 服务 |
---|---|---|---|
网关服务器(10.10.10.254) | Linux 2.6.x(ubuntu) | FTP(21) | ProFTPD 1.3.1 |
SSH(22) | OpenSSH 4.7p1 | ||
telnet(23) | Linux telnet | ||
smtp(25) | Postfix smtpd | ||
http(80) | Apache httpd 2.2.8((Ubuntu) PHP/5.2.4-2ubuntu5.10) | ||
netbios-ssn(139) | Samba smbd 3.x - 4.x | ||
netbios-ssn(445) | Samba smbd 3.x - 4.x | ||
mysql(3306) | MySQL 5.0.51a-3ubuntu5 | ||
postgresql(5432) | PostgreSQL DB 8.3.0 - 8.3.7 | ||
ajp13(8009) | Apache Jserv (Protocol v1.3) | ||
http(8080) | Apache Tomcat/Coyote JSP engine 1.1 |
根据这张表,我们有如下几个大致的攻击方向:
- 口令嗅探与猜测:FTP,SSH,Telnet,MySQL,PostgreSQL(但是需要自己提供口令字典)
- 系统漏洞利用:Samba,smtp
- web应用漏洞:Apache,Tomcat
由于我们现在对web应用的攻防不熟悉,暂时不从这里着手。
metasploit口令猜测需要自己提供口令字典(比如:auxiliary/scanner/ssh/ssh_login辅助模块),但我们还没有,暂时不从这里着手。
我们选择利用系统漏洞,主动攻击这条路(其实是为了达到实验要求)
0x2 称霸DMZ区——主动攻击系统服务
实际上,仅仅靠我们现在搜集到的信息是不足以确定渗透模块的,但是限于篇幅(还有本人水平有限),我们直接上手拿到网关服务器的shell。
拿下网关服务器——利用CVE-2007-2447漏洞
严格意义上说,仅凭借刚才查点得到的信息是不能知道网关服务器有这个漏洞的(因为《Metasploit魔鬼训练营》中给出了这个例子,我才知道网关服务器上有这个漏洞)
最多知道个Samba的版本号为3.0.20,或许存在CVE-2007-2447漏洞,就算是碰运气撞到的吧(前面的查点完全是为了应付这次实验,并没卵用……笑)
使用exploit/multi/samba/usermap_script模块,这个模块的评价可是excellent!
非常可惜,这个渗透模块好像不支持Meterpreter的payload,这里选择netcat吧。
拿到shell了,但接下来该怎么办呢?
将shell升级为Meterpreter
只是用netcat太不方便了,最后还是能够使用Meterpreter。我们可以将shell升级为Meterpreter!
新开启一个netcat会话,用exploit -z
把它放到后台。
然后用session -u
选项,将它升级为Meterpreter
接着,可以“胡作非为”了。
输入ifconfig
可以看到,网关服务器的另一张网卡连接的网段。
接下来,我们就要攻击192.168.10.0/24这个网段中的主机了。
攻破后台服务器——利用MS08-067漏洞
其实DMZ区还有一台windows server 2003服务器,这上面的Oracle数据库是有漏洞的,对应的Metasploit渗透模块是:exploit/windows/oracle/tns_auth_sesskey。
但是这个渗透攻击模块利用起来很困难(《Metasploit魔鬼训练营》上的做法是自己调试改造这个攻击模块),不一定能成功。
我们只能用MS08-067这一“著名”漏洞了,但这个漏洞也不太好利用,它的成功率非常依赖目标的操作系统。
使用nmap脚本进行漏洞扫描
nmap已经有默认的NSE脚本对该漏洞进行漏洞扫描了。用--script=smb-vuln-ms08-067
选项,得到如下结果:
的确,这个服务器包含MS08-067漏洞。
利用MS08-067漏洞
使用ms08_067_netapi渗透模块,配置好参数:
一定要设置好TARGET选项,不要使用自动识别,针对MS08-067漏洞的攻击的参数设置要特别小心。
我之前选择的payload是Meterpreter的,但是失败了,参考了《Metasploit魔鬼训练营》,改用了generic/shell_reverse_tcp,这才成功
不过不要紧,shell是可以升级为Meterpreter的,依旧是使用sessions -u <ID>
命令
等待片刻,获得Meterpreter会话
0x3 控制内部网络——客户端攻击
接下来我们准备实施客户端渗透攻击,构造恶意网页,在内网的主机访问公司门户网站时,从而获得控制权。
但是,让用户在浏览器中输入Kali的IP并访问有些不现实。用户可能会访问的是web服务器,然而我们没有拿下DMZ区的web服务器,该怎么办?
我们之前拿下了连接DMZ区和企业内网的网关服务器,可以在网关服务器上做手脚。
准备工作——流量重定向
既然拿下了网关服务器,直接把内网主机的流量重定向到Kali上不就行了!
但是这个动静比较大,很容易暴露自己,不过只是实验,无所谓了(等学习了web攻防以后,再拿下web服务器吧)
刚开始,内网主机是可以访问web服务器的
我们在网关服务器上用iptables设置这样一条规则
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.10.0/24 -j DNAT --to 10.10.10.128
现在,我们通过iptables把流量重定向到Kali上,内网主机再次访问web服务器就会失败。
针对浏览器的攻击——IE浏览器极光漏洞MS10-002
使用ms_10_002_aurora渗透模块,设置如下参数:
输入exploit -z
,等待主机上钩。让内网的主机再次访问www.dvssc.com
:
什么画面也没有!而此时Kali上的情况是这样的:
拼手速的时候到了,用户很可能会关闭浏览器,这样就导致我们的工作前功尽弃了。
必须立刻做进程迁移
这下可以安心了!不过还得见好就收,把网关服务器的iptables的配置改回来。
客户端渗透攻击——利用MS11-006构造恶意word文档
接下来我们使用windows/fileformat/ms11_006_createsizeddibsection模块进行客户端渗透攻击。
之所以选择这个模块,是因为内网的主机为windows xp SP3 English版本,而且都装有word。
配置参数如下:
不过有个问题,怎么把文件传给主机呀?,这次实验好像没法模拟,就当是发邮件过去的吧!
(骗用户打开恶意文档也是个技术活)
在Kali上监听Meterpreter的会话,然后打开xp主机上的恶意文档。
这个攻击触发的条件有点苛刻,需要以缩略图(thumbnails)的方式才能成功。
也就是说,用户没有用缩略图的方式打开的话,攻击就不会触发。
这样的客户端渗透攻击最好配合社会工程学,才能发挥最大功效。
0x4 擦屁股开溜——清理入侵痕迹
为了避免自己的行踪暴露,防止入侵行为被发现,我们在完成入侵后必须“擦屁股”。
直接使用Meterpreter的clearev命令就可以清楚事件管理器的日志。
只不过这属于后渗透模块的东西了,不在本次实验的关注点里。
以上是关于Exp 5 MSF基础应用的主要内容,如果未能解决你的问题,请参考以下文章