通常,勒索軟件攻擊物理計算機和運行在 Windows 上的虛擬機器,而在 macOS 和 Linux 上則較少。不幸的是,網絡罪犯繼續開發新版本的勒索軟件,可以通過新發現的漏洞感染其他操作系統。這是最近的一個例子,是ESXi 勒索軟件攻擊,通過利用 ESXi 的漏洞感染了 VMware 虛擬化主機,導致全球組織嚴重停機。
本博客文章解釋了勒索軟件攻擊的危險性,勒索軟件如何感染 ESXi 主機,以及如何保護自己免受勒索軟件攻擊,包括對抗 ESXi Args 勒索軟件。
ESXi 勒索軟件攻擊的開始
ESXi 勒索軟件攻擊的第一個案例發生在2022年10月,當時 VMware 結束了對 ESXi 6.5 和 6.7 的一般支持。法國、德國、美國、加拿大、英國和其他國家的 ESXi 主機被感染的數量很多。到2023年2月,已有超過3,000個感染的 ESXi 主機,其數據被加密且無法恢復。攻擊 ESXi 主機的勒索軟件的名稱包括 ESXiArgs、Royal 和 Cl0p。此外,還出現了新的 ESXi 勒索軟件家族,如 RansomEXX、Lockbit、BlackBasta、Cheerscrypt、Hive、RedAlert/N13V 等等。
ESXi 主機對攻擊者具有吸引力,因為伺服器虛擬化已變得更加流行,許多組織使用虛擬機器進行其生產環境。因此,勒索軟體創作者一直專注於發起VMware ESXi勒索軟體攻擊,希望能夠獲得巨額利潤。感染一台ESXi主機允許攻擊者加密/破壞該主機上多個虛擬機器中的數據。這種方法可能比感染虛擬機器更有效,因為虛擬機器可能運行不同的操作系統。ESXi Args勒索軟體攻擊是針對非Windows伺服器的最大勒索軟體攻擊之一。
哪些ESXi版本容易受到ESXi勒索軟體的攻擊?
ESXi勒索軟體利用不同的漏洞,包括CVE-2022-31699、CVE-2021-21995、CVE-2021-21974、CVE-2020-3992和CVE-2019-5544。
ESXi Args勒索軟體使用CVE-2021-21974來感染ESXi主機。這是一個在2021年發現的漏洞,可能發生在尚未修補/更新的ESXi主機上。這是一個在ESXi上運行的OpenSLP服務中的堆溢出漏洞。針對CVE-2021-21974的修補程序於2021年2月21日發布。
以下ESXi版本容易受到CVE-2021-21974的影響:
- ESXi 7.x版本在ESXi70U1c-17325551之前
- ESXi 6.7.x版本在ESXi670-202102401-SG之前
- ESXi 6.5.x版本在ESXi650-202102101-SG之前
為什麼會有這麼多未修補的伺服器,為什麼它們可以從網路訪問?修補需要 ESXi 伺服器停機,而對於大量主機,一些管理員可能沒有足夠的資源或時間及時進行修補。此外,在 ESXi Args 勒索軟件攻擊之前,ESXi 的漏洞並沒有被廣泛利用。這創造了未修補的 ESXi 伺服器不是威脅的幻覺,伺服器的修補速度很慢。
在托管提供商公司運行的 ESXi 伺服器也受到了 ESXi Args 勒索軟件的感染。托管提供商為客戶提供基礎設施,客戶安裝 ESXi 虛擬機管理程式以運行虛擬機。這些 ESXi 伺服器被客戶暴露在網際網路上,允許攻擊者訪問它們。攻擊者希望受害者支付約 23,000 美元的比特幣。
ESXi 勒索軟件是如何運作的?
網絡犯罪分子尋找易受攻擊的 ESXi 主機,特別是那些暴露在網際網路上的主機。已驗證的犯罪手法包括利用一個 OpenSLP 漏洞,可能是 CVE-2021-21974。端口 427(TCP/UDP)用於 OpenSLP。日誌顯示在此入侵過程中涉及到 dcui 用戶。這個 ESXi 勒索軟件漏洞允許攻擊者遠程利用任意代碼。
加密過程利用了惡意軟件部署的公鑰,位於/tmp/public.pem。具體來說,這個加密過程針對虛擬機文件,包括文件類型如“.vmdk”、“.vmx”、“.vmxf”、“.vmsd”、“.vmsn”、“.vswp”、“.vmss”、“.nvram”以及擁有“.vmem”擴展名的文件。請注意,“.vmdk”文件是一個虛擬磁盤描述符文件,“-flat.vmdk”是包含VM數據的虛擬磁盤文件。ESXi Args勒索軟件為每個加密文件創建一個帶有元數據的“.args”文件(可能,勒索軟件創作者認為“.args”文件可能需要用於解密)。
以下是詳細的順序:
- 當一台服務器被入侵時,以下文件將被放置在/tmp目錄中:
- encrypt代表以ELF格式的可執行加密程序。
- encrypt.sh用作攻擊的操作邏輯。這是一個shell腳本,在運行加密程序之前執行各種操作,如下所述。
- public.pem是用於加密負責文件加密的密鑰的公共RSA密鑰。
- motd是一個文本形式的贖金筆記,被復制到/etc/motd,確保登錄時顯示。服務器上的原始文件將被保留為/etc/motd1。
- index.html是一個HTML版本的贖金筆記,旨在替換VMware ESXi的主頁。初始服務器文件應在同一目錄中備份為“index1.html”。
- 加密器通过一个shell脚本启动,该脚本使用一系列命令行参数调用它。这些参数包括公共RSA密钥文件、要加密的目标文件、要保持不变的数据部分、加密块大小和整个文件大小。
用法:encrypt <public_key> <file_to_encrypt> [<enc_step>] [<enc_size>] [<file_size>]
其中:
- enc_step是加密文件时要跳过的MB数
- enc_size是加密块中的MB数
- file_size是文件大小(对于稀疏文件)
- 這個加密器的初始化是通過 encrypt.sh shell 腳本進行的,它作為攻擊的基本邏輯。初始化後,腳本執行以下簡要說明的操作。
- ESXi 勒索軟體腳本執行一個命令來修改 ESXi 虛擬機器(.vmx)的配置檔案,將“.vmdk”和“.vswp”的出現替換為“1.vmdk”和“1.vswp”。
- 隨後,勒索軟體腳本通過對包含“vmx”一詞的進程發出“kill -9”命令,強制終止所有當前活動的虛擬機器。
- 該勒索軟體嘗試通過終止 VMX 進程來關閉虛擬機器,以釋放被鎖定的檔案並修改它們。但是,這個功能並不總是如預期般一致執行,導致一些檔案仍然被鎖定。在修改 VM 檔案後,VM 變得無法使用。
- 腳本繼續使用以下命令檢索 ESXi 卷的列表:
esxcli storage filesystem list | grep "/vmfs/volumes/" | awk -F' ' '{print $2}
通過此命令,勒索軟體掃描這些卷以查找具有特定檔案擴展名的檔案。
- 對於每個發現的文件,腳本會在同一目錄中生成一個對應的[file_name].args文件。這個.args文件包含計算的參數,包括一個步驟(通常是‘1’)和文件大小。例如,如果文件是“VM01.vmx”,則會創建一個相應的“VM01.vmx.args”文件。惡意軟體會生成一個“argsfile”來存儲傳遞給加密二進制文件的參數,其中包括要跳過的兆字節數、加密塊的大小和文件大小。
- 然後,該腳本使用“encrypt”可執行文件根據計算的參數對文件進行加密。
- 加密後,腳本將ESXi“index.html”文件和服務器的“motd”文件替換為前述的贖金通知,如前所述。
沒有證據表明數據被外部轉移(數據外洩)。在某些情況下,文件的加密可能僅部分成功,使受害者有可能恢復一些數據。
當感染和數據修改/加密成功完成時,會在HTML頁面上顯示類似於此的勒索軟體通知:
“安全警報!我們成功入侵了您的公司。
…
在3天內匯款,否則我們將暴露一些數據並提高價格。”
- 隨後,該腳本執行清理任務,包括刪除日誌和刪除位於 /store/packages/vmtools.py 的 Python 背門。它還從某些文件中刪除特定行:
- /bin/hostd-probe.sh
- /var/spool/cron/crontabs/root
- /etc/rc.local.d/local.sh
- /etc/vmware/rhttpproxy/endpoints.conf
發出重要提示,敦促管理員檢查 ESXi 主機上是否存在“vmtools.py”文件。如果發現,建議立即刪除。
- 最後,腳本執行“/sbin/auto-backup.sh”來更新“/bootbank/state.tgz”文件中保存的配置並啟用 SSH。
此外,已經曝光了這個漏洞,以及 ESXi 中的其他漏洞,除了 ESXiArgs,勒索軟件組織還在積極利用。
注意: VMware ESXi 勒索軟件的行為可能會隨著勒索軟件的更新版本和新的勒索軟件發布而變化。
如何在 ESXi Args 勒索軟件後恢復數據
密碼學機制中沒有任何漏洞可以讓您解密已加密的文件。但是,美國《網絡安全和基礎設施安全局》(CISA)創建了一個腳本,可以幫助恢復虛擬機。好消息是,VM 文件,包括虛擬磁盤描述符(.vmdk),都已加密,但 -flat.vmdk 文件(存儲 VM 數據的地方)未加密。這使得 VM 恢復成為可能。
CISA 推出了一個恢復腳本,旨在幫助受 ESXi Args 勒索軟件影響的組織。該勒索軟件專門針對 ESXi 服務器,加密其配置文件,可能導致虛擬機(VM)無法運行。儘管該工具是與 VMware 共同開發的,但並不直接由 VMware 支持。如果客戶在使用此工具時遇到任何問題,請鼓勵他們在 GitHub 上報告問題,網址為:https://github.com/cisagov/ESXiArgs-Recover/issues。
CISA 致力於及時解決問題。有關使用該腳本的更多詳細信息,請參閱 此鏈接。
您也可以下載PDF文件以獲取說明。
如果您發現ESXi主機可能已感染ESXi勒索軟體,請考慮以下措施:
- 將受感染的ESXi主機從網絡中斷開。
- 不要支付贖金。支付贖金會獎勵網絡犯罪分子,並鼓勵他們製造更多勒索軟體以獲取更多金錢。如果您支付贖金,無法保證被VMware ESXi勒索軟體破壞的文件能夠恢復。
- 報告勒索軟體攻擊。報告勒索軟體攻擊非常重要,因為它有助於快速響應、法律合規、數據保護、信任建立、威脅緩解以及對抗網絡攻擊的集體防禦。報告勒索軟體攻擊是網絡安全事件管理的基本部分。它不僅幫助個別組織從攻擊中恢復,還有助於整個數字生態系統的安全和韌性。
- 檢查是否有針對當前版本勒索軟體的恢復或解密工具可用。
- 如果沒有解密工具,從備份中恢復數據(您必須在勒索軟件攻擊之前創建備份才能使用此方法)。有時,從備份中恢復VM可能更有效。考慮進行全新的ESXi安裝,並將恢復的VM複製到該全新的ESXi主機上,以確保在放置恢復的VM的主機上沒有勒索軟件感染的碎片。
如何保護ESXi免受勒索軟件攻擊
遵循以下建議以保護ESXi免受勒索軟件攻擊:
- 修補具有漏洞(如CVE-2021-21974、CVE-2022-31699、CVE-2021-21995、CVE-2020-3992和CVE-2019-5544)的ESXi主機。如果您的ESXi版本不再受支持,請考慮更新到受支持的主要版本。如果您無法更新ESXi,禁用OpenSLP(服務位置協議)服務在ESXi上。禁用受影響的ESXi版本中存在漏洞的服務也有幫助。
- 定期安裝安全補丁(更新)在ESXi主機上,以保護免受最新威脅。
- 不要將ESXi主機暴露在網際網路上。如果工作流程需要ESXi主機能夠從網際網路被工作人員和合作夥伴訪問,請配置VPN伺服器和防火牆。配置防火牆以僅允許來自可信IP地址的訪問。通過VPN連接到網路以訪問ESXi主機在這種情況下是安全的。
- 如果不需要SSH訪問,請禁用它或設置超時。
- 禁用SMB v1.0和其他舊版本的協議,特別是如果它們不被使用。
- 對網路進行分段,包括ESXi管理網路。
- 使用至少8個字符的強密碼,包括小寫字母、大寫字母、數字和特殊字符。
- 安裝和配置基礎設施監控以監控網路流量和伺服器負載。監控可以讓您及時檢測到可疑或惡意活動。
- 教育用戶有關勒索軟體保護的知識,並確保用戶知道如果他們懷疑發生了勒索軟體攻擊或攻擊企圖,應該怎麼做。
- 配置反惡意軟體電子郵件保護,因為通過電子郵件發送惡意鏈接或文件是感染電腦勒索軟體的流行方法。禁用電子郵件消息中的活動超鏈接。
- 在用戶的電腦和伺服器上安裝防毒軟體,並定期更新防毒軟體的資料庫。
- 定期備份您的虛擬機器,並採用3-2-1備份策略。別忘了擁有一個不可變備份或隔離備份,以確保在遭受勒索軟體攻擊時,這個備份不會受到影響。擁有ESXi備份和vCenter備份可以在恢復數據和負載時節省時間。
- 準備一個事件應對計劃,並讓所有人知道在ESXi勒索軟體攻擊發生時應該做什麼。
- 制定一個災難恢復計劃,以確保您可以在不同情況下恢復數據並恢復負載。備份測試和災難恢復測試非常重要。
結論
ESXi勒索軟體可能會帶來毀滅性的後果,因為即使一個ESXi主機受到感染,您也可能會丟失許多虛擬機。在勒索軟體攻擊的情況下,數據備份是避免數據損失的最有效策略。請參考上面在這篇博客文章中提到的保護ESXi免受勒索軟體攻擊的建議。使用NAKIVO備份與複製將存儲在VMware ESXi主機上的虛擬機備份至不可變存儲庫。這樣您就可以使用這些抗勒索軟體的備份快速恢復完整的虛擬機或應用程式數據。