NSA Fuzzbunch中EternalRomance工具复现过程

自Shadow Brokers公布NSA泄露工具后,各路大神陆陆续续发表复现过程,这几天也仔细试了各种套路,一直想弄明白DoublePulsar中的shellcode到底是如何用的,刚好又在模拟环境中偶遇Windows Server 2003,EternalRomance貌似只能用shellcode方式植入利用,于是各种试错以后有了这篇文章。
有何不妥处请各路大神指教!
前期准备

友情提示
Dander Spiritz使用中的一个坑。
如果想用Dander Spiritz生成回连dll,并控制会话,记得将日志文件夹指向你已经创建的工程文件夹(以test为例),日志文件夹最好放置在磁盘根目录下,否则容易报错。
错误示例:日志文件夹存放在工具目录中,并指向test工程文件夹:C:NSAlogstest

错误示例:运行Dander Spiritz报错,红框中为错误信息

正确姿势:日志文件夹存放在磁盘根目录中,并指向test工程文件夹:C:logstest
Smbtouch判断可用漏洞
命令:use Smbtouch
命令:execute

执行后回显可用漏洞工具ETERNALROMANCE,ETERNALCHAMPION

Doublepulsar生成可用shellcode
看到此处客官一定觉得哪里不对了,依照之前的惯例不是该立马上EternalRomance对靶机啪啪啪了吗?
笔者先开始试错的时候也是这么做的,结果运行到一半,提示需要载入shellcode,于是吭呲吭呲的去kali2用msfvenom生成了个shellcode,结果直接把靶机整蓝屏了,这才注意到载入shellcode的时候提示“DOPU (ensure correct architecture) ONLY! Other shellcode will likely BSOD.”,必须使用DOPU的shellcode,不然BSOD蓝屏等着你。好吧,DOPU是个什么鬼?是不是很像Do(uble)pu(lsar)!答对了,就是这个鬼。
接上一步直接载入Doublepulsar,命令:use Doublepulsar

由于Smbtouch后自动载入了相关参数,一路回车到此处,又是熟悉的地方,注意选择 *0) OutputInstall,此项功能可生成shellcode

生成文件保存在任意可写入的位置,注意是你目前权限可写入的位置,文件名为shellcode.bin(可命名为任意文件)

Doublepulsar成功执行并生成shellcode文件

EternalRomance
EternalRomance植入Doublepulsar后门,发飙的时候到了
命令:use Eternalromance

一路默认,Pipe[] 和Share[] 为可选项,直接回车跳过,Credentials选Anonymous

一路回车来到shellcode载入的位置,就是前文所述蓝屏提示处,输入先前生成的地址,windows环境下反斜杠请写两次

狂摁回车,成功执行

然后呢?什么都没发生?其实已经成功的植入Doublepulsar后门了,可以利用Doublepulsar干坏坏的事了
传统姿势
传统姿势,生成dll后门,Doublepulsar注入,回连木马。
生成回连payload—>test.dll,拷贝到攻击机C:NSAtmptest.dll,并在msfconsole中开启监听

Doublepulsar注入利用,利用方式与之前公开的方法一致,命令:use Doublepulsar,一路默认,注意在Function处选择 2) RunDLL,一直狂摁回车到结束即可成功利用

kali2中即可收到回连信息!

