曲速未來 提醒:增加使用Delphi Packer來躲避惡意軟體分類
曲速未來 提醒:增加使用Delphi Packer來躲避惡意軟體分類
前言
區塊鏈安全諮詢公司 曲速未來 表示:「打包」或「加密」惡意程序的概念在希望繞過或破壞靜態和動態分析工具分析的威脅參與者中廣泛流行。逃避分類和檢測是一種軍備競賽,其中新技術在野外交易和使用。例如,觀察到許多加密服務由地下論壇提供,他們聲稱通過反病毒技術,沙箱和其他端點解決方案製作任何惡意軟體「FUD」或「完全無法檢測」。然後還看到了對正常用戶活動建模的更多努力,並將其作為指紋惡意軟體分析環境的有效對策。
Delphi Code to the Rescue
在檢查的樣本帶有Delphi簽名如下圖所示,與使用IDR(Interactive Delphi Reconstructor)分析時的Delphi代碼構造一致。
?
Delphi編程語言是編寫利用Windows API函數的應用程序和程序的簡便方法。事實上,一些演員故意將默認庫包含為妨礙靜態分析的轉移,並使應用程序在動態分析中「看起來合法」。如下圖顯示了一個討論這種技術的演員的論壇帖子。
?
分銷活動
可以觀察到許多具有不同主題的垃圾郵件活動會丟棄使用此打包程序打包的有效內容。
?
一個例子是平均快速傳輸垃圾郵件,它將文檔文件作為附件,它利用惡意宏來刪除有效負載。垃圾郵件如下圖所示。
?
另一個例子是平均報價主題垃圾郵件,它將漏洞利用文檔文件作為附件,利用公式編輯器漏洞來刪除有效負載(下圖所示)。
?
示例中的文檔從http://5.152.203.115/win32.exe獲取了一個有效負載。原來是Lokibot惡意軟體。
?
用戶活動檢查
封隔器竭盡全力確保它不在分析環境中運行。普通用戶活動涉及在一段時間內旋轉或更改的許多應用程序窗口。打包器的第一個變體使用GetForegroundWindow API在進一步執行之前檢查更改窗口的用戶活動至少三次。如果它沒有看到窗戶的變化,它會使自己陷入無限的睡眠。代碼如下圖所示。有趣的是,這種簡單的技術可以檢測到一些公開可用的沙箱。
?
為了確認用戶活動,打包器的第二個變體使用GetCursorPos和Sleep API檢查滑鼠遊標移動,而第三個變體使用GetLastInputInfo和GetTickCount API檢查系統空閑狀態。
?
從PE資源中提取實際有效負載
原始有效負載被拆分為多個二進位blob,並存儲在資源目錄內的各個位置,如下圖所示。
?
為了定位和組裝實際有效負載位元組,封裝器代碼首先直接從資源部分內的硬編碼資源ID讀取內容。它的前16個位元組形成一個XOR密鑰,用於使用滾動XOR解密其餘位元組。解密的位元組實際上表示內部數據結構,如下圖所示,由打包器用於引用各種資源ID的加密和混淆緩衝區。
?
然後,打包器從加密緩衝區讀取值,從dwStartResourceId開始到dwStartResourceId+dwNumberOfResources,並通過讀取dwChunkSize的塊將它們帶到一個位置。一旦準備好最終數據緩衝區,它就會開始使用前面提到的相同滾動XOR演算法和上述結構中的新密鑰對其進行解密,從而生成核心有效負載可執行文件。此腳本可用於靜態提取實際有效負載。
?
真實的分類
不但能夠從樣本集中提取的許多解壓縮的二進位文件被識別為屬於Lokibot惡意軟體系列。還能夠識別Pony,IRStealer,Nanocore,Netwire,Remcos和nJRAT惡意軟體系列,以及硬幣挖掘惡意軟體系列等。使用打包器的惡意軟體系列的分佈如下圖所示。惡意軟體系列的多樣性意味著許多威脅參與者正在使用這種「加密」服務工具進行操作,可能從開發人員本身購買。
?
結論
區塊鏈安全諮詢公司 曲速未來 觀點:打包者和加密器服務為威脅行為者提供了一種簡單方便的選擇,可以將儘可能長時間保持真實有效載荷的工作量外包出去並保持未分類。他們經常通過反分析技術找到繞過沙箱環境的好方法; 因此,在試圖模擬真實用戶行為的沙箱環境中引爆惡意軟體樣本是一種安全的選擇。
本文內容由 曲速未來 (http://WarpFuture.com) 安全諮詢公司整理編譯,轉載請註明。 曲速未來提供包括主鏈安全、交易所安全、交易所錢包安全、DAPP開發安全、智能合約開發安全等相關區塊鏈安全諮詢服務。
推薦閱讀: