新的 HavanaCrypt 勒索病毒假扮成 Google Software Update 應用程式,使用 Microsoft 代管服務 IP 位址作為 C&C 伺服器

最近趨勢科技發現一個新的勒索病毒 Ransomware家族 (趨勢科技命名為「HavanaCrypt」),它會假扮成一個 Google Software Update 應用程式,並使用 Microsoft 網站代管服務的 IP 位址作為其幕後操縱 (C&C) 伺服器來躲避偵測。

勒索病毒雖然不是什麼新的發明,但至今仍是全世界最嚴重的網路資安威脅之一。事實上,根據趨勢科技 Smart Protection Network™ 全球威脅情報網的資料,2022 年第 1 季,我們在電子郵件、網址與檔案三個防護層上總共偵測並攔截了 超過 440 萬次勒索病毒威脅,較 2021 年第 4 季整體勒索病毒威脅數量成長 37%。

勒索病毒之所以會如此猖獗,主要原因就在於它會不斷演變。它會隨時變換手法與伎倆來誘騙不知情受害者以入侵企業環境。例如今年,我們看到一些勒索病毒假扮成Windows 10Google Chrome 及 Microsoft Exchange 更新來誘騙不知情受害者下載惡意檔案。

最近我們發現一個新的勒索病毒家族同樣也是使用類似伎倆,它會假扮成一個 Google Software Update 應用程式,並使用 Microsoft 網站代管服務的 IP 位址作為其幕後操縱 (C&C) 伺服器來躲避偵測。根據我們的研究顯示,這個勒索病毒會在其加密過程中使用 .NET System.Threading 命名空間中用來將工作排入執行佇列的 QueueUserWorkItem  函式,以及開放原始碼密碼管理軟體 KeePass Password Safe 的模組。

本文將從技術面深入分析這個我們命名為「HavanaCrypt」的最新勒索病毒家族與其感染技巧。

進入系統


HavanaCrypt 會假扮成 Google Software Update 應用程式來進入系統。

圖 1:HavanaCrypt 執行檔詳細資訊。


此惡意程式是一個使用 .NET 組譯的應用程式,並使用開放原始碼 .NET 加密編碼軟體 Obfuscar 來保護其 .NET assembly 中的程式碼。

圖 2:使用 Detect It Easy 工具所看到的 HavanaCrypt 執行檔屬性資料 (該工具可用來查看檔案的類型)。


此外,這個惡意程式還具備多種反制虛擬環境的技巧,藉此防止研究人員在虛擬環境當中對它進行分析。為了分析這個樣本並解開其程式碼,我們使用了 de4dotDeObfuscar 這類工具。

圖 3:HavanaCrypt 勒索病毒原本經過加密編碼的程式碼。


圖 4:HavanaCrypt 勒索病毒解開後的程式碼。


在執行時,HavanaCrypt 會使用 ShowWindow 函式並傳入 0 (SW_HIDE) 作為參數來隱藏它的視窗。

圖 5:HavanaCrypt 使用 ShowWindow 函式來隱藏其視窗。


接著,HavanaCrypt 會檢查系統登錄的 AutoRun 機碼,看看「GoogleUpdate」這個機碼是否存在。如果不存在,就繼續執行其惡意行為。

圖 6:HavanaCrypt 用來檢查系統登錄機碼的函式。


接著,它會檢查自己是否在虛擬環境中執行,如果是,就會終止執行。

虛擬環境反制


HavanaCrypt 會對受害系統進行四項檢查來看看它是否為一台虛擬機器。


圖 7:HavanaCrypt 用來反制虛擬環境的函式。

圖 8:HavanaCrypt 完整的虛擬環境反制程式碼。


第一,它會檢查虛擬機器所使用的一些服務是否存在,例如:VMWare Toolsvmmouse

圖 9:HavanaCrypt 會檢查的服務。


第二,它會檢查一些虛擬機器常有的檔案。

圖 10:HavanaCrypt 會檢查虛擬機器相關的檔案。


第三,它會檢查虛擬機器使用的執行檔名稱。

圖 11:HavanaCrypt 會檢查虛擬機器的執行檔。


最後,它會檢查電腦的網路卡 (MAC) 位址,核對它的前導字元 (prefix),也就是機構識別碼 (OUI ) 是否屬於一些常見的虛擬機器所有。

