當前位置:
首頁 > 新聞 > xHunt的後續追蹤報道:對xHunt後門工具的腳本進行分析

xHunt的後續追蹤報道:對xHunt後門工具的腳本進行分析

幾個月以來,Unit42一直在研究針對科威特組織的xHunt攻擊活動。最近,該組織又發現了新的證據,之前在xHunt活動中討論過的創建Sakabota工具的開發人員,曾在2018年7月和2018年8月對Sakabota進行了兩次測試活動,測試的目的就是為了逃避檢測。這些測試活動涉及了Sakabota的幾種變體,對代碼庫進行輕微更改,然後開發人員將向在線防病毒掃描服務提交每項更改,以確定檢測其工具的供應商。

在分析開發人員在這些測試活動中創建的Sakabota樣本時,研究人員發現了開發人員在工具中包含的腳本,研究人員懷疑這是為了幫助工具的攻擊者在受感染的系統和網路上進行活動。這是研究人員第一次看到惡意軟體開發人員包含示例命令的腳本,以幫助攻擊者在受感染的系統和網路上執行活動。研究人員認為,在工具中包含該腳本可能表明Sakabota工具的開發人員和攻擊者是不同的人。

該腳本包括持久性、網路偵察、數據透視、憑據轉儲、常規系統和網路數據收集所需的命令示例,以及數據滲透和配置系統以允許遠程桌面協議(RDP)會話的命令。這些命令可洞悉攻擊者在破壞系統後將使用的技術以及用於實現其目標的工具。這些命令還表明,攻擊者可能嚴重依賴RDP與受感染的主機進行交互,可能使用的是通過Plink工具在受感染的系統和攻擊者控制的域之間創建的安全shell(SSH)隧道。此外,命令示例還顯示了攻擊者試圖在滲透網路中移動以定位其他設備,從而使其對受感染組織的威脅更大。根據這些命令,攻擊者可能會通過從Windows註冊表和進程內存執行憑據轉儲而將這些樞紐轉移到其他系統。

一些命令示例包括一個域或IP地址,其中一個域與該域重疊, Firewallsupports.com作為其命令和控制系統(C2)的CASHY200有效載荷。該腳本還建議攻擊者將計劃任務用於持久性,其中包括一個計劃任務名稱,該名稱用於先前提到的CASHY200有效載荷中的持久性。

研究人員已經對Sakabota工具(特別是1.4版)進行了分析,包括附錄中的所有函數。

Sakabota的測試過程

在xHunt研究期間收集Sakabota樣本時,研究人員遇到了2018年7月至2018年8月之間被編譯的幾個樣本,這些樣本是開發人員在兩輪測試中創建的。第一輪測試於2018年7月21日至23日進行,第二輪測試於2018年8月6日至7日進行。

這兩輪測試都包括對後門軟體的迭代,開發人員對代碼庫本身進行了些微更改,或者使用了不同的混淆工具來查看這些更改如何影響Sakabota工具的檢測率。除了對代碼庫和混淆器進行更改之外,開發人員還修改了Sakabota工具中的嵌入式資源,以確定它們是否也引起了檢測。根據7月23日第一輪測試的最後一個樣本與8月6日第二輪測試的第一樣本之間的變化,研究人員認為這兩輪測試是一個連續的測試活動,中間隔了兩個星期。

第一輪測試從Sakabota的最早已知版本開始,尤其是1.4.0.0,并迭代成了1.5.0.0的新版本。第二輪測試從Sakabota 1.5.0.0開始,并迭代成了新版本1.6.0.0。在兩輪測試中,開發人員測試了幾種不同的加密器和混淆器,包括「Confuser,」 「ConfuserEx,」 「CodeVeil,」和兩個不同版本的 「.NET Reactor.」。最終,在第二輪測試中,開發人員確定: 「.NET Reactor.」版本之一(可能是4.8或4.9)導致了最低的檢測率,這促使開發人員在其餘測試活動中繼續使用此版本的 「.NET Reactor.」。

除了更改代碼庫和測試各種混淆器外,測試人員還對樣本中嵌入的資源進行了修改或刪除。對資源最有趣的更改發生在7月測試的第一個迭代中,開發人員將最初包含參與者腳本的文本文件中的『k』資源修改為只包含一個位元組順序標記(U FEFF)的空白文檔。

