Skip to main content
Return to TrendAI™ 資安部落格
Cyber crime

收到熟人傳來的 ZIP 壓縮檔?小心 WhatsApp 新病毒「SORVEPOTEL」正在竊資料!

TrendAI™ Research 發現了一個正在利用 ZIP 附件檔案並經由 WhatsApp 散布的惡意程式攻擊行動。惡意程式一旦執行,就會建立常駐機制,然後經由被駭入的 WhatsApp 帳號將自己複製並傳送給受害者的聯絡人。

NewsMalwarePhishing & BECResearch features

Key Takeaways

  • 我們觀察到 SORVEPOTEL 惡意程式正在 Windows 系統之間散布,它會透過一則訊息要求使用者在桌面將它開啟,意味著這起攻擊行動背後的駭客瞄準的是企業機構。
  • 惡意程式會透過現有的 WhatsApp 連線階段自動將相同的惡意 ZIP 檔案傳送給受害者帳號內的所有聯絡人和群組以便快速散播。
  • 這項威脅的惡意檔案是一款資訊竊取程式,主要鎖定巴西市場的多家金融機構與加密貨幣交易所。

感謝 Joe Soares、Ian Kenefick、Victor Bertho 、Valentim Uliana、Guilherme Marcelino de Sa、Laercio Maciel、Matheus Perestrelo、Felippe Barros、Pedro Alberto Costa、Gustavo Silva 的共同貢獻。

本文已於美國東部時間 2025 年 10 月 4 日下午 2:00 更新,新增惡意檔案相關資訊。

TrendAI™ Research 目前正在調查一起大規模惡意程式攻擊行動,主要利用即時通訊平台 WhatsApp 作為感染途徑。有別於傳統以竊取資料或散播勒索病毒為主的攻擊,這起攻擊的設計是為了能快速散播,利用人們之間的信任與自動化技巧在 Windows 使用者之間傳播。TrendAI™ Research 分析確認這起攻擊行動為 Water Saci,而透過 WhatsApp 散播的惡意程式則為 SORVEPOTEL。目前這波攻擊在巴西最為活躍。

據觀察,SORVEPOTEL 是透過容易讓人上當的網路釣魚訊息並搭配惡意 ZIP 附件檔案在 Windows 系統之間擴散。值得注意的是,這則帶有惡意附件檔案的網路釣魚訊息,會要求使用者在電腦桌面上開啟訊息,這表示駭客的主要目標應該是企業而非一般消費者。惡意程式一旦被開啟,就會自動經由 WhatsApp Web 散播,所以受感染的帳號很可能因為出現過多垃圾訊息活動而遭到禁用。

PowerShell 指令解開之後會產生一個指向幕後操縱 (CC) 伺服器的網址。該腳本使用  Net.WebClient 來下載這個位址的內容,然後立即透過 Invoke-Expression 在記憶體內執行。 下載的惡意檔案是一個 PowerShell 腳本,可反射載入一個 .NET DLL 來從 C&C 伺服器擷取 shellcode 伺服器 ,注入 powershell_ise.exe 來監控銀行相關的活動,並支援傳播 (包括經由 WhatsApp),同時還能與多個 C&C 伺服器保持連線。以下章節將進一步說明惡意檔案的行為與所採用的技術。

趨勢科技'持續監測發現,這波攻擊不僅對個人使用者與企業造成影響,其攻擊模式也可能被其他駭客仿效,在全球發動類似攻擊。本文旨在提出迫切警示:企業應提高資安警覺、部署現代化防禦措施,並主動監控使用頻繁的通訊管道。這包括重新評估使用者是否確實需要使用 WhatsApp;若業務上有此需求,也應制定明確的 BYOD 政策。駭客深知企業通常已在電子郵件與 Web Gateway 等常見攻擊途徑投入大量資安防護,因此轉而利用行動裝置 BYOD 作為切入點。攻擊者營造急迫感,誘使使用者開啟電腦並執行檔案,藉此突破第一道防線,也就是使用者本身的警覺,進而突破端點防護。

