压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

幫助眾多惡意軟件逃避檢測:針對一款Delphi加殼器的分析

概述

為了繞過靜態(tài)或動態(tài)分析工具,惡意軟件往往會使用加殼或加密的方法,這樣的方法已經(jīng)被惡意軟件開發(fā)者廣泛使用。然而目前,惡意軟件使用多種新型技術(shù),不斷嘗試逃避分類和檢測,而反病毒產(chǎn)品則不斷擴(kuò)充自己的樣本庫,二者間實(shí)際上已經(jīng)在進(jìn)行著一場“軍備競賽”。例如,我們發(fā)現(xiàn)在地下論壇提供了許多加密服務(wù),他們聲稱所制作的惡意軟件,完全無法被反病毒產(chǎn)品、沙箱或其他終端解決方案檢測到。與此同時(shí),我們還看到安全產(chǎn)品在對正常的用戶行為數(shù)據(jù)進(jìn)行建模,并嘗試著將其作為識別惡意軟件特征的一種有效方案。

Delphi加殼

我們所分析的樣本,帶有Delphi的簽名(如下圖所示),與使用IDR(Interactive Delphi Reconstructor)分析時(shí)的Delphi代碼構(gòu)造一致。

借助Delphi編程語言,我們能夠輕松編寫使用Windows API函數(shù)的應(yīng)用程序或項(xiàng)目。實(shí)際上,一些惡意軟件編寫者使用默認(rèn)庫進(jìn)行偽裝,試圖妨礙靜態(tài)分析的轉(zhuǎn)移過程,并試圖使應(yīng)用程序在動態(tài)分析中“看起來合法”。下圖就是在某論壇中討論這種技術(shù)的一篇帖子。

惡意軟件的分發(fā)

我們觀察到,目前存在具有多個(gè)不同主題的惡意郵件,會分發(fā)使用這一加殼器進(jìn)行加殼的Payload。

其中的一個(gè)典型例子是電匯惡意郵件,郵件中會包含一個(gè)文檔文件作為其附件(哈希值:71cd5df89e3936bb39790010d6d52a2d)。在該文檔中,包含一個(gè)惡意宏,也就是其Payload。惡意郵件的內(nèi)容如下圖所示。

另一個(gè)比較典型的例子,是詢問報(bào)價(jià)主題的惡意郵件,它以一個(gè)包含漏洞利用的文檔作為附件(哈希值:0543e266012d9a3e33a9688a95fce358),該文檔利用公式編輯器存在的漏洞來投放Payload(如下圖所示)。

這一示例中的文檔,會從http[://]5[.]152.203.115/win32[.]exe的位置獲取Payload。經(jīng)過分析,其Payload實(shí)際上是Lokibot惡意軟件。

對用戶活動進(jìn)行檢查

加殼器需要盡量確保它不是在分析環(huán)境中運(yùn)行。一般來說,計(jì)算機(jī)用戶在一段時(shí)間內(nèi)就會更改一些應(yīng)用程序的窗口大小(包括移動位置、縮放等)。因此,該加殼器的第一個(gè)變種會首先調(diào)用GetForegroundWindow API檢查是否用戶已經(jīng)更改窗口大小3次以上,如果沒有,則不會執(zhí)行任何功能。這一部分的代碼如下圖所示。有趣的是,通過這樣簡單的技術(shù),其實(shí)就可以防范一部分常用的沙箱。

為了確認(rèn)用戶的活動,加殼器的第二個(gè)變體使用GetCursorPos和Sleep API檢查鼠標(biāo)光標(biāo)移動,而第三個(gè)變體使用GetLastInputInfo和GetTickCount API檢查系統(tǒng)空閑狀態(tài)。

從PE資源中提取實(shí)際Payload

原始Payload被拆分成多個(gè)二進(jìn)制Blob,并存儲在資源目錄的各個(gè)位置,如下圖所示。

為了定位并組裝實(shí)際Payload的字節(jié),加殼器代碼首先直接從資源段內(nèi)的硬編碼資源ID讀取內(nèi)容。它的前16個(gè)字節(jié)形成一個(gè)XOR密鑰,用于使用滾動XOR(Rolling XOR)解密其余字節(jié)。解密的字節(jié)實(shí)際上表示內(nèi)部數(shù)據(jù)結(jié)構(gòu),如下圖所示。加殼器使用它,來引用各種資源ID的加密和混淆緩沖區(qū)。

然后,加殼器從加密緩沖區(qū)中讀取值,從dwStartResourceId開始,直到dwStartResourceId+dwNumberOfResources,同時(shí)通過讀取dwChunkSize塊中的內(nèi)容,將其存儲到一個(gè)特定的位置。當(dāng)最終的數(shù)據(jù)緩沖區(qū)準(zhǔn)備完成后,會使用前面提到的滾動XOR算法,以及上述結(jié)構(gòu)中新的密鑰,對其進(jìn)行解密,從而生成核心Payload可執(zhí)行文件。這個(gè)腳本可用于靜態(tài)提取實(shí)際的Payload。

惡意軟件真實(shí)的家族分類

我們對樣本中的二進(jìn)制文件進(jìn)行提取并去殼,最終它們都被識別為Lokibot惡意軟件家族。此外,我們還發(fā)現(xiàn)了Pony、IRStealer、Nanocore、Netwire、Remcos和nJRAT惡意軟件系列,以及一些加密貨幣挖掘惡意軟件。使用該加殼器的惡意軟件家族分布如下圖所示。由于惡意軟件的種類比較多樣,所以也就意味著有很多惡意軟件開發(fā)人員都在使用這種“加密服務(wù)”或“加密工具”,以試圖逃避反病毒機(jī)制的檢測。

結(jié)論

這些加殼和加密服務(wù),無疑是為惡意軟件開發(fā)人員提供了一種簡單方便的選擇。他們可以將保護(hù)真正Payload的這部分工作外包出去,并且獲得非常有效的結(jié)果。我們所分析的加殼器采用了反分析技術(shù),從而嘗試?yán)@過沙箱。針對于此,如果研究人員能在模擬真實(shí)用戶行為的沙箱環(huán)境中對惡意軟件進(jìn)行分析,那么無疑這樣的機(jī)制就會變得不再有效。

IoC

853bed3ad5cc4b1471e959bfd0ea7c7c
e3c421d404c08809dd8ee3365552e305
14e5326c5da90cd6619b7fe1bc4a97e1
dc999a1a2c5e796e450c0a6a61950e3f
3ad781934e67a8b84739866b0b55544b
b4f5e691b264103b9c4fb04fa3429f1e

上一篇:以太坊合約審計(jì) CheckList 之“以太坊智能合約編碼設(shè)計(jì)問題”影響分析報(bào)告

下一篇:亞信安全中標(biāo)北方網(wǎng)“津云”項(xiàng)目 護(hù)航“云+網(wǎng)”全媒體平臺

站长统计