Sakabota的腳本分析

在研究人員分析了與Sakabota有關的測試活動時,發現Sakabota的已知最古老樣本(SHA256:5b5f6869d8e7e5746cc9bec58694e4e0049aef0dcac5dfd595322607ba10e1ae)具有一個名為「 k」的嵌入式資源。該資源包含的文本乍看之下似乎是該工具的使用說明,但是,進一步檢查後,這是使用Sakabota的攻擊者的腳本,幫助他們在訪問目標系統和網路後如何執行各種活動。這份腳本使研究人員對文本使用Sakabota所使用的工具和技術獲得了前所未有的洞察力,一旦他們訪問了受感染的系統。腳本還包括示例命令中的域和IP地址,這證實了研究人員的分析,即這些網路工具屬於此攻擊者的基礎結構。

要訪問該腳本,攻擊者可以在Sakabota的GUI中單擊Knoldege按鈕。圖1顯示了單擊Knoldege按鈕的Sakabota GUI,並且腳本以綠色文本顯示。

Sakabota的GUI顯示腳本

腳本根據示例命令的用途分為幾個部分,其中列出的命令為研究人員提供了深入的信息,讓他們深入了解攻擊者在破壞最終系統後可能會使用的一些工具和技術。腳本顯示了重要的批處理和PowerShell腳本以及使用RDP的首選項以及Windows本身未提供的以下工具(即thc-hydra,Plink,Mimikatz,Powercat,ProcDump,SharpHound / BloodHound和PowerSploit)。

對腳本中各個部分的詳細介紹

Hydra:Hydra提供了一個示例命令,說明如何運行thc-hydra工具以使用帶有用戶名和密碼組合的文本文件在單個IP地址上強制執行RDP登錄。

Pass The Hash:Pass The Hash提供了在使用Mimikatz的遠程系統上運行命令時傳遞哈希所需的兩個參數示例,這兩個示例中的命令均使用psexec工具在遠程系統上運行「cmd.exe」。

WMIC with Bat:WMIC with Bat提供了一個示例Windows管理界面命令(WMIC),其中帶有用於使用帶有提供的用戶名和密碼的「流程調用創建」來運行批處理腳本(「 c:\ temp \ a.bat」)的參數。

Plink:Plink提供示例命令行命令,以使用Plink(PuTTY鏈接)在遠程系統和本地系統之間創建SSH隧道,以允許攻擊者通過遠程桌面(RDP)遠程訪問受感染的系統。該命令指示Plink連接到遠程系統,在兩個示例中,它們是通過TCP埠25的 『pasta58[.]com』和 『176.9.235[.]101』 ,並使用" bor "用戶名和" 123321 "密碼對這些遠程系統進行身份驗證。示例命令使用「svphost」作為應用程序名稱,該名稱與Sakabota用於將Plink安裝到系統中的文件名(「svphost.exe」)相同。

LSASS Process:它提供了五個示例命令,這些命令使用ProcDump,Mimikatz和PowerSploit的Out-Minidump函數來轉儲 『lsass.exe』 進程內存。其中兩個命令專門將內容轉儲到位於「c:\ mydump.dmp」的文件中,而另一個命令將內存保存到名為「lsass.dmp」的文件中。

WDigest:WDigest提供命令行命令,以使用「reg」應用程序來查詢和修改WDigest註冊表項「UseLogonCredential」,該密鑰指示Windows是否以明文形式存儲憑據。建議將此密鑰設置為「0」,以緩解Mimikatz憑證轉儲,這可能就是為什麼腳本提供了「 reg」命令將此密鑰設置為「1」以啟用它的原因。

Powercat:Powercat為客戶端和伺服器提供示例命令,以使用powercat PowerShell工具創建遠程shell並傳輸文件。命令將連接到的遠程系統是TCP埠443上的『pasta58[.]com』和 『213.202.217[.]31』。另外,它還提供了一個示例PowerShell命令,可從 『hxxp://pasta58[.]com/pk.txt』 下載,然後將結果保存到『c:\users\public\pc.ps1』,然後再創建到 『pasta58[.]com』的遠程shell。

