国产日韩欧美日韩_日韩在线成人不卡毛片_日韩精品 深夜影院在线观看视频_无套内射无毛少妇_美女裸体扒开屁股桶到爽_在线播放亚洲成人_se成人国产精品_欧美日韩德国在线观看_日韩人妻潮喷视频_亚洲国产精品校园激情

行業(yè)新聞
通知公告

MZP勒索軟件技術(shù)分析說(shuō)明

時(shí)間:2020-05-29 來(lái)源:

一、背景

近日,蘭云科技銀河實(shí)驗(yàn)室通過(guò)“蘭眼下一代威脅感知系統(tǒng)”發(fā)現(xiàn)一款新型勒索軟件 —— MZP 勒索軟件,也可叫作 Dot 勒索軟件,最早由 AmigoA 和 AkhmendTaia 在 2019 年 12 月 31 日首次發(fā)現(xiàn)。在勒索軟件的開(kāi)頭前三個(gè)字節(jié)為 4D 5A 50,即 MZP,所以稱(chēng)為 MZP(這個(gè) P 代表的是 Pascal) 勒索軟件,其特征為附加到加密文件的擴(kuò)展名為一個(gè)長(zhǎng)度為 8 的隨機(jī)字符串?!碧m眼下一代威脅感知系統(tǒng)”對(duì)其檢測(cè)結(jié)果如圖 1-1 所示:

圖 1-1

二、勒索特征

勒索軟件的圖標(biāo)為一個(gè)卡通人物 Dot(20 世紀(jì) 90 年代中期流行的華納兄弟卡通系列《Animaniacs》中的人物)的樣子,這也就是為什么把它稱(chēng)作 Dot 勒索軟件,如圖 2-1 所示:

圖 2-1

勒索后桌面出現(xiàn)如圖 2-2 所示情況:

圖 2-2

勒索信息文本如圖 2-3 所示:

圖 2-3 

勒索后加密文件的后綴名為:przfqehd(隨機(jī)的一個(gè) 8 位的字符串)

三、詳細(xì)分析

3.1 查殼信息

經(jīng) DIE 查殼可知,該勒索病毒加了 UPX 殼(3.91),且為 Delphi 編譯的 Win32 程序,如圖 3-1-1 所示:

圖 3-1-1 

這也證實(shí)了 MZP 中的 P,Delphi 的前身就為 Pascal,MZP 勒索軟件二進(jìn)制數(shù)據(jù)如圖 3-1-2 所示:

圖 3-1-2 

既然有殼,則先脫之,如圖 3-1-3 所示:

圖 3-1-3

3.2 初探

在對(duì)其反編譯后,發(fā)現(xiàn)使用了 KOL 。眾所周知,對(duì)于用 Delphi 開(kāi)發(fā)的程序(GUI)來(lái)說(shuō),體積都比較大,為了盡可能減少體積,可使用 KOL,如圖 3-2-1 所示:

圖 3-2-1 

除此之外,在類(lèi)的名字里發(fā)現(xiàn)有 AES 字樣,從這可猜測(cè)用了 AES 算法加密,如圖 3-2-2 所示:

圖 3-2-2 

那這個(gè)類(lèi)是在哪個(gè)單元呢,通過(guò)列舉出的單元列表中,發(fā)現(xiàn) Unit_0040E340 單元處的類(lèi)信息顯示出 ThiAESCipher,起始地址為 0x0040E340,如圖 3-2-3 所示:

圖 3-2-3 

由于沒(méi)有重定位,所以可以直接定位到加密算法處,如圖 3-2-4 所示:

圖 3-2-4 

同時(shí) HiAsm 這個(gè)字符串也引起了我的注意,HiAsm 是一個(gè)用于 Delphi 開(kāi)發(fā)的舊 IDE,這個(gè) IDE 是由俄羅斯人開(kāi)發(fā)的,包括上面提到的 KOL,這款勒索軟件可能由這個(gè) IDE 開(kāi)發(fā)的,如圖 3-2-5 所示:

圖 3-2-5 

我們?cè)賮?lái)看看字符串,通過(guò)字符串一般能夠猜測(cè)出程序需要做哪些操作,如圖 3-2-6 所示:

圖 3-2-6 

比如 comctl32.dll 中的 InitCommonControlEx 和 _TrackMouseEvent,用于初始化控件和捕獲鼠標(biāo)的位置,可能存在反沙箱,也可能是繞過(guò) UAC(UACME 中的 #21 和 #22)。除了這個(gè),還有與注冊(cè)表和加密文本有關(guān)。

3.3 探測(cè)環(huán)境

勒索軟件最開(kāi)始會(huì)去嘗試打開(kāi) HKEY_CURRENT_USER\Software\Borland\Locales 和 HKEY_CURRENT_USER\Software\Borland\Delphi\Locales 注冊(cè)表項(xiàng)來(lái)探測(cè)環(huán)境,如圖 3-3-1 所示:

圖 3-3-1 

只需兩者中的一個(gè)存在,就會(huì)去查詢(xún)相關(guān)環(huán)境配置信息,如圖 3-3-2 所示:

圖 3-3-2 

除了上述兩個(gè)注冊(cè)表項(xiàng)外,它還會(huì)去 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\RTL 下讀取 FPUMaskValue,來(lái)確定此環(huán)境下是否能支持 Delphi 程序的運(yùn)行,如圖 3-3-3 所示:

圖 3-3-3 

3.4 獲取本地語(yǔ)言信息

在完成上述操作后,緊接著是獲取語(yǔ)言版本信息,并以此作為擴(kuò)展名將自身加載為數(shù)據(jù)文件,如圖 3-4-1 所示:

圖 3-4-1 

在測(cè)試環(huán)境中,獲取到的語(yǔ)言為 CHS,具體信息如圖 3-4-2 所示:

圖 3-4-2 

以上總的流程如圖 3-4-3 所示:

圖 3-4-3 

3.5 勒索核心

勒索核心主要是位于 sub_410BB4 中,如圖 3-5-1 所示:

圖 3-5-1 

還記得最開(kāi)始提到的 MZP 嗎?其實(shí)可以用壓縮軟件解壓出來(lái),這里用 7-ZIP 對(duì)其進(jìn)行解壓,如圖 3-5-2 所示:

圖 3-5-2 

在上述解壓出來(lái)的資源文件中,發(fā)現(xiàn)有個(gè) STR1,這個(gè)就為勒索信息文本字符串,%1 表示的是 Key,如圖 3-5-3 所示:

圖 3-5-3 

將資源全部拷貝到內(nèi)存中,這是通過(guò) sub_403218 實(shí)現(xiàn),如圖 3-5-4 和 3-5-5 所示:

圖 3-5-4 

圖3-5-5 

循環(huán)遍歷目錄下的文件,并對(duì)其進(jìn)行加密,如圖 3-5-6 所示:

圖 3-5-6 

加密操作主要是在 sub_40CE00 當(dāng)中進(jìn)行,每當(dāng)加密完后會(huì)對(duì)原文件進(jìn)行刪除操作,如圖 3-5-7 所示:

圖 3-5-7 

在加密的過(guò)程中會(huì)以字符串 QWAHNJZCUF 為基礎(chǔ),經(jīng)過(guò) sub_004026F4 和 sub_00403430 算出一個(gè) 0×258 大小的字符串存儲(chǔ)在起始地址為 0x004221AC 的內(nèi)存中,這個(gè)就是密鑰,如圖 3-5-8 和 3-5-9 所示:

圖 3-5-8 

圖 3-5-9 

這塊大小為 0×258 的字符串密鑰生成取決于 EDX 中的值,EDX 的值是通過(guò) GetSystemTime 獲取當(dāng)前時(shí)間得到的,它會(huì)把毫秒的值給到 EDX,并做下一步計(jì)算(sub_004026F4),先來(lái)看下 SYSTEMTIME 結(jié)構(gòu)體的定義,如下:

// System time is represented with the following structure:typedef struct _SYSTEMTIME {
    WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;

SYSTEMTIME 結(jié)構(gòu)體里有 8 個(gè)成員,全部為 WORD 類(lèi)型,占 2 個(gè)字節(jié),分別為年、月、周、天、時(shí)、分、秒、毫秒,如圖 3-5-10 所示:

圖 3-5-10 

在上面需要注意一個(gè)地方,那就是時(shí),因?yàn)楝F(xiàn)在處在東八區(qū),所以這里的時(shí)需要加上 8 才會(huì)等于當(dāng)前時(shí)間表示的時(shí)。我們?cè)俎D(zhuǎn)到 0x004026F4 處,在運(yùn)算過(guò)程中,EDX 與 EAX 相乘后結(jié)果存放在 EAX 會(huì)發(fā)生溢出,溢出的最高位會(huì)存放在 EDX 中,如圖 3-5-11 所示:

圖 3-5-11 

結(jié)果如圖 3-5-12 所示:

圖 3-5-12 

此時(shí) EDX 的值是 0×5,它代表的是字符串 QWAHNJZCUF 下標(biāo)的索引,從 0 開(kāi)始,所以該處會(huì)去索引 J,如圖 3-5-13 所示:

圖 3-5-13 

一共會(huì)循環(huán) 0×258 次,將此次過(guò)程用 C 來(lái)描述,相關(guān)代碼如下:

#include <stdio.h>#include <windows.h>int main(void){char BaseStr[] = "QWAHNJZCUF";char TargetStr[601] = "";
SYSTEMTIME SystemTime;
GetSystemTime(&SystemTime);
DWORD EDX = 0;
DWORD EAX = (SystemTime.wHour * 0x3C + SystemTime.wMinute) * 0x3C;
EAX = (EAX + SystemTime.wSecond) * 0x3E8;
EDX = SystemTime.wMilliseconds;
EAX = EAX + EDX;    // 取開(kāi)始計(jì)算的 EAX 的初始值DWORD Temp = EAX;
__int64 EAX64 = 0;// 0x258for (int n = 0; n < 600; ++n)
{// EDX 為 UTC 時(shí)間的毫秒數(shù),EAX 為上面計(jì)算出來(lái)的數(shù)EDX = Temp * 0x8088405;
EDX = EDX + 1;        // 將 EDX 的值臨時(shí)保存起來(lái)以便下一次運(yùn)算Temp = EDX;
EAX64 = (__int64)EDX * 0xA;// 將高位的數(shù)保存到 EDX 中,并將其右移 32 位作為下標(biāo)索引值EDX = (EAX64 & 0x0000000F00000000) >> 32;
TargetStr[n] = BaseStr[EDX];
}    printf("%s\n", TargetStr);return 0;
}

根據(jù)當(dāng)前時(shí)間的毫秒數(shù)生成一個(gè)密鑰,如圖 3-5-14 所示:

圖 3-5-14 

生成的 8 位隨機(jī)后綴名為 przfqehd,這是 MZP 勒索軟件特征之一,與之過(guò)程涉及到的字符串跟圖 3-2-6 最后圈出來(lái)的 qwertyuiopasdfghjklzxcvbnm 有關(guān),這看起來(lái)是鍵盤(pán)上鍵的排列順序。同樣也是算出下標(biāo)來(lái)索引,通過(guò)索引出來(lái)的值組成后綴名,也是通過(guò) GetSystemTime 來(lái)獲取當(dāng)前時(shí)間的毫秒數(shù)來(lái)決定,不過(guò)需要注意一下數(shù)據(jù)類(lèi)型, 索引可超 10,生成的后綴如圖 3-5-15 所示:

圖 3-5-15 

MZP 勒索軟件采用 AES-256 加密,首次加密時(shí),會(huì)將文件內(nèi)容的 16 字節(jié)以每 4 字節(jié)一組進(jìn)行反轉(zhuǎn)再與反轉(zhuǎn)后的密鑰進(jìn)行異或,最后開(kāi)始多次輪循加密(每次加密輪數(shù) 0xE),如圖 3-5-1 所示:

圖 3-5-16 

根據(jù) AES 算法的輪函數(shù),可以建立 4 張置換表,通過(guò)查詢(xún)這 4 張表,并與該輪的密鑰進(jìn)行異或,可以直接得到該輪加密的結(jié)果,偽代碼如圖 3-5-17 所示:

圖 3-5-17 

提取其加密的輪函數(shù)如圖 3-5-18 所示:

圖 3-5-18 

經(jīng)多輪加密后將區(qū)塊內(nèi)容寫(xiě)到以 przfqehd 為后綴的文件中,如圖 3-5-18 所示:

圖 3-5-18 

待所有文件加密完成后,又會(huì)重新開(kāi)始遍歷文件(回跳到圖 3-5-6 中),將生成的勒索信息寫(xiě)入到文本文件中,并放到每個(gè)目錄下面,寫(xiě)入的勒索信息如圖 3-5-19 所示:

圖 3-5-19 

上圖出現(xiàn)的一串 key 的長(zhǎng)度為 0×258,這個(gè) key 為是通過(guò)如圖 3-5-20 對(duì)應(yīng)關(guān)系生成的:

圖 3-5-20 

關(guān)于解密,黑客可通過(guò)圖 3-5-19 勒索信息中給出的 key,再用圖 3-5-20 對(duì)應(yīng)的字母關(guān)系表轉(zhuǎn)換成密鑰,而沒(méi)再通過(guò)非對(duì)稱(chēng)加密對(duì)密鑰進(jìn)行進(jìn)一步處理,黑客不需要當(dāng)時(shí)加密文件的時(shí)間來(lái)獲取 0×258 大小的密鑰。最后,可通過(guò)上述 AES 算法的逆運(yùn)算就可解出。

四、其它

在分析過(guò)程中,還發(fā)現(xiàn)有一個(gè)特殊操作,MZP 勒索軟件會(huì)通過(guò) GetKeyboardType 來(lái)獲取鍵盤(pán)的信息,如圖 4-1 所示:

圖 4-1 

第一個(gè)傳入的參數(shù)為 0,代表獲取鍵盤(pán)類(lèi)型信息,然后用返回值與 0×7 作比較,判斷是否為日語(yǔ)鍵盤(pán)布局;第二個(gè)傳入的參數(shù)為 1,代表獲取鍵盤(pán)子類(lèi)型信息,即鍵盤(pán)的 OEM 信息,通過(guò)該函數(shù)的返回值的高位再去和 0xD00 和 0×400 作比較,如圖 4-2 所示:

圖 4-2 

現(xiàn)在大多數(shù)勒索軟件會(huì)通過(guò)區(qū)域語(yǔ)言 ID 或者鍵盤(pán)布局來(lái)判斷所處的地區(qū),然后再?zèng)Q定是否執(zhí)行惡意操作,但是在這個(gè) MZP 勒索軟件中,發(fā)現(xiàn)并不是,雖然說(shuō)這段可疑,但依然阻止不了我的好奇心,在一家***論壇,發(fā)現(xiàn)與之有關(guān),如圖 4-3 所示:

圖 4-3 

