剖析Mamba-磁盤加密型勒索軟件
一、前言
另一個新的勒索軟件已經(jīng)加入文件加密的潮流中。只是這一次不是選擇一些類型的文件加密,它直接用一個開源的工具DiskCryptor加密整個磁盤。
這個不是第一次出現(xiàn)磁盤加密類型的勒索軟件。在早年,Petya勒索軟件通過加密磁盤主文件表(MFT)惡意破環(huán),使用戶無權(quán)訪問文件。不像之前的攻擊,這個新的勒索軟件完全加密整個磁盤,包括數(shù)據(jù)。除非支付勒索金否則系統(tǒng)完全不能用。為了匹配它的能力,他被命名為有毒的射的名字,曼巴。
本文調(diào)查了這個惡意程序的功能和技術(shù)。
二、 DiskCryptor安裝
深入到磁盤權(quán)限和加密將會非常的復(fù)雜。因此,直接寫代碼加密磁盤將很容易產(chǎn)生一個噩夢。因為這個原因,一個實用的方案是用一個第三方工具實現(xiàn)加密磁盤,實現(xiàn)簡單,可靠的解密保護(hù)。幸運(yùn)又不幸的是,有一個叫DiskCryptor的工具,這個工具提供了勒索軟件需要的功能。它是一種偷懶的方案,但是很聰明。
安裝的組件是該工具的gui版本。這個工具號稱多種加密算法實現(xiàn)多層保護(hù)。
DiskCryptor主界面和支持的加密算法
主程序沒有參數(shù)(一個密碼)不能完全執(zhí)行。這個需要另一個組件來生成密碼,但是我們還沒有發(fā)現(xiàn)。因此在本文中用了一個假的密碼測試。
一旦合適的密碼被提供,Mamba通過安裝DiskCryptor(安裝在C:\DC22\)組件能很好的兼容32位和64位版本的環(huán)境。
圖2 安裝組件
為了持續(xù)性,可執(zhí)行程被安裝成一個“DefragmentService”的服務(wù),password為參數(shù)。
Mamba用一個測試密碼把自己安裝成一個服務(wù)
三、在映射的網(wǎng)絡(luò)磁盤上加密文件
在全盤加密前,它也會加密所有映射的網(wǎng)絡(luò)磁盤,進(jìn)一步加大了破環(huán)程度。
顯然,在比較老版本的系統(tǒng)上用“net use”命令枚舉映射的網(wǎng)絡(luò)磁盤。
檢查系統(tǒng)版本
對于新版的操作系統(tǒng)(Vista及之后的),有UAC特性。這個惡意程序通過計劃任務(wù)運(yùn)行“net use”命令。這樣就能在管理員和普通用戶上下文下能更精確的映射的網(wǎng)絡(luò)磁盤。為了訪問密碼保護(hù)的網(wǎng)絡(luò)磁盤,可以使用一個免費(fèi)工具(Netpass)。這個工具用來恢復(fù)存儲在系統(tǒng)中網(wǎng)絡(luò)密碼。磁盤和網(wǎng)絡(luò)密碼列表被存儲在“netuse.txt”和“netpass.txt”。
在新老系統(tǒng)中執(zhí)行“net use”
以管理員和計劃任務(wù)運(yùn)行“net use”
Netpass GUI模式
用之前創(chuàng)建的管理員賬戶提升權(quán)限執(zhí)行mount.exe組件加密文件。這時,它用一個包含一系列異或和左移操作的自定義算法。提供給主程序的密鑰是password的一部分。密鑰的MD5哈希值在將它轉(zhuǎn)化為字符串之前用微軟的CryptoAPI來獲得。為了增加復(fù)雜性,只有字符串的一半被用來加密。
提權(quán)執(zhí)行Mount.exe
MD5 string
文件加密過程
在映射的網(wǎng)絡(luò)磁盤上加密文件
四、 全盤加密
正如之前提到的,這個惡意程序的作者通過安裝一個第三方工具來實現(xiàn)全盤加密,使得他們的工作變得簡單。為了更加簡單,作者把要加密的磁盤號硬編碼在代碼中,然后可以一個接一個加密他們。有個“-enum”的命令行可以用來枚舉磁盤。
用dccon.exe –enum枚舉磁盤
用dccon.exe和一個測試密碼加密磁盤
硬編碼參數(shù)
自定義的啟動引導(dǎo)器用下面的命令行安裝:
安裝DiskCryptor引導(dǎo)啟動
下一步,作者完成另一個技巧。用DiskCryptor的默認(rèn)配置執(zhí)行上述命令完成啟動引導(dǎo)器安裝。然后用“enter password”提示用戶輸入密碼。那么問題來了,勒索提示來自哪里呢?
我們觀察主程序看到,如果用“-config”命令行,沒啥跡象。輸入密碼的提示消息改變了;DiskCryptor組件dcapi.dll被直接修改。
被修改的dcapi.dll
似乎對于每個被感染的機(jī)器ID不是唯一的,對于所有的感染都只有一個密碼。支持這個假設(shè)的證據(jù)是主程序沒有任何C&C服務(wù)器功能或者從被感染的系統(tǒng)獲取密碼和ID,不過也可能是之前錯過了一些組件。
強(qiáng)制重啟,只留下了一段勒索提示,除非支付完否則機(jī)器一直被鎖住。
在加密后用DiskCryptor觀察發(fā)現(xiàn)XTS-AES算法被使用了。
加密磁盤的信息
在加密前后轉(zhuǎn)儲的數(shù)據(jù)
在引導(dǎo)啟動器被安裝后,加密磁盤,安裝的服務(wù)休眠了5個小時——加密過程需要的最長時間。當(dāng)完成后,不管加密過程完成與否在重啟系統(tǒng)前惡意程序部分移除了痕跡和留下了DiskCryptor。這個說明加密非常大的磁盤將要花費(fèi)超過5個小時的時間,部分加密將導(dǎo)致數(shù)據(jù)永久損壞。
移除一些組件的過程
五、總結(jié)
發(fā)現(xiàn)一個全盤加密的勒索軟件是比較稀少的。因為實用的原因。這個對于系統(tǒng)控制有一個更好的全局控制,因為它能導(dǎo)致整個系統(tǒng)無法使用。它是一個可怕的事實。然而,緩慢的加密過程掩蓋了這些優(yōu)點。因為這個原因,除非加密過程戲劇性的加快了,否則我們相信從基于文件類型的勒索軟件向全盤加密的勒索軟件轉(zhuǎn)變的趨勢不太可能。
然而,新的勒索軟件的情況表明犯罪一直不停地創(chuàng)新加密方式,同事嘗試用工具的新的方式使他們的活動更加簡單。我們預(yù)計能在其他家族的勒索軟件上面看到這種趨勢,因為這個更簡單方便。