Ntds:Ntds提供示例命令,以使用「reg」應用程序和Mimikatz的 『lsadump::sam』命令來保存「安全帳戶管理器」(SAM)註冊表配置單元。腳本的這一部分還包括 『CMD5.org』的登錄憑據,研究人員認為文本可以用來破解從註冊錶轉儲文件中提取的哈希。

Taskch:taskch提供示例命令以刪除、創建和運行計劃的任務。示例中的計劃任務的名稱分別為 『WindowsUpdateTolkit』 和 『WindowsUpdateTolkit_1』 ,並且將運行『SystemRecoverytolkit.ps1』和『TempSystemRecovery.vbs』,除『WindowsUpdateTolkit_1』 外,所有其他任務均用於為xHunt相關攻擊中的CASHY200有效載荷創建持久性。

Download from CMD:提供PowerShell命令,以從 『hxxp://pasta58[.]com/r.t』 下載文件並保存到『c:\windows\temp\temp\run.bat』。

FTP Powershell:提供一個PowerShell命令,使用登錄用戶名 『admin』 和密碼『sak』 將文件 『C:\users\public\P.txt』 上傳到『ftp://pasta58[.]com/P.txt』 。

FTP From CMD:提供命令行命令,並使用echo命令創建名為 『ftpcmd.dat』 的文件,該文件包含使用 『administrator』 作為用戶名。

FireWall:提供了六個示例命令,可使用「netsh」應用程序從本地Windows防火牆添加,刪除和顯示規則。示例命令包括創建規則,以允許進入Plink應用程序的入站網路流量(保存到Plink部分中討論的svphost.exe),以及通過TCP埠22的入站流量。

RDP NLA:提供一個PowerShell命令,該命令禁用RDP的網路級別身份驗證(NLA)。該命令使用WMI調用「SetUserAuthenticationRequired」方法來禁用「Win32_TSGeneralSetting」中的「UserAuthenticationRequired」屬性。

RDP埠:使用「reg」應用程序提供示例命令,以查詢並向「hklm \ system \ currentControlSet \ Control \ Terminal Server」中的項添加值。腳本中的查詢將允許攻擊者查看RDP使用的埠號,以及是否啟用了「AllowTSConnections」設置以允許RDP會話。腳本還具有兩個「reg」命令,用於將值添加到註冊表項「AllowTSConnections」和「fDenyTSConnections」以啟用RDP會話。

儘管腳本沒有特定的標頭,但確實包含了示例命令,這些示例命令說明了如何使用PowerShell運行Sharphound,這是Bloodhound工具的C#變體。Bloodhound是一個開放源代碼工具,用於發現Active Directory環境中對象之間的關係。許多滲透測試成員使用Bloodhound來確定從受破壞網路上的受控資產到其目標的攻擊路徑。示例命令中的特定參數表示Bloodhound使用以下收集方法:

ACL :收集ACL(訪問控制列表)數據

ObjectProps:收集用戶和計算機的節點屬性信息

Default :收集組成員身份,本地管理員,會話和域信任

將這些命令包含在腳本中表明,文本也將利用Bloodhound,其原因與滲透測試成員使用的目的相同:當他們獲得網路訪問許可權時,專門繪製出攻擊路徑。這些攻擊路徑使對手可以確定他們應集中精力於哪些系統和帳戶,以最終獲得實現其目標所需的系統和帳戶。

另外,該腳本還包含了研究人員與威脅行為者的基礎架構相關聯的示例命令中涉及的以下域和IP地址:

pasta58[.]com176.9.235[.]101213.202.217[.]31

總結

在研究與xHunt活動相關的工具時,研究人員發現了與該攻擊活動相關的開發人員進行的測試活動。在此測試活動中,研究人員找到了Sakabota樣本,其中包含針對攻擊者的腳本。研究人員偶爾會看到惡意軟體開發人員在其工具中嵌入的使用說明,以幫助攻擊者了解如何使用該工具中的各種函數。

註:本文翻譯自:https://unit42.paloaltonetworks.com/xhunt-actors-cheat-sheet/

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

微軟披露加密劫持惡意軟體Dexphot,已感染近80000台設備
OpenBSD多個嚴重認證繞過漏洞