惡意軟體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,指向託管惡意樣本的感染站點。我們在其中一個受感染的網站(義大利一個有關玩偶的博客)上發現了惡意軟體樣本http://marinellafashiondolls.com/_private/php3.exe。
技術
首先,此惡意軟體幾乎全部使用未公開功能的Windows Native API,這就導致防病毒軟體難以監控。一旦執行了php3.exe文件,它就會從原目錄中自刪除,並複製自身到如下路徑:「%APPDATA% Roaming Microsoft Brdgplua ddraxpps.exe」。
一旦完成此操作,惡意軟體就會開始其惡意行為。各個階段總結如下:
1、在掛起模式下使用CreateProcessA創建一個新的svchost.exe進程。
2、在掛起模式下使用OpenProcess創建explorer.exe進程的一個新線程,啟用PROCESS_CREATE_THREAD和PROCESS_SUSPEND_RESUME標誌。
3、在內存中開闢一個新段用來載入映射到svchost.exe進程的代碼。
此時這個段是空的,將在下一步中填充。
4、使用memcpy函數複製payload到上一步中的內存段。
5、使用Windows Native API函數NtMapViewOfSection將已填充的段映射到svchost.exe進程。
6、恢復svchost.exe線程以便在先前分配的段中執行操作。
7、Exit
至此我們對行為失去了控制,因為svchost.exe是系統進程,所以無法監視其內部行為。但我們可以看到:
l 惡意svchost.exe及其父進程ddraxpps.exe均終止。
l explorer.exe進程開始惡意行為,特別是它產生了與已感染網站的網路流量。
因此,我們很有把握地推斷,payload被注入到explorer.exe的線程中,而svchost.exe只是用來將惡意代碼轉移到explorer進程中的一個代理,以便使惡意軟體更加隱蔽地執行。事實上,svchost.exe很可能會執行與上面相同的操作來實現其目的。看起來,第一階段的過程挖空是用來提升許可權的,從用戶空間到系統空間; 第二階段是完全隱藏用戶的payload。
總而言之,在這個惡意軟體分析中,真正具有挑戰性的是不同尋常且有效的隱藏技術。事實上,許多複雜的惡意軟體確實採用了進程挖空來隱藏自己,但不是這個兩步走的版本。惡意軟體採用許可權提升和進程挖空,使得分析工作非常困難。
本文翻譯自:http://csecybsec.com/download/zlab/20180111_CSE_ProcessHollowing_Report.pdf ,如若轉載,請註明原文地址: http://www.4hou.com/info/news/9902.html 更多內容請關注「嘶吼專業版」——Pro4hou
推薦閱讀:
※Worthwhile BurpSuite Plugins
※黑客辭典:什麼是「網路殺傷鏈」?為什麼並非適用於所有的網路攻擊?
※SamSam勒索軟體重現江湖:醫院、市政府、ICS公司紛紛中招
※Android 應用有哪些常見,常被利用的安全漏洞?
TAG:信息安全 |