趨勢科技深入研究了當今最熱門的角色扮演遊戲《原神》的防作弊系統驅動程式「mhyprot2.sys」所暗藏的漏洞,該驅動程式目前正被勒索病毒集團拿來終止防毒軟體的處理程序與服務,以方便他們大量散播勒索病毒 。
過去我們就曾在報導中看過一些經過數位簽署的 Rootkit (駭客工具套件),例如: Netfilter、FiveSys 和 Fire Chili。這些 Rootkit 通常使用偷來的數位簽章或偽造驗證,但合法的驅動程式被當成 Rootkit 使用,卻又是另外一回事,當今最熱門的角色扮演遊戲《原神》的防作弊系統驅動程式「mhyprot2.sys」就是這樣一個活生生的例子。這個驅動程式目前正被某個勒索病毒集團拿來終止防毒軟體的處理程序與服務,以方便他們大量散播勒索病毒。值得資安團隊注意的是,mhyprot2.sys 可整合至任何惡意程式當中。
駭客先在受害裝置安裝勒索病毒,然後再散播到整個網路
時間回到 2022 年 7 月的最後一個禮拜,我們發現一名客戶的電腦上安裝的端點防護軟體偵測到一個勒索病毒。在分析其感染過程之後,我們發現熱門遊戲《原神》的防作弊系統驅動程式 (檔名「mhyprot2.sys」) 被駭客用來躲避 Windows 系統的權限管制,結果使得駭客可以在系統核心模式 (kernel mode) 內下達指令將端點防護的處理程序終止。
截至本文撰稿為止,mhyprot2.sys 驅動程式的簽章依然有效,由於該驅動程式可獨立於遊戲之外運作,所以此攻擊手法不需在受害裝置安裝《原神》遊戲就能運作。
在系統安裝勒索病毒只是駭客攻擊的開端,駭客的用意是要先在受害裝置安裝勒索病毒,然後再散播到整個網路。由於 mhyprot2.sys 驅動程式可整合至任何惡意程式當中,所以我們正在做進一步的研究以了解此裝置驅動程式應用的範圍有多廣。
基於以下幾項因素,企業與資安團隊應特別小心:首先,mhyprot2.sys 驅動程式非常容易取得;其次,該驅動程式可避開權限管制因此用途很廣;最後,這套手法已有現成的概念驗證 (PoC) 程式碼可用。以上所有因素加起來,意味著此驅動程式應該不只有目前發現的 Rootkit 正在使用。
此外,也請資安團隊特別留意本文描述的攻擊時間點與攻擊手法,有關這起攻擊用到的詳細手法與技巧,請參閱本文最後的 MITRE ATT&CK 分析一節。
攻擊時間點
駭客最早的入侵證據是來自受害企業某不明端點一個名為「secretsdump」的工具連線至某台網域控制器。接著使用「wmiexec」工具以內建的網域系統管理員身分執行一些探索指令。secretsdump 可搜刮遠端電腦上的機密資料而不需在遠端電腦安裝代理程式,而 wmiexec 則可利用 Windows Management Instrumentation (WMI) 執行遠端指令,這兩個工具都來自 Impacket 這套針對各種網路通訊協定設計的免費 Python 工具。
沒過多久,駭客就使用另一個被盜用的系統管理員帳號經由遠端桌面通訊協定 (RDP) 連上網域控制器。從這裡開始,所有指令都是以該使用者的身分來執行。
註:被盜用的系統管理員帳號執行的「rdpclip.exe」處理程序是一個用來支援 RDP 連線的工具,此工具為 RDP 連線階段提供了剪貼簿功能。
一個惡意檔案「kill_svc.exe」(C:\users\{compromised user}\kill_svc.exe) 和驅動程式「 mhyprot2.sys」(C:\users\{compromised user}\mhyprot2.sys) 被一起傳送到桌面上,這就是《原神》驅動程式首次被發現的時間點。kill_svc.exe 會負責安裝 mhyprot2.sys,然後終止防毒軟體的服務。
另一個惡意檔案「avg.msi」被傳送至某個 netlogon 共用資料夾 (\\{domaincontroller}\NETLOGON\avg.msi)。此 Windows 安裝程式 (.msi) 內含「avg.exe」,這是一個偽裝成 AVG Internet Security 防毒軟體的程式,用來產生並執行以下檔案:
- logon.bat – 這個批次檔負責執行「HelpPane.exe」,後者會終止防毒軟體與其他服務,並執行 svchost.exe。
- HelpPane.exe – 偽裝成 Microsoft Help and Support 執行檔的惡意檔案,其功能類似 kill_svc.exe,負責安裝 mhyprot2.sys 並終止防毒軟體服務。
- mhyprot2.sys – 含有漏洞的《原神》防作弊系統驅動程式。
- svchost.exe – 勒索病毒本身。
從以上資料看來,駭客的計畫是利用 Windows 啟動/登入腳本從網域控制器大量散播勒索病毒。
netlogon 共用資料夾上的 Windows 安裝程式 avg.msi 是經由 Group Policy Object (GPO) 安裝到其中一台工作站電腦。我們懷疑這是為了測試經由 GPO 派送檔案的方式是否行得通,但看來是沒有成功。
接著,駭客從某個不明端點登入工作站。我們同時觀察到 Logon Type 3 (Network Logon) 和 Logon Type 10 (RemoteInteractive) 兩種事件。Windows 安裝程式 avg.msi 被手動安裝了三次,結果也沒有成功,所以並未啟動加密動作,不過倒是成功地終止了防毒軟體服務。
註:雖然 avg.msi 沒有安裝成功,不過該防毒軟體卻被停掉了。
從 avg.msi 當中擷取出來的 avg.exe 檔案也被傳送至桌面並執行了三次。但根據我們的分析發現,即使防毒軟體已經沒有在運作,這個步驟還是沒有成功。顯然,使用 .msi 或 .exe 檔案的作法並未得逞。
為了讓攻擊行動繼續,駭客傳送了 logon.bat 到桌面然後手動將它執行。logon.bat 檔案原本應該是由 avg.exe 所產生並執行,此時卻是手動單獨執行。
令人訝異的是,logon.bat 確實順利執行,勒索病毒檔案 svchost.exe 也開始產生勒索訊息並加密檔案。知道這點之後,駭客將大量散播勒索病毒所需的以下三個檔案放到一個名為「lol」的共用資料夾:mhyprot2.sys、kill_svc.exe (用來終止防毒軟體服務) 與 svchost.exe (勒索病毒本身)。
接著一個負責複製並執行前述檔案的批次檔「b.bat」(C:\Users\{compromised user}\Desktop\b.bat) 由內建的網域系統管理員帳號透過 PsExec 工具部署到系統上,並使用了一個名為「ip.txt」的檔案來列出要攻擊的目標工作站。
mhyprot2.sys 深入剖析
mhyprot2.sys 驅動程式是由 kill_svc.exe 或 HelpPane.exe 使用 NtOpenFile 函式來載入系統。
kill_svc.exe 或 HelpPane.exe 在載入 mhyprot2.sys 之後,會列出一份要終止的處理程序清單。
接下來,它會使用 DeviceIoControl 函式將這項資訊傳給驅動程式。
傳送給驅動程式的代碼「 0x81034000」用來指示驅動程式將清單中的處理程序終止。
這起攻擊所用的 mhyprot2.sys 驅動程式是在 2020 年 8 月製作。回到社群媒體討論串,我們可以看到,就在 2020 年 9 月《原神》正式上市沒多久,這個驅動程式就在遊戲社群引起了討論,因為即使遊戲已經卸載,驅動程式依然留著,還有就是它可用來避開 Windows 系統的權限管制。
有一份概念驗證 (PoC) 程式碼 (提供者: kagurazakasanae) 示範了如何終止了「360 安全衛士」(360 Total Security) 防毒軟體。還有一份更完整的 概念驗證程式碼 (提供者: Kento Oki) 提供了以下功能:
- 在使用者模式 (user mode) 下以系統核心 (kernel) 的權限讀/寫任何核心記憶體。
- 在使用者模式 (user mode) 下以系統核心 (kernel) 的權限讀/寫任何使用者記憶體。
- 找出某個 ID 的處理程序所有的模組。
- 取得系統運轉時間。
- 找出某處理程序的執行緒,允許從指令列介面 (CLI) 讀取系統核心內的 PETHREAD 資料結構。
- 使用 ZwTerminateProcess 函式終止某個 ID 的處理程序,而且是在驅動程式內部 (ring-0) 執行呼叫。
不僅如此,一位名叫「Kento Oki」的開發人員也曾經將此漏洞通報給《原神》的開發商米哈遊 (miHoYo)。Kento Oki 的概念驗證程式碼引發了更多討論,但開發商卻不承認這是漏洞,同時也未提供修正。當然,其程式簽章目前仍是有效狀態,而且到現在都還未撤銷,用來簽署驅動程式的數位簽章目前也仍然有效。
裝置驅動程式簽章的問題
像這樣已經過合法簽署的裝置驅動程式被駭客利用的案例相當罕見。此個案的重點是:一個經過合法簽署的裝置驅動程式就能避開從使用者模式跨越到核心模式的權限管制。就算廠商承認這樣的情況是個漏洞,並提供了修正,但驅動程式一旦流通在外就不會消失。由於該驅動程式已經過簽署,所以可以被載入到核心模式中。如果它的程式簽章是使用偷來的私密金鑰所簽署,那麼大可以撤銷其憑證就能使簽章無效。但是此個案的情況卻是一個合法簽署的驅動程式遭到濫用,其私密金鑰似乎並未失竊,所以目前仍不知該憑證是否會被撤銷,至少到目前為止它仍處於有效狀態。
正如前面所說,該驅動程式非常容易取得,每個人都能拿到,除非憑證被撤銷。所以這個驅動程式有可能還會存在好一陣子,而且會被拿來當成避開權限管制的好用工具。撤銷憑證或靠防毒軟體來偵測這個驅動程式,都有助於避免濫用的情況,但由於它是個合法的驅動程式,所以目前問題仍無法徹底解決。
如何反制:監控與偵測
目前大概只有少數幾個具備合法簽章的驅動程式會出現這樣的行為,我們建議資安團隊和網路資安人員應監控其企業內部是否出現前述惡意檔案。我們確認以下檔案會有躲避權限管制的行為:
- mhyprot2.sys (0466e90bf0e83b776ca8716e01d35a8a2e5f96d3)
此外我們也建議企業監控 Windows 事件記錄檔是否出現對應此驅動程式的服務安裝事件。如果此服務並非您自己所安裝,那就應該強烈懷疑自己是否遭到駭客入侵:
- Windows Event Log (System) – 7045: A new service was installed in the system. Service name: mhyprot2.
建議與解決方案
勒索病毒集團隨時都在尋找能讓使用者裝置暗中感染惡意程式的方法。透過熱門遊戲或其他娛樂平台確實是一種引誘受害者下載危險檔案的有效方法。企業機構應隨時監控其電腦上安裝的軟體,並採取適當的解決方案來預防感染。
使用者和企業也可採用一套具備多層式偵測及回應功能的資安解決方案,例如 Trend Micro Vision One™ 即具備多層式防護與行為偵測,能協助攔截可疑行為和工具,不讓勒索病毒造成危害。此外還有 Trend Micro Apex One™ 可提供進一步的自動化威脅偵測及回應來防範端點遭遇進階威脅,例如駭客植入的勒索病毒。
如需更多有關這起攻擊的入侵指標資訊,請下載這份文件。 作者:Ryan Soliven 與 Hitomi Kimura
🔴 一般用戶
假使您也不幸成了受害者,請保持冷靜,最好向外尋求協助,但不要支付贖金。而平時,最好可以安裝一套防毒軟體的即時防護。如 趨勢科技 PC-cillin 的「勒索剋星」可為您的寶貴檔案提供多一層防護。》立即免費下載試用
🔴 企業用戶
建議企業採用一套跨世代的多層式防護技術來防止最新勒索病毒攻擊,在適當時機套用適當的技術來保護您的使用者和資料。》立即前往了解
原文出處:Ransomware Actor Abuses Genshin Impact Anti-Cheat Driver to Kill Antivirus