圖 12:HavanaCrypt 會檢查機構識別碼 (OUI)。


範圍或前導字元產品
00:05:69VMware ESX 和 VMware GSX Server
00:0C:29獨立的 VMware vSphere、VMware Workstation 及 VMware Horizon
00:1C:14VMWare
00:50:56VMware vSphere、VMware Workstation 和 VMware ESX Server
08:00:27Oracle VirtualBox 5.2
表 1:虛擬機器的 OUI 範圍或前導字元。

在確定受害的電腦不是一台虛擬機器之後,HavanaCrypt 接著會從 20[.]227[.]128[.]33 這個 IP 位址下載一個名為「2.txt」的檔案 (此位址是一個 Microsoft 網站代管服務的 IP 位址),然後將檔案儲存成批次檔 (.bat),檔名由 20 到 25 個隨機字元組成。

圖 13:Microsoft 網站代管服務 IP 位址詳細內容。
(圖片來源: AbuseIPDB)


接著,它會使用「命令提示字元」(cmd.exe) 來執行這個批次檔,並傳入「/c start」作為參數。批次檔中包含一些設定 Windows Defender 掃描偏好的指令,讓它允許任何在「%Windows%」和「%User%」目錄中偵測到的威脅。

圖 14:負責下載並執行批次檔的函式。


圖 15:位於 Microsoft 網站代管服務 IP 位址的 Base64 編碼「2.txt」檔案。



圖 16:從 Microsoft 網站代管服務 IP 位址下載並已解碼的批次檔案。


除此之外,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
圖 17:HavanaCrypt 會終止的處理程序。


值得注意的是,上列清單當中包含了某些資料庫應用程式的處理程序,如:Microsoft SQL Server 和 MySQL。還有一些桌面應用程式,如 Microsoft Office 和 Steam 也會被終止。

當這些處理程序都終止之後,HavanaCrypt 會檢查系統上的所有磁碟,刪除所有系統備份,並將其最大儲存空間調整成 401 MB。

圖 18:HavanaCrypt 會刪除系統備份,並將其最大儲存空間調整成 401 MB。


此外也會透過 Windows Management Instrumentation (WMI) 來檢查系統還原點,並使用 SRRemoveRestorePoint 來將它們刪除。


圖 19:HavanaCrypt 會透過 WMI 刪除系統還原點。

接著,它會將自己複製到「%ProgramData%」和「%StartUp%」資料夾,並且更名為 .exe 檔案,檔名為 10 到 15 個隨機字元。並將檔案屬性設為「隱藏」和「系統檔案」。


圖 20:HavanaCrypt 將自己複製到「%ProgramData%」和「%StartUp%」資料夾。

圖 21:HavanaCrypt 將檔案屬性設為「隱藏」和「系統檔案」。


同時,HavanaCrypt 也會在「%User Startup%」資料夾中植入一個名為「vallo.bat」的檔案,裡面包含一些用來停用「工作管理員」的函式。

圖 22:HavanaCrypt 在「%User Startup%」資料夾中植入「vallo.bat」檔案。



圖 23:vallo.bat 檔案的內容。

蒐集電腦資訊

HavanaCrypt 使用 QueueUserWorkItem 函式來將某些工作與加密執行緒排入佇列。當執行緒集區 (thread pool) 有空閒的執行緒時,就會執行排入佇列的工作。

圖 24:HavanaCrypt 使用 QueueUserWorkItem 函式。


此外也使用 DebuggerStepThrough 屬性來讓程式碼在除錯時會以整個函式為單位來執行,而非逐行執行。所以若要逐行分析這個函式,就必須清除這個屬性。

圖 25:HavanaCrypt 設定了 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}]


圖 26:HavanaCrypt 用來蒐集電腦資訊的函式。

圖 27:HavanaCrypt 將蒐集到的資訊轉成一個 SHA-256 雜湊碼。


以下是 HavanaCrypt 所蒐集的資訊:

  • 處理器核心數量
  • 處理器識別碼 (ID)
  • 處理器名稱
  • 插槽型號
  • 主機板製造商
  • 主機板名稱
  • BIOS 版本
  • 產品編號

