DangerousSavanna:為期兩年的針對非洲法語區的金融機構的攻擊
最近的研究表明,中非和西非超過 85% 的金融機構多次遭受包括盜取信息、盜竊用戶身份、轉賬欺詐和用虛假支票取款等多重網絡攻擊。
本文會介紹研究人員發現的一個名為 DangerousSavanna(危險草原)的惡意活動,該活動在過去兩年中一直針對非洲法語區的多個主要金融服務機構。該活動背后的攻擊者使用魚叉式網絡釣魚作為初始感染手段,向至少五個不同法語國家的金融機構員工發送帶有惡意附件的電子郵件:科特迪瓦、摩洛哥、喀麥隆、塞內加爾和多哥。在過去的幾個月里,該活動主要集中在科特迪瓦。根據受害者的特征、策略、技術和程序 (TTP) ,研究人員認為 DangerousSavanna 背后的動機可能出于經濟上的考慮。
DangerousSavanna 傾向于在受感染的環境中安裝相對簡單的軟件工具。這些工具都是自行編寫的,并且基于 Metasploit、PoshC2、DWservice 和 AsyncRAT 等開源項目。攻擊者的創造力在初始感染階段就展現出來,他們不斷地監控目標公司的員工,不斷改變利用各種惡意文件類型的感染鏈,從自寫的可執行加載程序和惡意文檔,到各種組合的 ISO、LNK、JAR 和 VBE 文件。攻擊者不斷演變的感染鏈反映了過去幾年我們所看到的威脅格局的變化,因為感染載體變得越來越復雜和多樣化。

攻擊目標均位于講法語的非洲國家
感染鏈
感染始于用法語編寫的魚叉式網絡釣魚電子郵件,通常發送給目標公司的幾名員工,這些公司都是非洲法語區的中大型金融機構。在活動的早期階段,網絡釣魚電子郵件是使用 Gmail 和 Hotmail 服務發送的。為了提高可信度,攻擊者開始使用相似域名,冒充非洲的其他金融機構,如突尼斯外國銀行、南非萊利銀行等。去年,攻擊者還使用了當地一家保險咨詢公司偽造的電子郵件地址,該公司的域名沒有SPF記錄。

一個網絡釣魚電子郵件示例其中攻擊者使用了受害企業現有員工的姓名
網絡釣魚電子郵件附件的類型以及隨后的感染鏈也在整個活動時間范圍內發生了變化,從 2020 年偽裝成 PDF 的自行編寫的可執行加載程序到 2022 年的各種文件類型。DangerousSavanna 迅速加入了惡意攻擊的趨勢。在 Microsoft 決定默認阻止從 Internet 獲取的宏之后,攻擊者從“經典”啟用宏的文檔轉向嘗試其他文件類型。

DangerousSavanna 感染鏈、基礎設施和有效負載的變化情況
惡意文件
自 2021 年以來,攻擊者就開始將惡意文檔附加到其網絡釣魚電子郵件中。這些文檔要么是帶有宏的 Word 文檔,要么是帶有遠程模板(在某些情況下是幾層外部模板)的文檔,或者是誘使受害者下載然后手動執行下一階段的 PDF 文檔。所有這些文檔,無論是 MS Office 還是 PDF,都是用法語編寫的,并且共享類似的元數據,例如用戶名 digger、hooper davis 和 HooperDEV。

活動中使用的誘餌文件概覽
基本流程使用帶有宏的 Word 文檔,在 Startup 文件夾中放置一個 LNK 文件。執行 LNK 文件時,它會從服務器下載并執行 PowerShell 命令,這些命令會繞過 AMSI 并最終安裝 PoshC2 植入程序。

帶有宏感染流的網絡釣魚文檔
宏包含許多未使用的代碼,使其分析復雜化。主要功能的代碼很簡單,只包含反向字符串混淆和插入符號混淆來創建用于檢索 PoshC2 植入的 LNK 文件:

在此活動中,我們觀察到此流程的多種變化:
1.在某些情況下,類似的宏會將 LNK 文件放到桌面而不是啟動文件夾,LNK 文件通常稱為 IMPORTANT_2022.lnk,需要用戶執行操作才能運行。桌面和啟動 LNK 方法都依賴于受感染設備上的額外操作,因此可以避免在沙盒環境中自動執行可疑的 PowerShell。
2.初始附件可能是下載執行類似宏的外部模板的 DOCX 文檔。在某些情況下,我們已經看到在傳播帶有實際宏的最終文檔之前檢索了一系列遠程模板。
3.一些早期版本的宏直接運行 PoshC2 PowerShell 釋放器并跳過帶有 LNK 文件的步驟。
4.包含宏的文檔通常以容器文件的形式提供,例如 ZIP 和 ISO 文件。
此外,攻擊者積極使用PDF文件引誘用戶下載并手動執行下一階段。這些VBE或JAR文件執行非常類似的操作,直接加載 PoshC2 植入程序或釋放LNK 文件以加載 PoshC2。
PoshC2
最近,攻擊者主要依靠 PoshC2 植入程序來控制受感染的設備。通常,在初始感染啟動 PowerShell 以從名為 paste.c-net.org 的類似 Pastebin 的服務或專用 C&C 服務器下載代碼后,它會使用 PowerShell PoshC2 植入程序進行回應,通常包含三個字節編碼塊(所有標準來自 PoshC2 的模塊)。執行的前兩個 PowerShell 代碼塊包含兩種非常相似的 AMSI 繞過技術:

第三個塊包含一個后門,負責與 C&C 服務器進行通信。它使用一個名為 SessionID 的 cookie 循環向服務器發送請求,該 cookie 帶有一個 base64 編碼的 AES 加密字符串,其中包含有關受害者的信息:
"$env:userdomain;$u;$env:computername;$env:PROCESSOR_ARCHITECTURE;$pid;$procname;1"
該腳本預計 C&C 的響應也是 PowerShell 腳本,因為它將結果傳遞給 Invoke-Expression cmdlet。
AsyncRAT
早在 2021 年 10 月,研究人員就觀察到一個案例,該活動的惡意文檔訪問了 paste.c-net.org,但取而代之的是檢索了一個在內存中加載 AsyncRAT 程序集的 PowerShell 腳本。然而,這個 AsyncRAT 構建完全沒有混淆,實際上包含一個帶有 CN “AsyncRAT Server”的服務器證書,表明攻擊者幾乎沒有考慮對開源工具進行任何迭代。

GitHub 上的 AsyncRAT 源代碼與反編譯的 AsyncRAT(右側)
舊文檔版本
最早版本的文檔日期為 2021 年上半年,具有不同的宏,這些宏的混淆程度明顯更高,并且包含超過 1MB 的垃圾代碼。

2021 年 5 月文檔 (md5:a09b19b6975e090fb4eda6ced1847b1) 的 1.7MB 宏的 Vba2graph 可視化的一部分,唯一的功能流程從 Document_Open 開始。
其中一個名為 Nouvelles_Dispositions_Sanitaires.doc (New Sanitary Provisions.doc) 的文檔使用宏從 4sync.com 下載 PowerShell 腳本,在不同設備之間的云存儲同步文件,然后從https://3.8.126[.]182/minom.txt加載并在內存中執行一個程序集。在2021年5月的一篇InQuest博客文章中,有一份非常類似的文件詳細地描述了該文件,它也使用4sync安裝了一個名為Billang的自定義后門。它是一個具有以下 PDB 路徑的 .NET 可執行文件:C:\Users\wallstreet\source\repos\Billang\Billang\obj\Release\Billang.pdb。它收集有關它運行的設備的一些信息,將其發送到遠程服務器,并檢索另一個名為 liko 的 .NET 可執行文件或者,基于 PDB 路徑的WindowsFormsApp3。除其他功能外,該程序將字節反轉的 Meterpreter HTTPS shellcode 注入 mspaint.exe 進程。這個二進制文件的另一個有趣的特性是,shellcode 僅在檢測到鼠標點擊后才會啟動,這可能是作為一種反沙盒特性。

