增加使用Delphi Packer來躲避惡意軟件分類區(qū)塊鏈

                  曲速未來安全區(qū) 2018-09-27 23:02
                  分享到:
                  導(dǎo)讀

                  “打包”或“加密”惡意程序的概念在希望繞過或破壞靜態(tài)和動態(tài)分析工具分析的威脅參與者中廣泛流行。逃避分類和檢測是一種軍備競賽,其中新技術(shù)在野外交易和使用。

                  前言

                  “打包”或“加密”惡意程序的概念在希望繞過或破壞靜態(tài)和動態(tài)分析工具分析的威脅參與者中廣泛流行。逃避分類和檢測是一種軍備競賽,其中新技術(shù)在野外交易和使用。例如,觀察到許多加密服務(wù)由地下論壇提供,他們聲稱通過反病毒技術(shù),沙箱和其他端點(diǎn)解決方案制作任何惡意軟件“FUD”或“完全無法檢測”。然后還看到了對正常用戶活動建模的更多努力,并將其作為指紋惡意軟件分析環(huán)境的有效對策。

                  Delphi Code to the Rescue

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

                  圖1:樣本中的Delphi簽名

                  Delphi編程語言是編寫利用Windows API函數(shù)的應(yīng)用程序和程序的簡便方法。事實(shí)上,一些演員故意將默認(rèn)庫包含為妨礙靜態(tài)分析的轉(zhuǎn)移,并使應(yīng)用程序在動態(tài)分析中“看起來合法”。如下圖顯示了一個討論這種技術(shù)的演員的論壇帖子。

                  圖2:演員討論技術(shù)的地下論壇帖子

                  分銷活動

                  可以觀察到許多具有不同主題的垃圾郵件活動會丟棄使用此打包程序打包的有效內(nèi)容。

                  一個例子是平均快速傳輸垃圾郵件,它將文檔文件作為附件,它利用惡意宏來刪除有效負(fù)載。垃圾郵件如下圖所示。

                  圖3:垃圾郵件示例1

                  另一個例子是平均報價主題垃圾郵件,它將漏洞利用文檔文件作為附件,利用公式編輯器漏洞來刪除有效負(fù)載(下圖所示)。

                  圖4:垃圾郵件示例2

                  示例中的文檔從http://5.152.203.115/win32.exe獲取了一個有效負(fù)載。原來是Lokibot惡意軟件。

                  用戶活動檢查

                  封隔器竭盡全力確保它不在分析環(huán)境中運(yùn)行。普通用戶活動涉及在一段時間內(nèi)旋轉(zhuǎn)或更改的許多應(yīng)用程序窗口。打包器的第一個變體使用GetForegroundWindow API在進(jìn)一步執(zhí)行之前檢查更改窗口的用戶活動至少三次。如果它沒有看到窗戶的變化,它會使自己陷入無限的睡眠。代碼如下圖所示。有趣的是,這種簡單的技術(shù)可以檢測到一些公開可用的沙箱。

                  圖5:窗口更改檢查

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

                  從PE資源中提取實(shí)際有效負(fù)載

                  原始有效負(fù)載被拆分為多個二進(jìn)制blob,并存儲在資源目錄內(nèi)的各個位置,如下圖所示。

                  圖6:具有加密內(nèi)容的位圖資源

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

                  圖7:顯示加密文件信息的結(jié)構(gòu)

                  然后,打包器從加密緩沖區(qū)讀取值,從dwStartResourceId開始到dwStartResourceId dwNumberOfResources,并通過讀取dwChunkSize的塊將它們帶到一個位置。一旦準(zhǔn)備好最終數(shù)據(jù)緩沖區(qū),它就會開始使用前面提到的相同滾動XOR算法和上述結(jié)構(gòu)中的新密鑰對其進(jìn)行解密,從而生成核心有效負(fù)載可執(zhí)行文件。此腳本可用于靜態(tài)提取實(shí)際有效負(fù)載。

                  真實(shí)的分類

                  不但能夠從樣本集中提取的許多解壓縮的二進(jìn)制文件被識別為屬于Lokibot惡意軟件系列。還能夠識別Pony,IRStealer,Nanocore,Netwire,Remcos和nJRAT惡意軟件系列,以及硬幣挖掘惡意軟件系列等。使用打包器的惡意軟件系列的分布如下圖所示。惡意軟件系列的多樣性意味著許多威脅參與者正在使用這種“加密”服務(wù)工具進(jìn)行操作,可能從開發(fā)人員本身購買。

                  圖8:使用packer分發(fā)惡意軟件系列

                  結(jié)論

                  打包者和加密器服務(wù)為威脅行為者提供了一種簡單方便的選擇,可以將盡可能長時間保持真實(shí)有效載荷的工作量外包出去并保持未分類。他們經(jīng)常通過反分析技術(shù)找到繞過沙箱環(huán)境的好方法; 因此,在試圖模擬真實(shí)用戶行為的沙箱環(huán)境中引爆惡意軟件樣本是一種安全的選擇。

                  使用 有效 惡意軟件 下圖 打包
                  分享到:

                  1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
                  2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
                  3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。