金鑰和日期


HavanaCrypt  會將「index.php」這串字換成「ham.php」然後發送 GET 請求到 C&C 伺服器 (hxxp[:]//20[.]227[.]128[.]33/ham.php),並將 User Agent 設成「Havana/1.0」。

圖 28:HavanaCrypt 發送 GET 請求到 C&C 伺服器的函式。


圖 29:我們使用網頁除錯工具 Fiddler 從 20[.]227[.]128[.]33/ham.php 收到的回應。


HavanaCrypt 會使用 Base64 來解碼來自 ham.php 的回應,並使用以下參數來執行 AES 解密:

  • Aes.key: d8045c7174c2649e96e68a01a5d77f7dec4846ebebb7ed04fa8b1325c14d84b0 (「HOLAKiiaa##~~@#!2100」這串字的 SHA-256 編碼)
  • Aes.IV: 16 個 00 位元組

HavanaCrypt 接著將輸出存放在兩個不同陣列當中,用「–」分隔。第一個陣列存放金鑰,第二個陣列存放日期。

圖 30:HavanaCrypt 的 AES 解密參數起始化。


圖 31:HavanaCrypt 執行 AES 解密。


我們使用另一個具備加解密功能的網頁工具 CyberChef 來模仿 HavanaCrypt 將 20[.]227[.]128[.]33/ham.php 的回應解密:

  • 輸出: d388ed2139d0703b7c2a810b09e513652eb9402c92304addd34679e21a826537-1655449622
  • 金鑰:d388ed2139d0703b7c2a810b09e513652eb9402c92304addd34679e21a826537
  • 日期:1655449622
圖 32:我們使用 CyberChef 程式模擬 HavanaCrypt 的解密動作。


在蒐集完所有必要的電腦資訊之後,HavanaCrypt 會使用 POST 請求將資訊發送到:hxxp://20[.]227[.]128[.]33/index.php,並將 User Agent 設成「Havana/1.0」。

圖 33:我們使用 Fiddler 擷取到 HavanaCrypt 發送到 hxxp[:]20[.]227[.]128[.]33/index[.]php 的  POST 請求。

請求發送成功時,HavanaCrypt 會在回應中收到加密金鑰、私密金鑰及其他詳細資訊。

圖 34:我們使用 Fiddler 收到來自 hxxp[:]20[.]227[.]128[.]33/index[.]php 的回應。


HavanaCrypt 會檢查「hava.info」這個檔案是否已存在於「%AppDataLocal%/Google/Google Software Update/1.0.0.0」目錄。如果找不到這個檔案,就會產生 hava.info 檔案,裡面含有 HavanaCrypt 使用 RSACryptoServiceProvider 函式產生的 RSA 金鑰。

圖 35:我們使用 HIEW (一個 16 進位編輯器) 查看 hava.info 檔案內容。


圖 36:HavanaCrypt 使用 RSACryptoServiceProvider 函式產生一個 RSA 金鑰。


加密行為


我們發現 HavanaCrypt 會使用 KeePass Password Safe 的模組來執行加密行為。尤其,它會使用 CryptoRandom 函式來產生加密所需的隨機金鑰。HavanaCrypt 所使用的函式與 GitHub 上的 KeePass Password Safe 模組明顯相似。

圖 37:HavanaCrypt 用於產生隨機位元組的函式。


圖 38:取自 GitHub 的 KeePass Password Safe 程式碼。


HavanaCrypt 會將檔案加密,並使用「.Havana」為副檔名。

圖 39:HavanaCrypt 的加密行為。


在加密時,它會避開某些副檔名的檔案,包括副檔名「.Havana」的檔案。

圖 40:HavanaCrypt 用來避開某些副檔名的函式。


圖 41:HavanaCrypt 在加密時會避開的副檔名。


此外,HavanaCrypt 也會避開某些目錄中的檔案。

圖 42:HavanaCrypt 在加密時會避開的一些目錄。


圖 43:HavanaCrypt 用來避開某些目錄的函式。


圖 44:一些已被 HavanaCrypt 加密的檔案。


在加密期間,HavanaCrypt 會產生一個名為「foo.txt」的文字檔,裡面記錄了所有檔案已被加密的目錄。

圖 45: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