從WindowsFormsApp3.exe (0b1d7c043be8c696d53d63fc0c834195) 到 mspaint.exe 的 Shellcode 注入
在搜索更多相關文件時,我們發現了用 C# 編寫的其他可執行文件,它們以類似的方式啟動諸如 notepad.exe 或 mspaint.exe 之類的進程,并將 shellcode 注入它們(注意不是嵌入),而是從 C&C 服務器下載到良性進程中。這些簡單的注入器可執行文件在功能上幾乎沒有什么不同。它們之間的區別在于混淆方法:有些是用 SmartAssembly 打包的,有些包含混淆的變量名。但是,迄今為止觀察到的所有 shellcode 有效負載都是 Meterpreter shellcode,并且在那些包含其調試信息的可執行文件中,都引用了以 C:\Users\wallstreet\ 開頭的 PDB 路徑。
可執行滴管
在活動早期,從 2020 年底到 2021 年初,攻擊者們依靠 .NET 中的小型自寫工具而不是文檔。附加到網絡釣魚電子郵件的第一階段可執行投放器偽裝成文檔,并帶有 PDF 圖標,有時名稱中有雙擴展名(例如,Nouvelles Reformes 2021.pdf.exe,英文為“New Reforms 2021.pdf.exe” )。事實上,這些簡單的下載器使用批處理腳本(或 cmd 命令)和 PowerShell 從 4sync.com 或 filesend.jp 等文件共享平臺檢索第二階段加載器并執行它們。在此特定示例中,下載器創建并運行一個 bat 文件,該文件通過 COM 劫持執行 AMSI 繞過,然后使用 PowerShell 下載下一階段加載程序并將其作為 WinTray.exe 保存在磁盤上:

“Nouvelles Reformes 2021.pdf.exe” (7b8d0b4e718bc543de4a049e23672d79) 的簡化感染鏈
第二階段可執行文件的目的是將最終的有效載荷(通常從硬編碼地址下載的 Meterpreter shellcode)注入到不同的良性 Windows 進程中。這些工具與 InQuest 討論的工具類似,除非它們的調試信息被刪除,否則它們還包含具有唯一用戶名wallstreet 的 PDB 路徑。
2021 年末,一些感染鏈開始使用 C# 可執行文件來執行更簡單的操作,只需啟動 PowerShell 從服務器拉下一個階段。當時,該活動已經在使用 PoshC2 植入程序而不是 Metasploit 有效負載,但這些工具仍然具有引用wallstreet 的 PDB 路徑。
感染后的活動
當初始 PowerShell 后門連接到 C&C 時,攻擊者自動發送 AMSI 繞過命令和 PoshC2 植入,然后檢索第二階段植入以在 PowerShell 會話中添加額外功能。接下來,攻擊者建立持久性并執行監測,同時還運行一些命令來嘗試逃避檢測。
逃避技術
為了逃避檢測,攻擊者首先運行兩個額外的 AMSI 繞過命令,即使后門始終以 AMSI 繞過開始。然后,他們使用 PoshC2 Inject-Shellcode 模塊將 shellcode 注入 Windows 內置二進制文件 RuntimeBroker.exe 和 iexpress.exe。注入的代碼是 Sharpv4 shellcode,其中包含修復 AmsiScanBuffer(AMSI 繞過技術)和 EtwEventWrite(Windows 繞過技術的事件跟蹤)的 DLL:

來自攻擊者 shellcode 的 DLL,用于修復 AmsiScanBuffer 和 EtwEventWrite

顯示 shellcode 注入 RuntimeBroker.exe 的事件日志
然后,它加載包含 base64 編碼的 PoshC2 PowerShell 植入的 base64 編碼的 .NET 可執行文件。這一系列事件最終允許攻擊者以更隱蔽的方式重新建立后門,并作為已知的 Microsoft 進程運行。
持久性
為了設置持久性,攻擊者將一個名為 WinComp.bat 的批處理文件放到磁盤上。首先,它搜索進程 iexpress.exe,即運行注入的 shellcode 的進程。如果進程存在,則腳本終止。否則,它會使用混淆命令啟動 PowerShell 后門,并連接到攻擊者控制的 C2 服務器:

此外,攻擊者將另一個名為 slmgr.vbs 的腳本釋放到磁盤上,該腳本僅執行 WinComp.bat。為了完成持久性設置,攻擊者創建了一個計劃任務以每 5 分鐘運行一次 slmgr.vbs,并創建兩個不同的計劃任務以每 6 小時執行一次 WinComp.bat。安裝計劃任務后,攻擊者在腳本文件上添加一個隱藏屬性以將其隱藏在用戶面前,以避免被發現:

監測
隨著時間的推移,會發送多個監測命令以收集有關受感染計算機及其網絡的其他信息。這包括來自第 2 階段 PoshC2 植入程序的用于抓取屏幕截圖的命令,簡稱為 Get-Screenshot。攻擊者還發送并執行一個名為 Get-Ipconfig 的腳本(根據腳本中的注釋,該腳本似乎源自微軟現已不復存在的 TechNet Gallery)以從 Win32_ComputerSystem WMI 類收集網絡信息。此外,攻擊者使用另一個名為 Get-ComputerInfo 的開源腳本,該腳本不同于 PowerShell 中的內置 cmdlet。此腳本從多個 WMI 類收集數據,包括有關計算機硬件和網絡的信息。攻擊者發送的另一個腳本稱為 Invoke-Arpscan,它使用 C# 在設備上找到的所有網絡接口上運行 ARP 掃描。
最后,攻擊者試圖創建 svchost.exe 進程的內存轉儲,很可能從中提取現有的 RDP 憑據。
附加工具
盡管攻擊者最初嚴重依賴 PoshC2 模塊并廣泛使用其功能,但在受感染設備上停留了一段時間后,攻擊者開始下載一些額外的有效載荷。一個有效載荷是一個名為 DWService 的合法遠程訪問工具,它偽裝成 Intel 服務。基于 UI 的遠程訪問工具可能為攻擊者提供了更多的手動操作自由度,被捕獲的機會更少。
攻擊者在受感染設備上執行的另一個有趣操作是安裝 Windows Subsystem for Linux (WSL)。攻擊者經常使用 WSL 來避免在運行一些有用的工具時被檢測到。在我們的案例中,攻擊者在 WSL 中安裝了一個名為 CrackMapExe 的開源滲透測試工具,他們使用它來運行網絡的 SMB 掃描。
在與此活動相關的其他工具中,研究人員發現了一個名為 TITAN.exe 的可執行文件,它是一個名為 Backstab 的開源反 EDR 工具。此工具使用 SysInternals Process Explorer 驅動程序來終止受保護的反惡意軟件進程。該工具是從路徑 C:\Users\wallstreet\Downloads\Programs\Backstab-master\x64\Debug\Backstab.pdb 編譯的,這告訴我們wallstreet 攻擊者可能直接從 GitHub 下載它并在 Visual Studio 的。與 TITAN.exe 一起,我們發現了一個名為 POPULAIRE.exe 的可執行文件,內部名為 LoggerStamp (C:\Users\wallstreet\source\repos\LOGgerStamp\Release\LOGgerStamp.pdb)。它是一個基本的鍵盤記錄器,它利用 SetWindowsHookExW API 在所有擊鍵上注冊一個回調函數,將它們寫入與可執行文件位于同一目錄中的一個名為 keylogger.log 的文件中。該工具沒有任何 C&C 通信機制,并依賴其他現有的后門將收集到的數據發送給攻擊者。
受害者分析
DangerousSavanna 針對在多個非洲國家開展業務的中型或大型金融相關企業。屬于這些金融機構的公司提供廣泛的銀行產品和服務,不僅包括銀行,還包括保險公司、小額信貸公司、金融控股公司、財務管理公司、財務咨詢服務等。盡管他們的工具的復雜性相對較低,但觀察到的跡象可能表明,攻擊者設法感染了他們的一些目標。這很可能是由于攻擊者不斷嘗試滲透。如果一個感染鏈沒有成功,他們就會改變附件和誘餌,并一次又一次地以同一家公司為目標,試圖找到一個入口。通過魚叉式網絡釣魚的社會工程,只需要毫無戒心的用戶不小心點一下鼠標,攻擊即刻開始。
基礎設施

感染鏈、基礎設施和有效負載的變化
上圖的時間線顯示了隨著時間的推移攻擊者使用的基礎設施的發展。在早期階段,攻擊者依賴第三方文件共享服務,例如 FileSend.jp 或 4sync.com。2021 年年中,大量活動僅與類似 Pastebin 的服務 paste.c-net.org 相關聯,該服務用于存儲從多個外部模板到最終 PowerShell 植入的各種攻擊階段。2021 年 10 月,paste.c-net.org 背后的組織進行了一次令人印象深刻的清理操作,并且很可能主動監控了使用其服務共享的所有潛在惡意內容。從那以后,該活動使用了看似隨機的服務器,并嘗試了不同種類的中間服務器,包括 bit.ly 和 iplogger.org 重定向,類似于 nedbank.za[.]com 等本地金融相關機構的域(偽裝成 NED銀行)或 paste.inexa-group[.]com(偽裝成金融科技解決方案提供商 Inexa),或者僅僅依靠像 Dynu 這樣的短期免費 DDNS 服務。
總結
在本文中,我們分析了針對西非和北非金融機構的惡意電子郵件活動。這場已經運行了近兩年的活動經常改變其工具和方法,展示了攻擊者對開源工具和滲透測試軟件的了解。我們預計,這場沒有停止或放緩跡象的活動將繼續調整其運營手段和方法,以最大限度地提高財務收益。