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进行目录扫描,结果非常杂乱:

技术分享图片

我们可以看到 PHPwordpress这些字眼。

该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基础应用的主要内容,如果未能解决你的问题,请参考以下文章

Exp 5 MSF基础应用 20154315 李惠航

20154332_Exp5_MSF基础应用

20154312 曾林 Exp5_MSF基础应用

Exp5 MSF基础应用

Exp5 MSF基础应用

《网络对抗》Exp5 MSF基础应用