最近趨勢科技發現一個新的勒索病毒 Ransomware家族 (趨勢科技命名為「HavanaCrypt」),它會假扮成一個 Google Software Update 應用程式,並使用 Microsoft 網站代管服務的 IP 位址作為其幕後操縱 (C&C) 伺服器來躲避偵測。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2017/06/ransom-4-30x13.jpg)
勒索病毒雖然不是什麼新的發明,但至今仍是全世界最嚴重的網路資安威脅之一。事實上,根據趨勢科技 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 應用程式來進入系統。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-28-30x22.png)
此惡意程式是一個使用 .NET 組譯的應用程式,並使用開放原始碼 .NET 加密編碼軟體 Obfuscar 來保護其 .NET assembly 中的程式碼。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-29-30x19.png)
此外,這個惡意程式還具備多種反制虛擬環境的技巧,藉此防止研究人員在虛擬環境當中對它進行分析。為了分析這個樣本並解開其程式碼,我們使用了 de4dot 和 DeObfuscar 這類工具。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-30-30x15.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-31-30x12.png)
在執行時,HavanaCrypt 會使用 ShowWindow 函式並傳入 0 (SW_HIDE) 作為參數來隱藏它的視窗。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-32-30x13.png)
接著,HavanaCrypt 會檢查系統登錄的 AutoRun 機碼,看看「GoogleUpdate」這個機碼是否存在。如果不存在,就繼續執行其惡意行為。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-33-30x13.png)
接著,它會檢查自己是否在虛擬環境中執行,如果是,就會終止執行。
虛擬環境反制
HavanaCrypt 會對受害系統進行四項檢查來看看它是否為一台虛擬機器。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-34-30x10.png)
圖 7:HavanaCrypt 用來反制虛擬環境的函式。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-35-24x30.png)
第一,它會檢查虛擬機器所使用的一些服務是否存在,例如:VMWare Tools 和 vmmouse。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-36-30x16.png)
第二,它會檢查一些虛擬機器常有的檔案。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-37-25x30.png)
第三,它會檢查虛擬機器使用的執行檔名稱。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-38-30x11.png)
最後,它會檢查電腦的網路卡 (MAC) 位址,核對它的前導字元 (prefix),也就是機構識別碼 (OUI ) 是否屬於一些常見的虛擬機器所有。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-39-30x9.png)
範圍或前導字元 | 產品 |
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 個隨機字元組成。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-40-30x23.png)
(圖片來源: AbuseIPDB)
接著,它會使用「命令提示字元」(cmd.exe) 來執行這個批次檔,並傳入「/c start」作為參數。批次檔中包含一些設定 Windows Defender 掃描偏好的指令,讓它允許任何在「%Windows%」和「%User%」目錄中偵測到的威脅。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-41-30x9.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-42-30x6.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-43-30x12.png)
除此之外,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
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-44-30x14.png)
值得注意的是,上列清單當中包含了某些資料庫應用程式的處理程序,如:Microsoft SQL Server 和 MySQL。還有一些桌面應用程式,如 Microsoft Office 和 Steam 也會被終止。
當這些處理程序都終止之後,HavanaCrypt 會檢查系統上的所有磁碟,刪除所有系統備份,並將其最大儲存空間調整成 401 MB。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-45-30x16.png)
此外也會透過 Windows Management Instrumentation (WMI) 來檢查系統還原點,並使用 SRRemoveRestorePoint 來將它們刪除。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-46-30x5.png)
圖 19:HavanaCrypt 會透過 WMI 刪除系統還原點。
接著,它會將自己複製到「%ProgramData%」和「%StartUp%」資料夾,並且更名為 .exe 檔案,檔名為 10 到 15 個隨機字元。並將檔案屬性設為「隱藏」和「系統檔案」。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-47-30x7.png)
圖 20:HavanaCrypt 將自己複製到「%ProgramData%」和「%StartUp%」資料夾。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-48-30x9.png)
同時,HavanaCrypt 也會在「%User Startup%」資料夾中植入一個名為「vallo.bat」的檔案,裡面包含一些用來停用「工作管理員」的函式。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-49-30x7.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-50-30x3.png)
圖 23:vallo.bat 檔案的內容。
蒐集電腦資訊
HavanaCrypt 使用 QueueUserWorkItem 函式來將某些工作與加密執行緒排入佇列。當執行緒集區 (thread pool) 有空閒的執行緒時,就會執行排入佇列的工作。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-51-30x16.png)
此外也使用 DebuggerStepThrough 屬性來讓程式碼在除錯時會以整個函式為單位來執行,而非逐行執行。所以若要逐行分析這個函式,就必須清除這個屬性。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-52-30x9.png)
在 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}]
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-53-30x25.png)
圖 26:HavanaCrypt 用來蒐集電腦資訊的函式。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-54-30x5.png)
以下是 HavanaCrypt 所蒐集的資訊:
- 處理器核心數量
- 處理器識別碼 (ID)
- 處理器名稱
- 插槽型號
- 主機板製造商
- 主機板名稱
- BIOS 版本
- 產品編號
金鑰和日期
HavanaCrypt 會將「index.php」這串字換成「ham.php」然後發送 GET 請求到 C&C 伺服器 (hxxp[:]//20[.]227[.]128[.]33/ham.php),並將 User Agent 設成「Havana/1.0」。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-55-30x5.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-56-30x11.png)
HavanaCrypt 會使用 Base64 來解碼來自 ham.php 的回應,並使用以下參數來執行 AES 解密:
- Aes.key: d8045c7174c2649e96e68a01a5d77f7dec4846ebebb7ed04fa8b1325c14d84b0 (「HOLAKiiaa##~~@#!2100」這串字的 SHA-256 編碼)
- Aes.IV: 16 個 00 位元組
HavanaCrypt 接著將輸出存放在兩個不同陣列當中,用「–」分隔。第一個陣列存放金鑰,第二個陣列存放日期。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-57-30x10.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-58-30x17.png)
我們使用另一個具備加解密功能的網頁工具 CyberChef 來模仿 HavanaCrypt 將 20[.]227[.]128[.]33/ham.php 的回應解密:
- 輸出: d388ed2139d0703b7c2a810b09e513652eb9402c92304addd34679e21a826537-1655449622
- 金鑰:d388ed2139d0703b7c2a810b09e513652eb9402c92304addd34679e21a826537
- 日期:1655449622
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-59-30x11.png)
在蒐集完所有必要的電腦資訊之後,HavanaCrypt 會使用 POST 請求將資訊發送到:hxxp://20[.]227[.]128[.]33/index.php,並將 User Agent 設成「Havana/1.0」。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-60-30x3.png)
請求發送成功時,HavanaCrypt 會在回應中收到加密金鑰、私密金鑰及其他詳細資訊。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-61-30x9.png)
HavanaCrypt 會檢查「hava.info」這個檔案是否已存在於「%AppDataLocal%/Google/Google Software Update/1.0.0.0」目錄。如果找不到這個檔案,就會產生 hava.info 檔案,裡面含有 HavanaCrypt 使用 RSACryptoServiceProvider 函式產生的 RSA 金鑰。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-62-30x16.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-63-30x12.png)
加密行為
我們發現 HavanaCrypt 會使用 KeePass Password Safe 的模組來執行加密行為。尤其,它會使用 CryptoRandom 函式來產生加密所需的隨機金鑰。HavanaCrypt 所使用的函式與 GitHub 上的 KeePass Password Safe 模組明顯相似。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-64-30x14.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-65-26x30.png)
HavanaCrypt 會將檔案加密,並使用「.Havana」為副檔名。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-66-30x17.png)
在加密時,它會避開某些副檔名的檔案,包括副檔名「.Havana」的檔案。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-67-30x6.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-68-30x11.png)
此外,HavanaCrypt 也會避開某些目錄中的檔案。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-69-30x26.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-70-30x23.png)
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-71-30x17.png)
在加密期間,HavanaCrypt 會產生一個名為「foo.txt」的文字檔,裡面記錄了所有檔案已被加密的目錄。
![](https://blog.trendmicro.com.tw/wp-content/uploads/2022/07/image-72-26x30.png)
結論與趨勢科技解決方案
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