在Windows里很早就有了ransomware(贖金勒索軟件),直到Linux中的Linux.Encoder.1,也就是第一個linux勒索軟件的出現(xiàn)。這款軟件的行為與CryptoWall、TorLocker等臭名昭著的木馬軟件非常類似。
黑客利用勒索軟件的案例
在黑客遠程利用熱門應(yīng)用Magento內(nèi)容管理系統(tǒng)的漏洞后,他會在受害人的Linux機器里運行Linux.Encoder.1。一旦執(zhí)行成功,這款木馬會在/home、/root、/var/lib/mysql這幾個目錄下進行遍歷文件,試圖加密里面的文件內(nèi)容。如Windows下的勒索軟件一樣,它會使用AES(某對稱密鑰加密算法)對這些文件內(nèi)容進行加密,這期間并不會對系統(tǒng)資源占用過大。這個AES對稱密鑰會用RSA(某非對稱加密算法)加密,然后用AES初始化的向量去加密文件。
一旦這些文件被加密,木馬會嘗試蔓延到系統(tǒng)根目錄。它只需要跳過重要系統(tǒng)文件以免玩大發(fā)了,所以加密后的操作系統(tǒng)是能夠正常啟動的。
在這一點上,黑客可以保證用戶在不向他們支付費用之前,是無法換取RSA私鑰來解密AES對稱加密的。然而,這個加密木馬有個巨大的漏洞,Bitdefender的研究人員利用它,無需RSA私鑰也能解密AES的對稱加密。
加密的入門
在2015年,大多數(shù)加密型勒索軟件木馬會采用混合加密算法,來劫持有價值的文件。為了迅速而有效地加密大量數(shù)據(jù),這類木馬使用了高級加密標準AES。為了避免服務(wù)器和肉雞直接發(fā)送的加密密鑰被抓包,黑客們會使用AES和RSA混合加密。這些key通常在黑客的服務(wù)器上生成,只將公鑰發(fā)送到肉雞電腦上。
由于RSA對于大量數(shù)據(jù)進行加密占用的系統(tǒng)資源更小,公鑰本身只會加密一小部分重要信息,那就是AES算法在本地生成的密鑰。RSA加密的AES密鑰,會利用初始文件權(quán)限和AES算法初始化的向量,加密系統(tǒng)里的文件。
價值百萬美元的漏洞
我們先前提到過,最關(guān)鍵的AES密鑰是在肉雞電腦上本地生成的。因此,我們逆向了實驗室里Linux.Encoder. 1的樣本,想研究出密鑰和初始化向量生成的方式。我們發(fā)現(xiàn),它并沒有采用隨機的安全密鑰和初始化向量,而是利用libc庫里的rand()函數(shù),結(jié)合當前系統(tǒng)的時間戳進行加密。這些信息通過檢索文件的時間戳,我們能非常容易的獲得。通過這個漏洞,不必使用黑客的RSA公鑰就能取得AES密鑰。
自動解密工具發(fā)布
Bitdefender是第一家發(fā)布解密工具的廠商,該工具會將自動恢復(fù)所有被劫持加密的文件。這款工具會通過分析文件,檢測出初始化向量和AES密鑰,然后對文件進行解密。最后,對那些文件的權(quán)限也進行恢復(fù)。如果你還能啟動你的系統(tǒng),可以下載這個腳本,并以root用戶運行它。
下面是恢復(fù)數(shù)據(jù)的步奏:
1.從Bitdefender實驗室網(wǎng)站下腳本;
(由于勒索軟件很可能也影響你的部分系統(tǒng)文件,所以你也許需要用live CD引導,或者從其他機器上掛載受影響的分區(qū)。)
2.用/dev/encrypted_partition這樣的形式掛載加密分區(qū);
3.生成一個加密文件列表,你需要輸入下面的命令:
/mnt#sort_files.shencrypted_partition>sorted_list
獲取第一個文件名:
/mnt#head-1sorted_list
運行解密腳本,獲取解密信息:
/mnt#pythondecrypter.py–f[first_file]
解密那些文件:
/mnt#python/tmp/new/decrypter.py-s[timestamp]-lsorted_list
考慮到這些工作比較復(fù)雜,我們?yōu)橛脩籼峁┟赓M的幫助。您可以通過評論的形式提問,我們會盡量為您解惑。
大多數(shù)勒索軟件黑客是對其生成密鑰的方式是極度重視的,像上面那種烏龍漏洞其實并不是很常見。為了防止二次感染,請注意下其他事項:
1.別以root用戶運行不信任的應(yīng)用,這可能會損害你的機器和數(shù)據(jù)。
2.記得經(jīng)常備份系統(tǒng),如果你的電腦已經(jīng)被勒索軟件所侵入,最好的辦法還是重裝系統(tǒng)。你得記住,金錢會誘惑黑客寫這些木馬,而且會隨著時間漸漸完善它。而他們?nèi)绻嶅X越來越少,就不會花更多精力去更新木馬。
3.如何你的Linux設(shè)備是在內(nèi)網(wǎng),你可以試著做安全加固方案。
4.注意盡量經(jīng)常給你的WEB應(yīng)用更新補丁,防止CMS遠程代碼執(zhí)行漏洞的利用。
解密工具由密碼學專家Radu Caragea開發(fā),我們也要感謝Bitdefender的反病毒專家Codrut Marinescu、Razvan Benchea、Cristina Vatamanu和Alexandru Maximciuc的研究貢獻。
后續(xù)更新
勒索軟件又有了新的突破,在特定的情況下,解密工具不會生效。在調(diào)查后,我們發(fā)現(xiàn)某些受害者在解密文件系統(tǒng)以后還會再次被感染。
這意味著某些文件采用的單獨的密鑰加密,其他文件用的是另一組密鑰。然而這樣的話,競爭條件會導致某些文件被徹底損壞(其內(nèi)容會被截斷為零)。在某些情況下,連勒索軟件都會被加密。