自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工具复现过程的更多相关文章

  1. ShadowBroker释放的NSA工具中Esteemaudit漏洞复现过程

    没有时间测试呢,朋友们都成功复现,放上网盘地址:https://github.com/x0rz/EQGRP 近日臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers在steemit. ...

  2. NSA Fuzzbunch分析与利用案例

    Shadow Brokers泄露出一份震惊世界的机密文档,其中包含了多个 Windows 远程漏洞利用工具.本文主要介绍了其中一款工具Fuzzbunch的分析与利用案例 1 整体目录介绍 解压EQGR ...

  3. Eclipse与Android源码中ProGuard工具的使用

    由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...

  4. OpenCV成长之路(3):模仿PhotoShop中魔术棒工具

    本文的主题实际上是图像的颜色空间的转换,借助一个颜色选取程序来说明OpenCV中颜色转换函数的用法以及一些注意事项. 一.几种常见的颜色空间: RGB颜色空间:RGB采用加法混色法,因为它是描述各种“ ...

  5. Redis数据导入工具优化过程总结

    Redis数据导入工具优化过程总结 背景 使用C++开发了一个Redis数据导入工具 从oracle中将所有表数据导入到redis中: 不是单纯的数据导入,每条oracle中的原有记录,需要经过业务逻 ...

  6. Struts2 REST 插件 XStream 远程代码执行漏洞 S2-052 复现过程

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  7. 有谁知道Delphi中"窗口"的创建过程?

      求助:有谁知道Delphi中窗口的创建过程,此“窗口”不仅仅指 TForm 类型, 还包括一般的窗口控件,如TButton,TEdit等等,希望有能够十分详细的运作 过程,比如说CreatPara ...

  8. 逆向中静态分析工具——IDA初学者笔记

    逆向中静态分析工具——IDA初学者笔记 //****************************************************************************** ...

  9. .NET领域驱动设计—初尝(一:疑问、模式、原则、工具、过程、框架、实践)

     .NET领域驱动设计—初尝(一:疑问.模式.原则.工具.过程.框架.实践) 2013-04-07 17:35:27 标签:.NET DDD 驱动设计 原创作品,允许转载,转载时请务必以超链接形式标明 ...

随机推荐

  1. 三剑客之awk

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  2. 品尝阿里云容器服务:5个2核4G节点使用情况记载

    使用5台2核4G非IO优化的ECS作为节点创建集群,节点操作系统是Ubuntu 16.04.2 LTS.创建后3个为mananger节点,2个为worker节点,每个节点默认会运行7个容器,其中3个s ...

  3. authentication plugin caching_sha2

    操作系统:windows 10 mysql版本:mysql  Ver 8.0.11 for Win64 on x86_64 (MySQL Community Server - GPL) 安装完mysq ...

  4. EM学习-思想和代码

    EM算法的简明实现 当然是教学用的简明实现了,这份实现是针对双硬币模型的. 双硬币模型 假设有两枚硬币A.B,以相同的概率随机选择一个硬币,进行如下的抛硬币实验:共做5次实验,每次实验独立的抛十次,结 ...

  5. bitmq集群高可用测试

    Rabbitmq集群高可用 RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡. Rabbit模式大概分为以下三种:单一模式.普通模 ...

  6. [dpdk] dpdk --lcores参数

    dpdk程序的命令行参数 --lcores可以设置lcore到CPU processer的多对多映射关系. 这样既可以提供CPU processor的伸缩扩展,同时也保证了EAL thread的运行环 ...

  7. Flink - allowedLateness

    WindowOperator processElement final Collection<W> elementWindows = windowAssigner.assignWindow ...

  8. MySQL 数据库登录查询

    1. 进入到bin目录:   键入cd..,一直到出现C:\ 为止   然后cd bin所在路径:   如: C:\cd C:\Program Files\MySQL\MySQL Server 5.7 ...

  9. c++ 如何获取多线程的返回值?(std::thread ,std::async)

    //简单的 c++11 线程,简单方便,成员函数随便调用,非成员函数也一样,如需要获取返回时,请自行使用条件变量 std::thread run([&](){ //执行一些耗时的操作 retu ...

  10. 【Python全栈-数据库】数据库基础

    数据库的简介 数据库 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩展性, ...