修补DoublePulsar支持攻击Windows Embedded系统 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

修补DoublePulsar支持攻击Windows Embedded系统

愣娃 技术 2018-06-30 09:29:56
275307
收藏

导语:MS17-010漏洞模块的作者可能忘记了对Windows Embedded操作系统的支持,本文将讲述如何修补DoublePulsar以支持攻击Windows Embedded系统。

在我的一次渗透测试中,我发现了一些受MS17-010漏洞影响的Windows设备。其中一个设备引起了我的注意,因为以前我从未遇到过Windows Embedded操作系统。

1.png

由于存在MS17-010漏洞,我尝试了相关的Metasploit模块。但是他们都无法工作,并返回一个错误,说明目标操作系统不支持。

2.png

即使是最新的MS17-010利用模块(exploit / windows / smb / ms17_010_psexec)也不起作用。

3.png

这比较奇怪。也许无国界医生的辅助模块是误报。或者,漏洞模块的作者可能忘记了对Windows Embedded操作系统的支持。

4.png

为了验证目标是否真的易受攻击,我决定使用MS17-010的原始漏洞利用框架Fuzzbunch。所以我启动了Fuzzbunch,然后使用了SMBTouch。结果表明,目标实际上是存在MS17-010漏洞。

5.png

然后我使用了EternalBlue模块,并且漏洞利用成功,后门成功安装在目标上。所以我猜想MSF漏洞模块的作者忘记添加对Windows Embedded系统的支持。

6.png

由于后门已经安装完毕,为了获得一个shell,需要做的最后一件事就是使用DoublePulsar注入dll。首先,我生成一个dll文件。

7.png

然后我使用DoublePulsar将生成的DLL注入到目标主机。但是,它的错误消息是失败[-] ERROR unrecognized OS string。我想是因为MSF模块不支持Windows Embedded版本。

8.png

在渗透测试结束之前还有几个小时,我决定深入挖掘DoublePulsar。首先,我尝试使用DoublePulsar时搜索了我收到的错误消息。这个字符串在上面的.text部分找到0x0040376C。

9.png

为了更好地理解DoublePulsar如何结束该错误消息,我决定使用IDA的图形视图来跟踪程序的流程。

11.png

从图形视图中可以看出,如果目标机器正在运行Windows 7,它将采用左侧路径,然后继续检测其架构是x86还是x64。如果目标不是Windows 7,它将采用正确的路径并执行其他操作系统检查。由于没有检查Windows Embedded,程序最终输出错误消息[-] ERROR unrecognized OS string。

22.png

通过进一步分析——Windows 7操作系统检查,我观察到我可以通过修改指令来“强制”程序走左边的路径。jz short loc_403641jnz short loc_403641

33.png

为此,我去了Edit> Patch program> Change byte。

44.png

然后我将值74(JZ的操作码)更改为75(JNZ的操作码)。

55.png

这是修改跳转指令后的样子。

66.png

然后我通过File> Produce file> Create DIF file ...创建了一个DIF文件。

77.png

然后使用@ stalkr_的脚本(https://stalkr.net/files/ida/idadif.py)来修补修改后的exe文件。

88.png

然后将修改后的Doublepulsar-1.3.1.exe移回原始位置。

99.png

使用修改的DoublePulsar,我能够将生成的DLL有效载荷注入到目标主机。

111.png

并获得了一个SYSTEM权限shell。

222.png

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务