根據 TrendAI™ Research 的監測資料顯示,其早期攻擊行動似乎主要集中在巴西,我們偵測到的477 個案例當中有 457 個都在巴西。

此外,TrendAI™ Research 的監測資料也顯示,受 SORVEPOTEL 影響最大的是政府和公家機關,但製造、科技、教育及營造等產業也有機構受害。

最初感染途徑

感染過程一開始,使用者會在 WhatsApp 上收到一則來自其聯絡人 (通常是已感染的好友或同事) 發來的網路釣魚訊息,這讓訊息不容易被懷疑。 

Figure 1. The SORVEPOTEL attack chain
Figure 1. The SORVEPOTEL attack chain

該訊息內含一個 ZIP 壓縮附件檔案,名稱為「RES-20250930_112057.zip」或「ORCAMENTO_114418.zip」,或是偽裝成正常文件的類似檔案,例如:收據、預算、醫療應用程式相關檔案。這則葡萄牙文訊息利用了使用者對 WhatsApp 對話的信任,要求使用者在 PC 上下載這個 ZIP 檔案來將它開啟 (原葡萄牙文為:「baixa o zip no PC e abre」)。

除此之外,也有證據顯示這起攻擊還有另一種可能的最初感染途徑是經由電子郵件。我們已觀察到多封網路釣魚郵件會散布類似以下名稱的 ZIP 附件檔案:「COMPROVANTE_20251001_094031.zip」、「ComprovanteSantander-75319981.682657420.zip」以及「NEW-20251001_133944-PED_1273E322.zip」。這些電子郵件都是經由看似正常的郵件地址所發送,並且使用 "Documento de Rafael B"、""Zip 或 "Extrato"之類的主旨來誘騙收件人開啟惡意附件檔案。   

執行惡意 LNK 檔案

當受害者解壓縮 ZIP 檔案之後,會發現一個 Windows 捷徑 (.LNK) 檔案。這個 LNK 捷徑檔案一旦執行,就會暗中啟動一個指令列介面或 PowerShell 腳本來從駭客掌控的網域下載主要惡意程式。

藉由假扮成良性的 LNK 捷徑檔案,就能躲過一些基本的防毒偵測。我們在各種不同的相關網域也都觀察到類似活動,例如:sorvetenopoate[.]comsorvetenoopote[].cometenopote[].comexpahnsiveuser[].comsorv[.]etenopote[].comsorvetenopotel[.]com,這些都是用來發送惡意檔案的 API 端點。 

Figure 2. Encrypted command inside the LNK file that downloads the BAT file
Figure 2. Encrypted command inside the LNK file that downloads the BAT file

解密後的指令會從指定的網址下載一個惡意腳本,並使用 Invoke-Expression (IEX) 函式在記憶體內將它執行。它會用隱藏模式 (-w hidden) 來執行,以免被使用者察覺,並使用經過編碼的指令 (-enc) 進一步隱藏惡意行為。

Figure 3. Decrypted command inside the LNK file that downloads the BAT file
Figure 3. Decrypted command inside the LNK file that downloads the BAT file

批次檔下載與常駐機制

腳本所下載的惡意檔案通常是一個批次檔案 (.BAT),用來在受感染的系統上建立常駐機制。其作法是將自己複製到 Windows 的啟動 (Startup) 資料夾,確保惡意程式在每次電腦開機時都能自動執行。  

批次檔會利用多個 for 迴圈來組合出一道 PowerShell 指令並將它執行。這道指令會在一個隱藏視窗 (-windowstyle hidden) 內執行,其參數會以 Base64 編碼方式 (-enc) 進一步加密編碼。

Figure 4. Encrypted command inside the BAT file that connects to the C2 server to retrieve additional payloads
Figure 4. Encrypted command inside the BAT file that connects to the C2 server to retrieve additional payloads

PowerShell 指令解開之後會產生一個指向幕後操縱 (CC) 伺服器的網址。批次檔會使用 Net.WebClient 從這個網址下載內容,然後立即透過 Invoke-Expression 在記憶體內將它執行。惡意程式會與多個 CC 伺服器保持通訊,必要時可接收進一步指示或下載其他惡意元件。