但這位壇友并未透露意圖,看函數(shù)名稱(chēng)發(fā)現(xiàn),_isNECWindows,這個(gè) NEC 和注釋 wordaround a Japanse Win95 bug 引起了我的注意,NEC 為日本一家跨國(guó)信息技術(shù)公司,其中出產(chǎn)的產(chǎn)品就有 NEC 鍵盤(pán),似乎與這個(gè)有關(guān),后來(lái)發(fā)現(xiàn),這一段其實(shí)是來(lái)自于 KOL 源碼中的 system.pas 中的一部分,至于用途,不得而知!

五、建議

近年勒索病毒頻繁出現(xiàn),我們每一個(gè)人都應(yīng)該提高警惕,切勿打開(kāi)來(lái)自可疑郵箱的附件,避免使用來(lái)源不明的第三方軟件資源;同時(shí),建議提前部署具備高級(jí)威脅檢測(cè)能力的安全產(chǎn)品進(jìn)行及時(shí)監(jiān)控、防范,降低安全隱患。

六、IOC

MD5:

d00c79e8e9a7552aee66db55c855f26b

Email:

recover_24_7@protonmail[.]com

*本文作者:蘭云科技銀河實(shí)驗(yàn)室

---------------------------------------------------------------------------------

解密/數(shù)據(jù)恢復(fù)協(xié)助說(shuō)明:

    新的勒索型病毒幾乎每天都會(huì)出現(xiàn), 沒(méi)有任何技術(shù)可以對(duì)每種病毒解密. 在這種情況下, 通過(guò)破解加密KEY來(lái)救援. 盡管這是在沒(méi)有解密工具前提下的最有效的方法之一, 雖然不能確保 100 %恢復(fù),但未嘗不是可以嘗試的一種方法。

使用我們的服務(wù)試探性解密測(cè)試:

您可以嘗試與我公司聯(lián)系通過(guò)勒索型病毒破壞的文件進(jìn)行解密. 數(shù)據(jù)的分析需要 3-5 天, 之后, 我們將通知您解密的難易程度以及費(fèi)用(不成功不收任何費(fèi)用).為了提高加密文件的分析效率和真實(shí)度,煩請(qǐng)按照以下要求進(jìn)行加密文件的提供:

  • 文件的數(shù)量應(yīng)不超過(guò) 4;

  • 文件大小不超過(guò) 8 兆字節(jié);

  • 文件必須從不同的文件夾;

  • 文件必須是唯一的;

  • 測(cè)試接受郵箱gjsec@guangjusec.com;

  • 郵件中務(wù)必留有可直接聯(lián)系上手機(jī)號(hào)碼,如果未收到信息可能首次未聯(lián)系到本人,可直接電話(huà)咨詢(xún)進(jìn)度;

-------------------------------------------

青島廣聚信息科技有限公司

專(zhuān)攻術(shù)業(yè)   成就所托

24小時(shí)服務(wù)電話(huà):400-001-9776-2線(xiàn)

商務(wù)合作:gjsec@guangjusec.com

山東省青島高新區(qū):山東省青島市高新區(qū)錦業(yè)路1號(hào)藍(lán)貝智造工場(chǎng)D5-1

Gaoxin Zone:D5-1,Lanbei Labs ,No.1, Jinye Road, high tech Zone, Qingdao, Shandong Province

山東省青島嶗山區(qū):山東省青島市嶗山區(qū)秦嶺路15號(hào)海韻東方1006室

Laoshan Zone:  room 1006, Haiyun Dongfang, No. 15, Qinling Road, Laoshan District, Qingdao, Shandong Province

7*24小時(shí)             1V1專(zhuān)業(yè)顧問(wèn)咨詢(xún)         年度安全免費(fèi)巡檢       專(zhuān)家安全咨詢(xún)


  • 24小時(shí)服務(wù)電話(huà):400-001-9776-2線(xiàn)
  • 商務(wù)合作:gjsec@guangjusec.com
  • 高新區(qū)行政:青島市高新區(qū)和源路2號(hào)27棟1706室
    黃島區(qū)行政:青島市黃島區(qū)江山南路480號(hào)訊飛未來(lái)港718室