最近趨勢科技發現一個新的勒索病毒 Ransomware家族 (趨勢科技命名為「HavanaCrypt」),它會假扮成一個 Google Software Update 應用程式,並使用 Microsoft 網站代管服務的 IP 位址作為其幕後操縱 (C&C) 伺服器來躲避偵測。
勒索病毒雖然不是什麼新的發明,但至今仍是全世界最嚴重的網路資安威脅之一。事實上,根據趨勢科技 Smart Protection Network™ 全球威脅情報網的資料,2022 年第 1 季,我們在電子郵件、網址與檔案三個防護層上總共偵測並攔截了 超過 440 萬次勒索病毒威脅,較 2021 年第 4 季整體勒索病毒威脅數量成長 37%。
勒索病毒之所以會如此猖獗,主要原因就在於它會不斷演變。它會隨時變換手法與伎倆來誘騙不知情受害者以入侵企業環境。例如今年,我們看到一些勒索病毒假扮成Windows 10、Google Chrome 及 Microsoft Exchange 更新來誘騙不知情受害者下載惡意檔案。
最近我們發現一個新的勒索病毒家族同樣也是使用類似伎倆,它會假扮成一個 Google Software Update 應用程式,並使用 Microsoft 網站代管服務的 IP 位址作為其幕後操縱 (C&C) 伺服器來躲避偵測。根據我們的研究顯示,這個勒索病毒會在其加密過程中使用 .NET System.Threading 命名空間中用來將工作排入執行佇列的 QueueUserWorkItem 函式,以及開放原始碼密碼管理軟體 KeePass Password Safe 的模組。
本文將從技術面深入分析這個我們命名為「HavanaCrypt」的最新勒索病毒家族與其感染技巧。
進入系統
HavanaCrypt 會假扮成 Google Software Update 應用程式來進入系統。
此惡意程式是一個使用 .NET 組譯的應用程式,並使用開放原始碼 .NET 加密編碼軟體 Obfuscar 來保護其 .NET assembly 中的程式碼。
此外,這個惡意程式還具備多種反制虛擬環境的技巧,藉此防止研究人員在虛擬環境當中對它進行分析。為了分析這個樣本並解開其程式碼,我們使用了 de4dot 和 DeObfuscar 這類工具。
在執行時,HavanaCrypt 會使用 ShowWindow 函式並傳入 0 (SW_HIDE) 作為參數來隱藏它的視窗。
接著,HavanaCrypt 會檢查系統登錄的 AutoRun 機碼,看看「GoogleUpdate」這個機碼是否存在。如果不存在,就繼續執行其惡意行為。
接著,它會檢查自己是否在虛擬環境中執行,如果是,就會終止執行。
虛擬環境反制
HavanaCrypt 會對受害系統進行四項檢查來看看它是否為一台虛擬機器。
第一,它會檢查虛擬機器所使用的一些服務是否存在,例如:VMWare Tools 和 vmmouse。
第二,它會檢查一些虛擬機器常有的檔案。
第三,它會檢查虛擬機器使用的執行檔名稱。
最後,它會檢查電腦的網路卡 (MAC) 位址,核對它的前導字元 (prefix),也就是機構識別碼 (OUI ) 是否屬於一些常見的虛擬機器所有。
範圍或前導字元 | 產品 |
00:05:69 | VMware ESX 和 VMware GSX Server |
00:0C:29 | 獨立的 VMware vSphere、VMware Workstation 及 VMware Horizon |
00:1C:14 | VMWare |
00:50:56 | VMware vSphere、VMware Workstation 和 VMware ESX Server |
08:00:27 | Oracle VirtualBox 5.2 |
在確定受害的電腦不是一台虛擬機器之後,HavanaCrypt 接著會從 20[.]227[.]128[.]33 這個 IP 位址下載一個名為「2.txt」的檔案 (此位址是一個 Microsoft 網站代管服務的 IP 位址),然後將檔案儲存成批次檔 (.bat),檔名由 20 到 25 個隨機字元組成。
接著,它會使用「命令提示字元」(cmd.exe) 來執行這個批次檔,並傳入「/c start」作為參數。批次檔中包含一些設定 Windows Defender 掃描偏好的指令,讓它允許任何在「%Windows%」和「%User%」目錄中偵測到的威脅。
除此之外,HavanaCrypt 還會終止受害電腦上某些執行中的處理程序:
- agntsvc
- axlbridge
- ccevtmgr
- ccsetmgr
- contoso1
- culserver
- culture
- dbeng50
- dbeng8
- dbsnmp
- dbsrv12
- defwatch
- encsvc
- excel
- fdlauncher
- firefoxconfig
- httpd
- infopath
- isqlplussvc
- msaccess
- msdtc
- msdtsrvr
- msftesql
- msmdsrv
- mspub
- mssql
- mssqlserver
- mydesktopqos
- mydesktopservice
- mysqld
- mysqld-nt
- mysqld-opt
- ocautoupds
- ocomm
- ocssd
- onenote
- oracle
- outlook
- powerpnt
- qbcfmonitorservice
- qbdbmgr
- qbidpservice
- qbupdate
- qbw32
- quickboooks.fcs
- ragui
- rtvscan
- savroam
- sqbcoreservice
- sqladhlp
- sqlagent
- sqlbrowser
- sqlserv
- sqlserveragent
- sqlservr
- sqlwriter
- steam
- supervise
- synctime
- tbirdconfig
- thebat
- thebat64
- thunderbird
- tomcat6
- vds
- visio
- vmware-converter
- vmware-usbarbitator64
- winword
- word
- wordpad
- wrapper
- wxserver
- wxserverview
- xfssvccon
- zhudongfangyu
- zhundongfangyu
值得注意的是,上列清單當中包含了某些資料庫應用程式的處理程序,如:Microsoft SQL Server 和 MySQL。還有一些桌面應用程式,如 Microsoft Office 和 Steam 也會被終止。
當這些處理程序都終止之後,HavanaCrypt 會檢查系統上的所有磁碟,刪除所有系統備份,並將其最大儲存空間調整成 401 MB。
此外也會透過 Windows Management Instrumentation (WMI) 來檢查系統還原點,並使用 SRRemoveRestorePoint 來將它們刪除。
接著,它會將自己複製到「%ProgramData%」和「%StartUp%」資料夾,並且更名為 .exe 檔案,檔名為 10 到 15 個隨機字元。並將檔案屬性設為「隱藏」和「系統檔案」。
同時,HavanaCrypt 也會在「%User Startup%」資料夾中植入一個名為「vallo.bat」的檔案,裡面包含一些用來停用「工作管理員」的函式。
蒐集電腦資訊
HavanaCrypt 使用 QueueUserWorkItem 函式來將某些工作與加密執行緒排入佇列。當執行緒集區 (thread pool) 有空閒的執行緒時,就會執行排入佇列的工作。
此外也使用 DebuggerStepThrough 屬性來讓程式碼在除錯時會以整個函式為單位來執行,而非逐行執行。所以若要逐行分析這個函式,就必須清除這個屬性。
在 HavanaCrypt 開始執行加密之前,它會先蒐集某些資訊並傳送給 C&C 伺服器 (20[.]227[.]128[.]33/index.php),這些資訊包括 UID、金鑰和日期。
UID
UID 含有電腦系統獨一無二的識別資訊,如同指紋一樣。HavanaCrypt 會蒐集各種電腦資訊,然後依照下列格式將資訊拼湊在一起,再轉換成 SHA-256 雜湊碼:
[{Number of Cores}{ProcessorID}{Name}{SocketDesignation}] BIOS Information [{Manufacturer}{BIOS Name}{Version}] Baseboard Information [{Name}]
以下是 HavanaCrypt 所蒐集的資訊:
- 處理器核心數量
- 處理器識別碼 (ID)
- 處理器名稱
- 插槽型號
- 主機板製造商
- 主機板名稱
- BIOS 版本
- 產品編號
金鑰和日期
HavanaCrypt 會將「index.php」這串字換成「ham.php」然後發送 GET 請求到 C&C 伺服器 (hxxp[:]//20[.]227[.]128[.]33/ham.php),並將 User Agent 設成「Havana/1.0」。
HavanaCrypt 會使用 Base64 來解碼來自 ham.php 的回應,並使用以下參數來執行 AES 解密:
- Aes.key: d8045c7174c2649e96e68a01a5d77f7dec4846ebebb7ed04fa8b1325c14d84b0 (「HOLAKiiaa##~~@#!2100」這串字的 SHA-256 編碼)
- Aes.IV: 16 個 00 位元組
HavanaCrypt 接著將輸出存放在兩個不同陣列當中,用「–」分隔。第一個陣列存放金鑰,第二個陣列存放日期。
我們使用另一個具備加解密功能的網頁工具 CyberChef 來模仿 HavanaCrypt 將 20[.]227[.]128[.]33/ham.php 的回應解密:
- 輸出: d388ed2139d0703b7c2a810b09e513652eb9402c92304addd34679e21a826537-1655449622
- 金鑰:d388ed2139d0703b7c2a810b09e513652eb9402c92304addd34679e21a826537
- 日期:1655449622
在蒐集完所有必要的電腦資訊之後,HavanaCrypt 會使用 POST 請求將資訊發送到:hxxp://20[.]227[.]128[.]33/index.php,並將 User Agent 設成「Havana/1.0」。
請求發送成功時,HavanaCrypt 會在回應中收到加密金鑰、私密金鑰及其他詳細資訊。
HavanaCrypt 會檢查「hava.info」這個檔案是否已存在於「%AppDataLocal%/Google/Google Software Update/1.0.0.0」目錄。如果找不到這個檔案,就會產生 hava.info 檔案,裡面含有 HavanaCrypt 使用 RSACryptoServiceProvider 函式產生的 RSA 金鑰。
加密行為
我們發現 HavanaCrypt 會使用 KeePass Password Safe 的模組來執行加密行為。尤其,它會使用 CryptoRandom 函式來產生加密所需的隨機金鑰。HavanaCrypt 所使用的函式與 GitHub 上的 KeePass Password Safe 模組明顯相似。
HavanaCrypt 會將檔案加密,並使用「.Havana」為副檔名。
在加密時,它會避開某些副檔名的檔案,包括副檔名「.Havana」的檔案。
此外,HavanaCrypt 也會避開某些目錄中的檔案。
在加密期間,HavanaCrypt 會產生一個名為「foo.txt」的文字檔,裡面記錄了所有檔案已被加密的目錄。
結論與趨勢科技解決方案
HavanaCrypt 勒索病毒會假扮成 Google Software Update 應用程式來誘騙使用者執行惡意程式。此外,它還具備一些反制虛擬環境的技巧,包括檢查虛擬機器相關的處理程序、檔案與服務。
然而,使用 Microsoft 網站代管服務來當成 C&C 伺服器對勒索病毒來說並不常見,而且駭客可能也將它當成正常的網站代管服務來使用以掩人耳目。除了 C&C 伺服器不尋常之外,HavanaCrypt在加密階段還使用了合法軟體 (KeePass Password Safe) 的模組。
未來,此勒索病毒集團很可能打算用 Tor 瀏覽器來進行通訊,因為它在加密時會避開 Tor 的目錄。另一個值得注意的點是 HavanaCrypt 也會將 foo.txt 這個文字檔加密,而且不會留下勒索訊息。這可能意味著 HavanaCrypt 仍在開發階段,儘管如此,我們仍要在它進一步演化並造成更大損害之前就加以偵測並攔截。
企業和一般使用者可採用下列多層式防禦來偵測勒索病毒,不讓駭客有機會發動攻擊:
- Trend Micro Vision One™ 提供了多層式防護與行為偵測,可提早攔截可疑行為與工具,不讓勒索病毒有機會造成破壞。
- Trend Micro Apex One™ 可進一步提供自動化威脅偵測及回應,防範無檔案式威脅與勒索病毒等進階攻擊,保障端點安全。
入侵指標資料
檔案
SHA-256 | 趨勢科技偵測名稱 | 說明 |
b37761715d5a2405a3fa75abccaf6bb15b7298673aaad91a158725be3c518a87 | Ransom.MSIL.HAVANACRYPT.THFACBB | 加密編碼後的 HAVANACRYPT 勒索病毒。 |
bf58fe4f2c96061b8b01e0f077e0e891871ff22cf2bc4972adfa51b098abb8e0 | Ransom.MSIL.HAVANACRYPT.THFACBB | 解開後的 HAVANACRYPT 勒索病毒。 |
aa75211344aa7f86d7d0fad87868e36b33db1c46958b5aa8f26abefbad30ba17 | Ransom.MSIL.HAVANACRYPT.THFBABB | 解開後的 HAVANACRYPT 勒索病毒。 |
網址
http://20[.]227[.]128[.]33/2.txt |
http://20[.]227[.]128[.]33/index.php |
http://20[.]227[.]128[.]33/ham.php |
原文出處: Brand-New HavanaCrypt Ransomware Poses as Google Software Update App, Uses Microsoft Hosting Service IP Address as C&C Server 作者:Nathaniel Morales、Monte de Jesus、Ivan Nicole Chavez、Bren Matthew Ebriega 與 Joshua Paul Ignacio