Figure 5. Decrypted command inside the BAT file that connects to the C2 server to retrieve additional payloads
Figure 5. Decrypted command inside the BAT file that connects to the C2 server to retrieve additional payloads

挾持 WhatsApp Web 連線階段與自動傳播

根據 TrendAI™ Research 的分析,這個惡意程式的一項重要功能就是能夠偵測被感染的電腦上是否有 WhatsApp Web 正在執行。

一旦偵測到,惡意程式就會利用這個連線階段自動將相同的惡意 ZIP 檔案發送給所有受害帳號的聯絡人和群組,讓自己快速散播出去。 

這個自動化散播動作會製造大量垃圾訊息,因此經常導致使用者違反 WhatsApp 服務條款而使得帳號遭到停用或禁用。 

惡意檔案技術分析

Figure 6. The payload technical analysis
Figure 6. The payload technical analysis

第一階段載入器

該批次檔案會取得一個 PowerShell 腳本並直接在記憶體中執行,接著以反射方式載入 .NET DLL。分析顯示,惡意程式可從不同 URL 取得多個 PowerShell 腳本,表示下載的惡意檔案可能因來源而有所不同。不過,若腳本是從相同 URL 下載,載入的都會是相同的二進位檔案。

Figure 7. Variant PowerShell Scripts from Different URL
Figure 7. Variant PowerShell Scripts from Different URL
Figure 8. .NET DLL reflectively loaded by the PowerShell script
Figure 8. .NET DLL reflectively loaded by the PowerShell script

第二階段載入器

以反射方式載入的二進位檔案是一個 .NET DLL,其設計會連線至兩個不同的 URL,分別取得不同的惡意檔案。在執行主要功能前,惡意程式會先掃描與除錯或逆向工程工具相關的處理程序名稱,藉此進行反分析。若偵測到下列任一處理程序,DLL 就會自行終止,以規避分析。

  • apimonitor
  • burp
  • fiddler
  • ghidra
  • ida
  • immunity
  • ollydebug
  • windbg
  • wireshark
  • x64debug

