當前位置:
首頁 > 新聞 > 修補DoublePulsar支持攻擊Windows Embedded系統

修補DoublePulsar支持攻擊Windows Embedded系統

在我的一次滲透測試中,我發現了一些受MS17-010漏洞影響的Windows設備。其中一個設備引起了我的注意,因為以前我從未遇到過Windows Embedded操作系統。

由於存在MS17-010漏洞,我嘗試了相關的Metasploit模塊。但是他們都無法工作,並返回一個錯誤,說明目標操作系統不支持。

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

這比較奇怪。也許無國界醫生的輔助模塊是誤報。或者,漏洞模塊的作者可能忘記了對Windows Embedded操作系統的支持。

為了驗證目標是否真的易受攻擊,我決定使用MS17-010的原始漏洞利用框架Fuzzbunch。所以我啟動了Fuzzbunch,然後使用了SMBTouch。結果表明,目標實際上是存在MS17-010漏洞。

然後我使用了EternalBlue模塊,並且漏洞利用成功,後門成功安裝在目標上。所以我猜想MSF漏洞模塊的作者忘記添加對Windows Embedded系統的支持。

由於後門已經安裝完畢,為了獲得一個shell,需要做的最後一件事就是使用DoublePulsar注入dll。首先,我生成一個dll文件。

然後我使用DoublePulsar將生成的DLL注入到目標主機。但是,它的錯誤消息是失敗[-] ERROR unrecognized OS string。我想是因為MSF模塊不支持Windows Embedded版本。

在滲透測試結束之前還有幾個小時,我決定深入挖掘DoublePulsar。首先,我嘗試使用DoublePulsar時搜索了我收到的錯誤消息。這個字元串在上面的.text部分找到0x0040376C。

為了更好地理解DoublePulsar如何結束該錯誤消息,我決定使用IDA的圖形視圖來跟蹤程序的流程。

從圖形視圖中可以看出,如果目標機器正在運行Windows 7,它將採用左側路徑,然後繼續檢測其架構是x86還是x64。如果目標不是Windows 7,它將採用正確的路徑並執行其他操作系統檢查。由於沒有檢查Windows Embedded,程序最終輸出錯誤消息[-] ERROR unrecognized OS string。

通過進一步分析——Windows 7操作系統檢查,我觀察到我可以通過修改指令來「強制」程序走左邊的路徑。jz short loc_403641jnz short loc_403641

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

然後我將值74(JZ的操作碼)更改為75(JNZ的操作碼)。

這是修改跳轉指令後的樣子。

然後我通過File> Produce file> Create DIF file ...創建了一個DIF文件。

然後使用@ stalkr_的腳本(https://stalkr.net/files/ida/idadif.py)來修補修改後的exe文件。

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

使用修改的DoublePulsar,我能夠將生成的DLL有效載荷注入到目標主機。

並獲得了一個SYSTEM許可權shell。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

威脅獵手在現代安全環境中運作之道

TAG:嘶吼RoarTalk |