2017年4月14日,Shadow Brokers 再次公开了大量从 NSA 的方程式组织(Equation Group)处窃取的攻击工具,这些工具主要针对 Windows 系统的漏洞,其中还有几个 0 day。工具中的 fuzzbunch 是一个类似于 metasploit 的漏洞利用框架,fb.py 是 fuzzbunch 的入口文件,通过该文件可以调用各攻击模块。
泄露的工具可在 Github 下载:https://github.com/misterch0c/shadowbroker
0x01 影响范围
下图中列举了工具中相关模块所影响的服务和系统。
0x02 漏洞测试
下面使用工具中的 fuzzbunch 框架、Eternalblue 和 Doublepulsar 测试 Windows 下的 SMB 漏洞。首先通过 Eternalblue 利用 MS17-010 漏洞攻击 Windows 系统;然后在 Kali Linux 中用 Metasploit 生成一个能建立反向连接的 DLL,并在 Kali 中监听相应端口;最后使用 Doublepulsar 远程注入恶意 DLL 到目标系统,注入成功后 Kali 将与目标系统建立连接。
1. 测试环境
PC | IP | 用途 | 备注 |
---|---|---|---|
Win 7 x64 | 192.168.109.1 | 攻击机 | 需安装 python2.6 和 pywin32 |
Win 7 x86 | 192.168.109.132 | 靶机 | 开启 SMB 服务(445端口) |
Kali Linux | 192.168.109.128 | 控制端 | 生成payload 并控制回连会话 |
首先需要把工具中的 windows 拷贝到攻击机 Win 7 x64中,然后在 windows 目录下新建一个 listeningposts 文件夹。
2. 测试流程
1)运行 fuzzbunch 框架
在 cmd 中进入 windows 目录,运行 python fb.py
。输入目标系统 IP(Win 7 x86)和攻击机 IP(Win 7 x64),输入“no” 不重定向,接着输入项目名新建一个项目。
2)调用 Eternalblue 攻击系统
运行use Eternalblue
,然后大多数步骤只需按回车使用默认参数即可。
下面需要选择 1)FB
模式。
接着继续回车,直到成功运行攻击模块。
3)Metasploit 生成恶意 DLL
在 Kali Linux 下使用 Metasploit 生成恶意 DLL,它将在目标系统中建立一个反向连接。这里生成的 DLL必须要与目标系统版本一致,下面生成 32 bit 的 DLL。
之后需要将生成的 test.dll 拷贝到攻击机的 D:\下。
4)开启 msf 监听
在 Kali Linux 下,运行 msf,监听 6666 端口。
5)调用 Doublepulsar 注入 DLL
回到攻击机中,执行 use Doublepulsar
,回车使用默认参数直到选择 Function 为2 注入 DLL,然后指定 DLL 的路径。
注入成功后将返回如下信息。
但是这里也会出现个问题,多次注入之后目标系统会出错重启。
6)建立连接
DLL 注入到目标系统之后,Kali Linux 将与目标系统建立连接。
0x03 防御措施
- 尽快升级系统补丁
- 开启防火墙,并限制 445 端口
通过以下命令添加防火墙规则:1netsh advfirewall firewall add rule name="445" protocol=TCP dir=in localport=445 action=block
References:
[1] NSA工具包之0day Eternalblue 复现笔记
[2] HOW TO EXPLOIT ETERNALBLUE & DOUBLEPULSAR TO GET AN
EMPIRE/METERPRETER SESSION ON WINDOWS 7/2008
[3] NSA Fuzzbunch分析与利用案例