小结
说到底,Doublepulsar就是个后门,可安装也可卸载(Function中有卸载模块,NSA也贴心提供了检测脚本),安装后可加载dll与shellcode,漏洞利用之前先生成好方便后续操作。
fb.py不愧是拿firstblood的利器,整个工具与metasploit的搭建方式极其相似,模块化程度很高!Dander Spritz作为远控工具,做的十分细致,信息搜集能力很强,NSA指哪儿打哪儿能力可见一般!
* 本文作者:feshi7007,转载请注明来自FreeBuf.COM
NSA Fuzzbunch中EternalRomance工具复现过程的更多相关文章
- ShadowBroker释放的NSA工具中Esteemaudit漏洞复现过程
没有时间测试呢,朋友们都成功复现,放上网盘地址:https://github.com/x0rz/EQGRP 近日臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers在steemit. ...
- NSA Fuzzbunch分析与利用案例
Shadow Brokers泄露出一份震惊世界的机密文档,其中包含了多个 Windows 远程漏洞利用工具.本文主要介绍了其中一款工具Fuzzbunch的分析与利用案例 1 整体目录介绍 解压EQGR ...
- Eclipse与Android源码中ProGuard工具的使用
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...
- OpenCV成长之路(3):模仿PhotoShop中魔术棒工具
本文的主题实际上是图像的颜色空间的转换,借助一个颜色选取程序来说明OpenCV中颜色转换函数的用法以及一些注意事项. 一.几种常见的颜色空间: RGB颜色空间:RGB采用加法混色法,因为它是描述各种“ ...
- Redis数据导入工具优化过程总结
Redis数据导入工具优化过程总结 背景 使用C++开发了一个Redis数据导入工具 从oracle中将所有表数据导入到redis中: 不是单纯的数据导入,每条oracle中的原有记录,需要经过业务逻 ...
- Struts2 REST 插件 XStream 远程代码执行漏洞 S2-052 复现过程
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 有谁知道Delphi中"窗口"的创建过程?
求助:有谁知道Delphi中窗口的创建过程,此“窗口”不仅仅指 TForm 类型, 还包括一般的窗口控件,如TButton,TEdit等等,希望有能够十分详细的运作 过程,比如说CreatPara ...
- 逆向中静态分析工具——IDA初学者笔记
逆向中静态分析工具——IDA初学者笔记 //****************************************************************************** ...
- .NET领域驱动设计—初尝(一:疑问、模式、原则、工具、过程、框架、实践)
.NET领域驱动设计—初尝(一:疑问.模式.原则.工具.过程.框架.实践) 2013-04-07 17:35:27 标签:.NET DDD 驱动设计 原创作品,允许转载,转载时请务必以超链接形式标明 ...
随机推荐
- ztree 文件夹类型的 树状图
未套程序的源代码: 链接:http://pan.baidu.com/s/1nuHbxhf 密码:4aw2 已套程序的源代码: css样式: /*发布邮件 选择领导弹窗*/ .xuandao{ disp ...
- IAR 跳转路径错误
拷贝的代码 右键跳转的时候提示路径错误,是因为别人编译的中间文件 .ojb文件在你的电脑上不一样,拷贝代码后第一件事就是清楚obj中间连接文件,然后重新在你的电脑上编译.
- ubuntu系统中java -version所显示的版本与/etc/profile中配置的$JAVA_HOME的关系
问题产生 ubuntu 18.04环境下,执行 java -version 发现与/etc/profile中的$JAVA_HOME所设置的java版本不同. 推测原因 最近用apt install 安 ...
- hung_task_timeout_secs和blocked for more than 120 seconds的解决方法
Linux系统出现hung_task_timeout_secs和blocked for more than 120 seconds的解决方法 Linux系统出现系统没有响应. 在/var/log/me ...
- wpf(dispather调度者)
一.首先为什么要有dispather? wpf程序是有一个主线程多个子线程组成的.主线程负责创建ui界面,数据接收,处理事件,子线程负责处理消耗资源较多耗时的操作.然而子线程不能直接访问主线程那么这个 ...
- AutoMapper介绍(未完待续、部分没实现)
实体间转换工具.其实也可以用Json来实现同名属性.异名属性(用JsonProperty指明)的自动转换 最新版本6.11 需要使用vs2013以上.vs2012下载新版 nuget会遇到问题.只能旧 ...
- TableView刷新跳动问题
https://juejin.im/post/5aca1a04f265da2391486533 解决办法: 将估算高度设置为0即可: tableView.estimatedRowHeight = 0; ...
- el表达式获取对象属性值 返回值类型
实现 数字页码时 遇到的一个问题. 后端servlet 在request.setAttribute("page",page); page 为pagebean的实例对象,pagebe ...
- java 集合(三)List接口
package cn.sasa.demo1; import java.util.ArrayList; import java.util.LinkedList; import java.util.Lis ...
- JavaScript学习笔记--语法二
条件判断与C语言一样 两种循环.for 循环和 while 循环,JavaScript不区分整数和浮点数,统一用Number表示,所以不是 int i var x = 0; var i; for (i ...