通過這些檢查後,惡意程式會使用 .NET WebClient 存取下列網址,以進一步下載惡意檔案:

  • https[://]zapgrande[.]com/api/v1/19230d53a96d4facbead047f645e02b8: 傳送 Maverick.Stage2,這是一個間諜木馬(TrojanSpy)。Maverick.Stage2 which is a TrojanSpy.
  • https[://]zapgrande[.]com/api/v1/252d6ed3bb6d49228181a1: 提供與挾持 WhatsApp Web 相關的下載器 DLL。
Figure 9. URL connection via .Net WebClient
Figure 9. URL connection via .Net WebClient

連線至 https[://]zapgrande[.]com/api/v1/{Hashed GUID-based Endpoint Identifier} 時,系統會傳送自訂標頭,其中包含記錄執行時間的 X-Timestamp,以及由 Base64 編碼值組成的 X-Request-Hash。 

X-Request-Hash 標頭包含一個經 Base64 編碼的 HMACSHA256 值,此值衍生自格式為 {Hashed GUID-based Endpoint Identifier}|{Timestamp}|MaverickBot 的字串。此字串會以 "MaverickZapBot2025SecretKey12345" 作為祕密金鑰進行雜湊運算,再將產生的雜湊值以 Base64 編碼,作為標頭值。

Figure 10. Custom header containing hashed secret and execution timestamp
Figure 10. Custom header containing hashed secret and execution timestamp
Figure 10. Custom header containing hashed secret and execution timestamp

成功建立連線並帶入正確的自訂標頭後,這些 URL 會傳回加密的 shellcode。.NET DLL 隨後會將 shellcode 解密,並利用下列 API,注入其建立且處於暫停狀態的 powershell_ise.exe 處理程序中。

Figure 11. APIs used to inject shellcode to spawned powershell_ise.exe processes
Figure 11. APIs used to inject shellcode to spawned powershell_ise.exe processes

第三階段載入器

注入 Powershell_ise.exe 的 shellcode 負責解密下一階段的惡意檔案,並透過 CLR Hosting 載入。以下列出執行期間觀察到的相關 API。

Figure 12. APIs used for CLR hosting
Figure 12. APIs used for CLR hosting

第一個惡意檔案

Maverick.StageTwo

其中一個取得的惡意檔案是 .NET 執行檔;根據二進位檔案中發現的字串,將其稱為 Maverick.StageTwo

Figure 13. Maverick.StageTwo string as seen in the binary
Figure 13. Maverick.StageTwo string as seen in the binary

若系統中尚未存在相關檔案,惡意程式會建立經混淆處理的 BAT 檔案,並以HealthApp-{6 Random Characters from Generated GUID}.bat 為檔名儲存在 %User Startup% 中,以建立常駐機制。這就是先前由 LNK 檔案下載的同一個批次檔案。

Figure 14. RegisterStartup() function used to establish persistence
Figure 14. RegisterStartup() function used to establish persistence

接著,惡意程式會判斷目前使用中的視窗是否屬於瀏覽器處理程序(Chrome、Firefox、Edge、Brave 或 Internet Explorer);若是,便從該瀏覽器視窗擷取目前的 URL。惡意程式還內建針對 "navegador exclusivo bradesco" (Bradesco 專用瀏覽器)的特定檢查機制;若偵測到,就會傳回 "banco.bradesco。這顯示該惡意程式特別鎖定巴西銀行客戶。 banco.bradesco" if detected, indicating this malware specifically targets Brazilian banking customers. 

Figure 15. GetActiveBrowserUrl() function that retrieves active browser URLs
Figure 15. GetActiveBrowserUrl() function that retrieves active browser URLs

這款木馬程式會持續監控使用者目前瀏覽器的 URL,並在造訪特定目標網站時,依條件執行相應的惡意檔案。該函式會持續循環執行,先解密內建的 Base64 字串以取得目標網域清單,再每隔 3 秒檢查目前瀏覽器的 URL 是否與清單中的任一網域相符。

根據趨勢科技調查顯示,這波攻擊主要鎖定拉丁美洲地區,駭客曾嘗試攻擊以下巴西金融機構:

  • account[.]binance[.]com
  • banco[.]bradesco
  • bancobmg[.]com[.]br
  • bancobrasil[.]com[.]br
  • bancobs2[.]com[.]br
  • bancofibra[.]com[.]br
  • bancopan[.]com[.]br
  • bancotopazio[.]com[.]br
  • banese[.]com[.]br
  • banestes[.]b[.]br
  • banestes[.]com[.]br
  • banrisul[.]com[.]br
  • bb[.]com[.]br
  • binance[.]com
  • bitcointrade[.]com[.]br
  • blockchain[.]com
  • bradesco[.]com[.]br
  • brbbanknet[.]brb[.]com[.]br
  • btgmais[.]com
  • caixa[.]gov[.]br
  • cidadetran[.]bradesco
  • citidirect[.]com
  • contaonline[.]viacredi[.]coop[.]br
  • credisan[.]com[.]br
  • credisisbank[.]com[.]br
  • ecode[.]daycoval[.]com[.]br
  • electrum
  • empresas[.]original[.]com[.]br
  • foxbit[.]com[.]br
  • gerenciador[.]caixa[.]gov[.]br
  • ib[.]banpara[.]b[.]br
  • ib[.]brde[.]com[.]br
  • ibpf[.]sicredi[.]com[.]br
  • ibpj[.]original[.]com[.]br
  • ibpj[.]sicredi[.]com[.]br
  • Internetbanking[.]banpara[.]b[.]br
  • Internetbanking[.]confesol[.]com[.]br
  • itau[.]com[.]br
  • loginx[.]caixa[.]gov[.]br
  •  mercadobitcoin[.]com[.]br
  • mercamercadopago[.]com[.]br
  • mercantildobrasil[.]com[.]br
  • meu[.]original[.]com[.]br
  • ne12[.]bradesconetempresa[.]b[.]br
  • nel[.]bnb[.]gov[.]br
  • pf[.]santandernet[.]com[.]br
  • pj[.]santandernetibe[.]com[.]br
  • rendimento[.]com[.]br
  • safra[.]com[.]br
  • safraempresas[.]com[.]br
  • sicoob[.]com[.]br
  • sicredi[.]com[.]br
  • sofisa[.]com[.]br
  • sofisadireto[.]com[.]br
  • stone[.]com[.]br
  • tribanco[.]com[.]br
  • unicred[.]com[.]br
  • uniprime[.]com[.]br
  • uniprimebr[.]com[.]br
  • www.[]banestes[.]com[.]br
  • www[.]itau[.]com[.]br
  • www.[]rendimento[.]com[.]br
  • www2s[.]bancoamazonia[.]com[.]br
  • wwws[.]uniprimedobrasil[.]com[.]br
  • zeitbank[.]com[.]br

此外,惡意程式還會監控使用者活動,偵測是否造訪特定的巴西銀行網站。它會透過網域比對與 HTML 內容分析,偵測使用者是否存取 Banco do Brasil、Caixa、Itaú、Bradesco 等金融機構的銀行登入頁面。

Figure 16. CheckDomainTarget() function that checks visited domains
Figure 16. CheckDomainTarget() function that checks visited domains

若目前網站符合特定的巴西銀行網域,惡意程式便會解密內建的大型位元組陣列,透過 Assembly.Load() 將解密後的位元組以 .NET 組件形式動態載入記憶體,接著找出組件的進入點,並建立委派(delegate)加以呼叫。 

Figure 17. Loading of the trojan spy
Figure 17. Loading of the trojan spy

Maverick.Agent

後續的惡意檔案是一個名為 Maverick.Agent 的 .NET 執行檔。從該 .NET 二進位檔案中的公開類別可看出,它具備竊取資訊與登入憑證的能力。

Figure 18. Maverick.Agent public classes
Figure 18. Maverick.Agent public classes

惡意程式首先會透過地理位置驗證,判斷目前執行的系統是否位於巴西。這裡再次出現反分析機制,用來阻止從巴西境外存取或執行惡意程式,同時規避缺乏客製化能力的自動化沙箱分析。  在這個階段,惡意程式會依據四項條件進行判斷:時區、語系設定、區域,以及巴西使用的日期格式。只要符合以下至少兩項條件,惡意程式便會繼續執行:

  • 系統使用巴西時區
    • UTC-5 至 UTC-2 之間
  • 系統語系設定包含以下任一字串:
    • "pt-br"
      • "pt_br"
      • "portuguese"
      • "brazil"
  • 系統區域設定符合以下任一條件:
    • 雙字母 ISO 區域名稱 = "BR"
      • 三字母 ISO 區域名稱 = "BRA"
      • 區域名稱 = "brazil" 或 "brasil"
  • 系統日期格式設為巴西格式:
    • "dd/mm/yyyy (巴西標準日期格式)
      • "日/月/年 "(巴西短年份日期格式)
      • "dd/mm" (巴西簡式日期格式)
Figure 19. IsInBrazil() function used for geolocation checking
Figure 19. IsInBrazil() function used for geolocation checking

接著,惡意程式會啟用 DPI Awareness,以確保畫面能正確縮放,並建立 C&C 通訊通道;之後再建立 WatsonClient,透過連接埠 443(HTTPS)連線至惡意伺服器 "adoblesecuryt[.]com"

Figure 20. Connection to command and control server
Figure 20. Connection to command and control server

後門指令

這款惡意程式會竊取各種系統資訊,並將資料傳送至其 C &C 伺服器。具體來說,它會蒐集以下資訊:

  • 電腦名稱
  • 作業系統名稱與版本
  • 網路卡 MAC 位址。
  • 作業系統架構
  • 惡意程式版本
  • 連接的螢幕數量

惡意程式在受感染系統建立據點後,便可接收並執行 C &C 伺服器傳送的各種指令,包括:

INFOCLIENT Collects and sends system information back to the C&C server.
RECONNECT Disconnects from the C&C server.
KILLAPPLICATION Terminates the malware process.
SCREENSHOT Captures a screenshot of the application window, compresses it using GZip, and sends it to the C&C server (no local copy saved).
KEYLOGGER Records user keystrokes and mouse clicks.
MOUSECLICK Enables mouse clicks to pass through an overlay window.
KEYBOARDONECHAR Permits the C&C server to inject a single character into the system.
KEYBOARDMULTIPLESCHARS Permits the C&C server to inject multiple characters into the system.
TOOGLEDESKTOP Captures a screenshot of the entire desktop.
TOOGLEINTERN Maximizes an application window and captures a screenshot, which is then sent to the C&C server.
GENERATEWINDOWLOCKED Creates a full-screen overlay to block user interaction completely, displaying deceptive system messages.
FREECLIENT Closes the fake system message overlay.
LISTALLHANDLESOPENEDS Sends a list of all visible application windows.
KILLPROCESS Terminates the specified application by its process handle.
CLOSEHANDLE Closes an application window using its handle.
MINIMIZEHANDLE Minimizes an application window.
MAXIMIZEHANDLE Maximizes an application window.
RESTOREHANDLE Restores an application window that has been minimized or maximized.
GENERATEWINDOWREQUEST Displays a fake banking security dialog over the victim’s screen to steal sensitive data.
CANCELSCREENREQUEST Closes the fake banking dialog and displays full-screen fake system messages.
CHANGESCALETO100 Opens Windows display settings (on Windows 11) and navigates to change the display scale to 100%. This is accomplished by launching ms-settings:display, simulating required key presses, and finally terminating the settings application via taskkill /f /im SystemSettings.exe.
ADJUST_QUALITY Alters the quality of captured screenshots.
ADJUST_SCALE Modifies the scale of captured screenshots.

進階視窗覆蓋式網路釣魚手法

GenerateNewWindowLockedGenerateWindowRequest 這兩項指令可以看出,相較於傳統資訊竊取手法,這款惡意程式具備更進階的攻擊能力。

GenerateNewWindowLocked 指令會建立全螢幕且保持最上層的視窗,以執行螢幕鎖定攻擊,並具備以下特性: command executes a screen-locking technique by generating full-screen, topmost windows with the following attributes:

  • 封鎖使用者輸入 (InputBlocker.StartBlocking()),限制鍵盤與滑鼠操作。
Figure 21. Functions used to block and unblock user input
Figure 21. Functions used to block and unblock user input
  • 顯示假的系統更新通知或安全性診斷畫面。
Figure 22. Functions used to create fake system update notifications or security diagnostic screens
Figure 22. Functions used to create fake system update notifications or security diagnostic screens
  • 建立全螢幕覆蓋視窗,使其持續顯示於最上層、不出現在工作列、無法調整大小,並覆蓋整個螢幕。
Figure 23. Creation of full-screen overlays
Figure 23. Creation of full-screen overlays

GenerateWindowRequest 指令則進一步突破基本的螢幕鎖定機制,建立互動式網路釣魚介面,以竊取敏感的銀行登入憑證。圖 24 顯示其如何執行銀行木馬攻擊。  command represents an advanced evolution beyond basic screen-locking mechanisms, implementing interactive phishing interfaces engineered to capture sensitive banking credentials. Figure 24 illustrates what acts as a banking Trojan. 

Figure 24. Creation of fake interactive Banking Trojan interfaces
Figure 24. Creation of fake interactive Banking Trojan interfaces

惡意程式可在合法銀行網站上方建立覆蓋視窗,藉此竊取使用者的登入憑證與驗證權杖。它會顯示要求輸入密碼、電子簽章或 QR Code 的假冒表單,並依底層銀行網頁動態調整覆蓋視窗的大小與位置,同時在覆蓋視窗中建立透明"區域",使其看似與真實網站無縫整合,藉此擷取使用者輸入的敏感資訊。

Figure 25. Screen functions used to create overlay windows
Figure 25. Screen functions used to create overlay windows

從 HomeInfo 類別可以看出,這些覆蓋視窗是為了模仿合法的銀行介面而設計。此外,研究人員也發現與真實金融機構相對應的 Base64 編碼 PNG 檔案,這些檔案會用來建立覆蓋視窗。TrendAI™ Research 調查發現,這款惡意程式試圖鎖定 Banco do Brasil、Bradesco、Binance、Caixa Econômica Federal(CEF)、Itaú Unibanco、Mercado Pago、Banco do Nordeste、Santander 及 Sicredi 等機構。 

值得注意的是,這類攻擊鎖定的目標也包括加密貨幣交易所。

Figure 26. HomeInfo classes used to mimic legitimate banking applications
Figure 26. HomeInfo classes used to mimic legitimate banking applications

惡意程式還能操控視窗,並特別偵測類別名稱為"SunAwtFrame"(Sicoobnet 即使用此類別)的 Java 應用程式,接著刻意將實際視窗標題改寫為內建字串 "Sicoobnet Empresarial。這是一款巴西銀行應用程式,顯示惡意程式可能企圖冒充合法的銀行應用程式。

Figure 27. Impersonation of the banking application Sicoobnet Empresarial
Figure 27. Impersonation of the banking application Sicoobnet Empresarial

第二個惡意檔案

第二個惡意檔案是一個用來挾持 WhatsApp 的 .NET 執行檔。透過 CLR Hosting 載入後,它會建立一個執行緒,檢查系統的地區設定(en-US、pt-BR)、區域(美國、巴西)及短日期格式(M/D/YYYY、DD/MM)。若所有檢查均通過,便會繼續下載 WhatsApp 元件,並使用 Assembly.Load 載入。惡意程式包含一個專門用來鎖定 WhatsApp 帳號的元件。此二進位檔案會檢查 WhatsApp 相關的瀏覽器資料;若找不到相關資料便會終止執行,以確保只在已有 WhatsApp 登入中工作階段的系統上運作。

Figure 28. Checking of logged-in WhatsApp session in browsers
Figure 28. Checking of logged-in WhatsApp session in browsers
Figure 28. Checking of logged-in WhatsApp session in browsers

為了自動化瀏覽器操作並連線至 WhatsApp Web,惡意程式會將 Selenium 與相對應的 Chromedriver 植入 %userprofile%\local\ emp。Selenium 會透過 Chromedriver 啟動並控制瀏覽器,而 JavaScript 套件 wppconnect.js 則會呼叫 WhatsApp Web 的內部功能,以傳送訊息與媒體檔案(包括 ZIP 檔案)。 

Figure 29. Automation of browser interactions and connection to WhatsApp Web as seen in Vision One
Figure 29. Automation of browser interactions and connection to WhatsApp Web as seen in Vision One
Figure 30. Components used to automate browser interactions
Figure 30. Components used to automate browser interactions

透過這項自動化連線,惡意程式可經由 WhatsApp 傳送訊息與 ZIP 檔案,進而自動散播並發動社交工程攻擊。分析過程中,研究人員找出了惡意程式透過 WhatsApp 實際傳送的訊息內容。經確認,這則訊息與網路上流傳的惡意 WhatsApp 訊息截圖相符,進一步證實觀察到的感染事件與實際社交工程攻擊活動之間的關聯。

Figure 31. Actual WhatsApp message from https://x.com/dilacer8/status/1973474128557646271
Figure 31. Actual WhatsApp message from https://x.com/dilacer8/status/1973474128557646271
Figure 32. Decoded message from analysis
Figure 32. Decoded message from analysis

感染後續行為與躲避偵測

在初步感染之後,惡意程式所構成的主要威脅還是來自它的自我散播。根據目前證據顯示,其主要目標是廣泛傳播,而非進一步駭入系統。

截至本文撰稿為止,通報案例並未出現資料遭到外傳或檔案遭到加密的嚴重症狀。不過值得注意的是,過去其他使用類似技巧 (如 LNK 捷徑和 PowerShell 腳本) 的巴西攻擊行動曾經以金融資料為目標。

惡意程式採用了多種策略來躲避偵測並維持常駐,例如,它會使用加密編碼和拼錯字的網域名稱,如「sorvetenopotel」,這名稱跟葡萄牙文的「sorvete no pote」 (用杯子盛裝的冰淇淋) 非常相似。這樣的手法有助於惡意基礎架構混入合法流量當中,避免一眼就引來關注。

此外,TrendAI™ Research 也發現了一些可能是其他基礎架構的連結,包括像 cliente[.]rte[.]com[.]br 這樣的網域,該網域曾在整個攻擊行動開始的前幾天被用來散布惡意程式。以上發現突顯出駭客一直在努力翻新並多元化其惡意程式的散播方式以實現最大的觸及率和隱匿性。

結論

Water Saci 攻擊行動證明有越來越多駭客集團利用 WhatsApp 這類熱門通訊平台來快速大規模散播惡意程式,而且只需最低程度的使用者互動。Water Saci 結合了容易讓人上當且千錘百鍊的網路釣魚手法,並自動使用現有的連線階段以及躲避技巧,因此有可能快速擴散。

警覺心、使用者意識,以及有效的資安控管,對於防範這項威脅或類似的威脅至關重要。趨勢科技會持續密切監控這起攻擊行動,同時也建議企業應隨時保持防禦的更新,並且掌握即時通訊平台的最新攻擊技巧。

防禦建議

為盡可能降低 Water Saci 攻擊行動帶來的風險,TrendAI™ Research 建議先採取以下幾項實用的防禦措施:

  • 停用 WhatsApp 自動下載功能。關閉 WhatsApp 設定中的媒體與文件自動下載功能,降低使用者意外接觸惡意檔案的風險。
  • 控管個人應用程式的檔案傳輸。針對公司管理的裝置,可透過端點防護或防火牆政策,封鎖或限制使用 WhatsApp、Telegram、WeTransfer 等個人應用程式傳輸檔案。若您企業允許員工使用個人自備裝置 (BYOD),那麼請強制實施嚴格的應用程式白名單或容器化來保護敏感環境。
  • 提升使用者資安意識。Water Saci 攻擊行動的受害者分布顯示,駭客主要鎖定企業組織。因此建議企業要定期舉辦資安訓練來協助員工了解經由即時通訊平台下載檔案的危險性。建議使用者不要點選非預期的附件檔案或可疑連結,即使這些連結來自認識的聯絡人,並且宣導使用安全、經過核准的管道來傳輸商業文件。

確實執行上述建議,就能協助企業和個人更有效防範經由通訊應用程式散布的惡意程式威脅。

採用 TrendAI Vision One™ 的主動式防護

TrendAI Vision One️™  是唯一將資安曝險管理、資安營運以及強大的多層式防護集中在一起的 AI 驅動企業網路資安平台。這套全方位的方法能協助您企業預測及防範威脅,讓您在相關數位資產上加速實現主動式防護的成果。消除資安盲點,專心處理最重要的問題,讓資安晉升為支援您創新的策略合作夥伴,尤其是當遇到本文探討的新式惡意程式威脅時。

TrendAI Vision One™ Threat Intelligence

要隨時掌握持續演變的威脅,趨勢科技客戶可透過 TrendAI Vision One™ Threat Intelligence Hub 取得各種情報與威脅洞見。其中提供 TrendAI™ Research 對新興威脅與駭客組織的最新分析與洞見。

Trend Insights  應用程式

除此之外,TrendAI Vision One™ 客戶還可啟用 Threat Insights 權利來取得更多追蹤查詢。

TrendAI Vision One™ Intelligence Reports (IoC 掃描)

追蹤查詢

TrendAI Vision One™ Search 應用程式

TrendAI Vision One™ 客戶可以使用 Search 應用程式來尋找或追蹤本文提到的惡意指標,看看是否也出現在自己的環境中。

搜尋與 Comprovante WhatsApp 相關的已知惡意 IP 位址對外的連線

eventId:3 AND eventSubId:204 AND (dst:109.176.30.141 OR dst:165.154.254.44 OR dst:23.227.203.148 OR dst:77.111.101.169)

入侵指標 (IoC)

入侵指標請參閱此處。