自Shadow Brokers公布NSA泄露工具后,各路大神陆陆续续发表复现过程,这几天也仔细试了各种套路,一直想弄明白DoublePulsar中的shellcode到底是如何用的,刚好又在模拟环境中偶遇Windows Server 2003,EternalRomance貌似只能用shellcode方式植入利用,于是各种试错以后有了这篇文章。
有何不妥处请各路大神指教!
前期准备
友情提示
Dander Spiritz使用中的一个坑。
如果想用Dander Spiritz生成回连dll,并控制会话,记得将日志文件夹指向你已经创建的工程文件夹(以test为例),日志文件夹最好放置在磁盘根目录下,否则容易报错。
错误示例:日志文件夹存放在工具目录中,并指向test工程文件夹:C:\NSA\logs\test
错误示例:运行Dander Spiritz报错,红框中为错误信息
正确姿势:日志文件夹存放在磁盘根目录中,并指向test工程文件夹:C:\logs\test
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:\NSA\tmp\test.dll,并在msfconsole中开启监听
Doublepulsar注入利用,利用方式与之前公开的方法一致,命令:use Doublepulsar,一路默认,注意在Function处选择 2) RunDLL,一直狂摁回车到结束即可成功利用
kali2中即可收到回连信息!
小结
说到底,Doublepulsar就是个后门,可安装也可卸载(Function中有卸载模块,NSA也贴心提供了检测脚本),安装后可加载dll与shellcode,漏洞利用之前先生成好方便后续操作。
fb.py不愧是拿firstblood的利器,整个工具与metasploit的搭建方式极其相似,模块化程度很高!Dander Spritz作为远控工具,做的十分细致,信息搜集能力很强,NSA指哪儿打哪儿能力可见一般!