一個都不放過!Zenis病毒詮釋勒索加密最強等級
近期,360安全中心監測到一款名為「Zenis」的勒索病毒,其命名源自病毒作者的名字。與其他加密常見文件的勒索病毒不同,該病毒運行後,會對設備中超過200種格式的文件進行加密,另外非系統盤符下的所有格式文件也都將被鎖,就連exe可執行程序都不會放過。同時,病毒還會刪除系統中的備份文件,以避免中招用戶恢復重要數據,可謂殺傷力驚人。
以下是對該病毒的詳細分析。
病毒初始化工作
首先,病毒在執行時會先判斷執行條件:
1、 判斷程序文件名是否為iis_agent32.exe
2、 判斷註冊表的HKCUSOFTWAREenisService項中,是否存在Active值。
當文件名不為iis_agent32.exe或者註冊表鍵值已經存在則直接退出不進行加密操作:
執行條件滿足後,會執行以下命令來刪除卷影副本、禁用啟動修復和清除系統事件日誌(一般通過3389入侵會刪除事件日誌),同時會檢測並結束掉以下進程:
刪除卷影副本、禁用啟動修復和清除系統事件日誌及結束部分進程相關代碼:
文件加密部分
Zenis採用的加密手段相對比較傳統,是用RSA 1024 + RC4的方式對文件進行加密。即,病毒在每個用戶的機器中會生成一對RSA 1024 Session Key,而對每一個文件會生成一個RC4的會話密鑰。
對於在用戶本地生成的RSA 1024的解密私鑰,病毒會使用代碼中已經內置好的另一個RSA公鑰進行加密(該公鑰所對應的私鑰在病毒作者手中,未放出)。而生成的RSA 1024的加密公鑰,則用於對每個文件生成的RC4 Key進行加密。
加密的文件格式內置在病毒程序中,共204種。另外值得一提的是:即便文件擴展名不在此列表中也並不意味著安全——因為病毒會對非系統盤符下的所有文件進行加密(備份文件則刪除)。
加密流程如下圖:
使用的密鑰概述:
首先,病毒會生成一對1024位的RSA_Key——用於加密的公鑰SPUBKEY和用於解密的私鑰SPIVKEY。並且用隨機生成的RC4密鑰USERFLGKEY加密新生成的RSA 1024解密私鑰SPIVKEY,然後再用內置的RSA 2048加密公鑰RPUBKEY加密這個RC4密鑰USERFLGKEY。最終將生成的字元串數據會替換掉勒索信息中的%ENCRYPTED%欄位,以備解密時使用:
相關加密代碼如下:
病毒內置的RSA 2048加密公鑰如下(解密私鑰在作者手中):
逐一文件加密流程相關代碼:
病毒程序會將密鑰信息寫入加密文件尾部:
RC4的相關加密代碼如下:
加密的文件擴展名如下表所示:
加密完成後,文件的文件名也會被修改為「Zenis-[2個隨機字元].[12個隨機字元]」的格式:
例如361test.txt被加密後會被改成了:Zenis-EO.V1OqyzpYfV5z
而當病毒遍歷文件時,一旦發現文件的擴展名符合備份文件的特點,則不會對其進行加密,而是用隨即內容覆蓋寫入文件三次,在刪除該備份文件。這是為了讓中招者很難再從備份中恢復文件,要刪除的備份文件擴展名列表如下:
相關代碼如下:
此外,病毒還會排除系統及一些殺軟的目錄,對這些目錄中的文件不會進行加密操作:
加密所用的內置RSA公鑰以及生成勒索提示信息」Zenis-Instructions.html」,包含說明以及與勒索軟體作者聯繫的郵箱地址相關代碼:
病毒生成的勒索頁面中包含一個隱藏的Base64編碼的字元串,該字元串實際就是前文所述——經雙重加密過的解密私鑰。而想要解密字元串拿到解密私鑰,則只能使用病毒作者手中的私鑰。而後續勒索成功後,病毒作者(若守信)也是通過該信息向中招用戶下發對應的解密程序或密鑰:
360反病毒專家嘗試與病毒作者郵件進行聯繫:作者在成功解密了一個文件後以證明自己的解密能力後,要求將0.2018個比特幣(本文發表時約合13000元人民幣)轉入該錢包地址:17o83ughmzkeMKMsLz4bHRmf75UrjwLpKf
結語
由於Zenis勒索病毒加密格式多樣,且會覆蓋多次並刪除備份相關的文件,一些PE格式的文件及一些常用軟體的數據文件被加密或被刪除後可能會出現無法正常運行的情況。故相較普通勒索病毒對系統更具破壞性,加之該病毒可能是通過入侵遠程桌面弱口令攻入服務進行投毒,因此建議伺服器用戶:
1、修改為較強的密碼;
2、修改默認的3389埠;
3、伺服器打最新的補丁;
4、啟用網路身份驗證NLA;
5、安裝安全軟體進行防護,360安全衛士已國內率先對該勒索病毒進行查殺,同時,360還可實現對各類勒索病毒的全面防禦。
※WannaMine新動向:對Weblogic服務端發起大規模攻擊
TAG:威客安全 |