標籤:

惡意軟體Ursnif的隱蔽進程注入技術分析

介紹

惡意軟體LockPos以其新穎且令人難以置信的先進和複雜逃避技術而聞名,傳播和影響了許多銷售點。其另一變種正在蔓延,採用了類似但不同的先進逃避技巧。它是舊版銀行木馬的一個新變種ursnif v3,從2017年11月開始傳播。此外由於這個新型惡意軟體的C&C伺服器oretola.at已被當局sinkhole,所以很難重現該惡意軟體的整個行為和真正目的。

然而,分析其隱形逃避技術非常有趣,許多當下的防病毒軟體都看不見它。實際上,其最後一步將自己隱藏為explorer.exe進程的一個線程,這使得分析非常困難。為達到目的,惡意軟體採用了基於Windows Native API的雙進程挖空技術,利用系統進程svchost.exe提升許可權,並在explorer.exe中注入惡意代碼。

隱藏在explorer.exe進程之後,它才開始惡意操作,包括通聯眾多託管加密payload的已感染網站。其惡意行為的最後一步是定期與C2C伺服器oretola.at通信,向其發送受害主機的信息。

該惡意軟體可能通過垃圾郵件傳播,郵件中包含一個URL,指向託管惡意樣本的感染站點。我們在其中一個受感染的網站(義大利一個有關玩偶的博客)上發現了惡意軟體樣本marinellafashiondolls.com

圖1:惡意軟體解析的部分域名

技術

首先,此惡意軟體幾乎全部使用未公開功能的Windows Native API,這就導致防病毒軟體難以監控。一旦執行了php3.exe文件,它就會從原目錄中自刪除,並複製自身到如下路徑:「%APPDATA% Roaming Microsoft Brdgplua ddraxpps.exe」。

一旦完成此操作,惡意軟體就會開始其惡意行為。各個階段總結如下:

1、在掛起模式下使用CreateProcessA創建一個新的svchost.exe進程。

圖2:創建svchost進程

圖3:CreateProcessA函數參數

2、在掛起模式下使用OpenProcess創建explorer.exe進程的一個新線程,啟用PROCESS_CREATE_THREAD和PROCESS_SUSPEND_RESUME標誌。

圖4: suspended模式下創建explorer.exe進程的一個新線程

3、在內存中開闢一個新段用來載入映射到svchost.exe進程的代碼。

圖5:創建新段

此時這個段是空的,將在下一步中填充。

4、使用memcpy函數複製payload到上一步中的內存段。

圖6:使用 memcpy 函數拷貝Payload到之前創建的段

5、使用Windows Native API函數NtMapViewOfSection將已填充的段映射到svchost.exe進程。

圖7:使用NtMapViewOfSection將已填充的段映射到 svchost.exe 進程

6、恢復svchost.exe線程以便在先前分配的段中執行操作。

圖8:恢復svchost.exe以便執行已載入到段中的payload

7、Exit

至此我們對行為失去了控制,因為svchost.exe是系統進程,所以無法監視其內部行為。但我們可以看到:

l 惡意svchost.exe及其父進程ddraxpps.exe均終止。

l explorer.exe進程開始惡意行為,特別是它產生了與已感染網站的網路流量。

圖9:explorer.exe進程產生的異常流量

因此,我們很有把握地推斷,payload被注入到explorer.exe的線程中,而svchost.exe只是用來將惡意代碼轉移到explorer進程中的一個代理,以便使惡意軟體更加隱蔽地執行。事實上,svchost.exe很可能會執行與上面相同的操作來實現其目的。看起來,第一階段的過程挖空是用來提升許可權的,從用戶空間到系統空間; 第二階段是完全隱藏用戶的payload。

總而言之,在這個惡意軟體分析中,真正具有挑戰性的是不同尋常且有效的隱藏技術。事實上,許多複雜的惡意軟體確實採用了進程挖空來隱藏自己,但不是這個兩步走的版本。惡意軟體採用許可權提升和進程挖空,使得分析工作非常困難。

圖10: 惡意軟體使用了雙進程挖空技術

本文翻譯自:csecybsec.com/download/ ,如若轉載,請註明原文地址: 4hou.com/info/news/9902 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

Worthwhile BurpSuite Plugins
黑客辭典:什麼是「網路殺傷鏈」?為什麼並非適用於所有的網路攻擊?
SamSam勒索軟體重現江湖:醫院、市政府、ICS公司紛紛中招
Android 應用有哪些常見,常被利用的安全漏洞?

TAG:信息安全 |