您的位置:首頁 > 菜鳥學(xué)院 > 勒索軟件CTB-Locker核心原理的一些疑問和分析

勒索軟件CTB-Locker核心原理的一些疑問和分析

來源:互聯(lián)網(wǎng) | 時(shí)間:2015-02-14 15:01:42 | 閱讀:149 |    | 分享到:

(1) CTB-Locker的作者首先生成一個(gè)公私鑰對(duì)。公鑰保存在前面說的釋放出來的配置文件中,私鑰保存在服務(wù)器上. 這里我們把這個(gè)公鑰稱為master public key,私鑰稱為master private key。 (2)  在對(duì)每一個(gè)文件加密的時(shí)候會(huì)產(chǎn)生一個(gè)會(huì)話公私鑰對(duì),當(dāng)然使用的是ECDH算法。私鑰生成的算法是對(duì)文件的時(shí)間,系統(tǒng)運(yùn)行時(shí)間等計(jì)算SHA256,這里我們稱為session private key。然后使用ECDH算法生成公鑰即session public key.之所以稱為會(huì)話公私鑰是因?yàn)槊恳粋(gè)文件的公私鑰對(duì)都是和文件自身時(shí)間以及系統(tǒng)運(yùn)行時(shí)間有關(guān)的。 (3)  根據(jù)ECDH算法,我們知道 sessionshared secret=ECDH(masterpublic key, session private key)=ECDH(session public key,master private key). 在計(jì)算的時(shí)候要使用會(huì)話私鑰和主公鑰計(jì)算出sessionshared secret,然后對(duì)session shared secret計(jì)算sha256作為AES的密鑰。雖然我們可以獲取到主公鑰但是會(huì)話私鑰是不保存的,唯一的解密方法是通過主私鑰和會(huì)話公鑰計(jì)算出session shared secret。會(huì)話公鑰是保存在加密的文件里的。

計(jì)算出會(huì)話公鑰的代碼如下:


勒索軟件CTB-Locker核心原理的一些疑問和分析


其中var_104是一個(gè)長度為0×20的緩沖區(qū),第一個(gè)字節(jié)為9其余的字節(jié)為0。這個(gè)值就相當(dāng)于ECDH算法中愛麗絲與鮑伯協(xié)定使用的g值。

接著就是使用會(huì)話私鑰和主公鑰計(jì)算出來sessionshared secret,然后對(duì)其計(jì)算sha256并將其作為AES加密的KEY。需要強(qiáng)調(diào)的是這里面會(huì)話私鑰是不保存的。相關(guān)代碼如下:


勒索軟件CTB-Locker核心原理的一些疑問和分析

圖中的najzljf_data就是解密出來的配置文件的內(nèi)容。

一句話總結(jié):要想解密文件只能通過主私鑰和保存在文件中的會(huì)話公鑰計(jì)算出來session shared secret,再計(jì)算一下sha256才能得到AES的KEY。除此外別無他法。

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)