揭秘花招最多的三種敲詐者木馬

2016-09-29 17:52:16來源:威易網(wǎng)作者:

對于一個“正經(jīng)”的黑產(chǎn)從業(yè)者來說,利益最大化是他所追求的目標(biāo),而利益最大化的實現(xiàn)無非需要兩個方面來支撐,一是成本最小化,二是收入最大化。當(dāng)然,那些制作、傳播敲詐者木馬的黑產(chǎn)從業(yè)者也深諳此道。

一、前言

對于一個“正經(jīng)”的黑產(chǎn)從業(yè)者來說,利益最大化是他所追求的目標(biāo),而利益最大化的實現(xiàn)無非需要兩個方面來支撐,一是成本最小化,二是收入最大化。當(dāng)然,那些制作、傳播敲詐者木馬的黑產(chǎn)從業(yè)者也深諳此道。為了實現(xiàn)成本最小化,這些黑客們拋棄了以前繁瑣的開發(fā)模式,有的開始轉(zhuǎn)戰(zhàn)擁有龐大類庫的.NET平臺,有的則擯棄繁雜的程序加殼和混淆,直接以“裸體”的文件加密代碼示眾;而實現(xiàn)收入最大化呢,多勒索幾個比特幣顯得不夠“紳士”,那就只能耍一些花招來增加用戶被勒索的可能性了。最近,360互聯(lián)網(wǎng)安全中心就捕獲到多枚進(jìn)行“花式敲詐”的敲詐者木馬,其敲詐手段可謂無所不用其極,下面將具體分析三種敲詐者木馬是怎么“耍花招”的。

二、加密手法分析

在對這些“花招”進(jìn)行分析之前,還是需要對這三款“敲詐者”木馬的加密手法進(jìn)行簡要敘述。這幾款木馬所使用的編程語言為C#和C++,用C#編寫的“敲詐者”木馬受益于.NET平臺下強(qiáng)大的加密類庫,因此直接使用相關(guān)加密函數(shù)即可完成加密工作。

\
圖1 產(chǎn)生隨機(jī)數(shù)密鑰

\
圖2 用RSA公鑰加密隨機(jī)數(shù)密鑰

\
圖3 用隨機(jī)數(shù)密鑰加密文件

上面三幅圖是.NET平臺下“Fantom”敲詐者木馬的加密方法,此種加密方法和一般的敲詐者木馬相似,使用RSA公鑰去加密隨機(jī)數(shù)密鑰,然后用隨機(jī)數(shù)密鑰去加密文件(也有的使用AES加密算法加密文件)。其他類型的敲詐者木馬使用的加密方法大同小異,只是在密鑰的處理上有些不同。而對于使用c++編寫的敲詐者木馬而言,使用現(xiàn)成的公開庫也是可以解決加密的問題,只是相比較.NET平臺還是略顯臃腫。

\
圖4  c++編寫的“敲詐者”木馬部分加密算法

三、“花招”的具體分析

當(dāng)然,剛剛那些只是“前戲”,分析這幾款敲詐者木馬所耍的“花招”才是正事。這些敲詐者木馬;ㄕ械哪康挠械氖亲層脩舾菀咨袭(dāng)受騙,有的是增加用戶對敲詐勒索的恐懼感,還有的直接簡化了支付的流程,可謂是”花樣百出”。不過,“花招”的目的都是一致的-——“多撈錢”。那么,它們耍的花招到底都有哪些亮點呢?

1.“Fantom”敲詐者木馬

“Fantom”敲詐者木馬是基于.NET平臺的敲詐者木馬,其加密手法之前已經(jīng)進(jìn)行了介紹,那么,這款“敲詐者”木馬到底耍了啥花招呢?
我們可以從代碼中看出點端倪。由于程序的主要功能是以窗口事件處理的形式執(zhí)行的,為了不讓用戶察覺到蛛絲馬跡,程序把窗口的圖標(biāo)和任務(wù)欄圖標(biāo)都隱藏起來。

\
圖5 隱藏圖標(biāo)和任務(wù)欄圖標(biāo)

當(dāng)然這不是重點,重點在程序資源段中一個名為“WindowsUpdate.exe”的程序。程序通過extractResource方法將該程序復(fù)制到臨時文件夾下執(zhí)行。

\
圖6 從資源段獲取程序并執(zhí)行

從程序名可以看出,這應(yīng)該是個和Windows更新有關(guān)的程序,果然,反編譯代碼證實了這一點,這是個偽造的windows更新界面!

該程序窗口布局是仿造windows更新界面繪制而成的,并且覆蓋整個屏幕。為了達(dá)到動態(tài)效果,程序以窗口事件處理程序的形式增加了一個定時器,以100秒為間隔修改更新進(jìn)度。因此進(jìn)度達(dá)到百分之百需要大約要兩個半小時,這時間足夠完成加密工作。

\
圖7 程序以100秒為間隔修改更新進(jìn)度

借助C#強(qiáng)大的窗體繪制能力,程序繪制出了一個“以假亂真”的Windows更新界面。

\
圖8 偽造的Windows更新界面

當(dāng)然,僅僅依靠這樣一個覆蓋全屏的窗口界面還是不能令作者滿意的,因此作者為這個偽造界面添加了許多“左膀右臂”,比如禁止打開任務(wù)管理器。

\
圖9 禁止打開任務(wù)管理器

當(dāng)受害者的計算機(jī)屏幕上覆蓋著這樣一個偽造的Windows更新界面時,由于無法打開任務(wù)管理器,受害者也就無法關(guān)閉產(chǎn)生該界面的程序。實際上更多的情況是,受害者根本不知道這是一個偽裝的Windows更新程序,而會把所見的當(dāng)作真正的Windows更新界面。

等到加密工作完成之后,加密程序就結(jié)束掉產(chǎn)生偽造Windows更新界面的程序。

\
圖10 結(jié)束掉偽造Windows更新進(jìn)程

當(dāng)受害者以為自己計算機(jī)系統(tǒng)已經(jīng)更新完畢時,也正是悲劇來臨之時。計算機(jī)中大部分文件將被加上“fantom”后綴名,而顯示在用戶面前的是一封顯眼的勒索信。原本以為系統(tǒng)更新成功,結(jié)果才發(fā)現(xiàn)一切都是個騙局。

\
圖11 勒索信內(nèi)容

\
圖12 被加密的文件

作者在每個文件夾下都留有一個html網(wǎng)頁,上面介紹如何支付贖金恢復(fù)文件。

\
圖13 介紹支付流程的html網(wǎng)頁

\
圖14 網(wǎng)頁內(nèi)容

是不是到此程序就結(jié)束它的“勒索“之行坐等收贖金了呢?并不是這樣的,為了防止用戶通過卷影備份恢復(fù)數(shù)據(jù),程序調(diào)用“Vssadmin delete shadows”命令刪除計算機(jī)中的卷影,可謂“趕盡殺絕”。

\
圖15 刪除卷影防止通過備份恢復(fù)數(shù)據(jù)

可以看出,“Fantom”敲詐者木馬充分利用了C#語言繪制窗體的方便性,繪制了一個栩栩如生的偽造Windows更新界面,這以假亂真的功夫簡直6翻了。

\

2.“Voldemont”敲詐者木馬

不同于 “Fantom”敲詐者木馬所走的專業(yè)山寨路線,“Voldemont”可謂另辟蹊徑,沒有勒索信,也不讓你看到那一大堆被加密的文件,在你面前只有這么一張圖。

\
圖16 “Voldement”敲詐者展示的界面

一個伏地魔的照片突然就出現(xiàn)在面前,著實有些嚇人。不過還有一個更嚇人的,就是這款敲詐者木馬不勒索比特幣,而是直接要你把信用卡發(fā)給他,這明擺著就是搶劫嘛!

可能有些用戶在此時會選擇通過任務(wù)管理器關(guān)閉相關(guān)程序或者重啟計算機(jī),不過悲劇的是,程序已經(jīng)結(jié)束掉explore進(jìn)程和任務(wù)管理器進(jìn)程并且寫入啟動項,下回開機(jī)時還要被嚇一次,無計可施的用戶不得不輸入信用卡信息來尋求解密。

\
圖17 程序結(jié)束explore和taskmgr進(jìn)程

\
圖18 程序?qū)懽员韱禹?/p>

當(dāng)受害用戶填寫信用卡信息并點擊“Get Key!”時,程序就會將信用卡信息發(fā)送至遠(yuǎn)程服務(wù)端。

\
圖19 發(fā)送信用卡信息到遠(yuǎn)程服務(wù)端

遠(yuǎn)程端會核實信息是否正確,正確的話將會發(fā)送一個key到本地客戶端。

\
圖20 判斷信用卡信息是否正確以選擇要執(zhí)行的代碼

按說接收到的key應(yīng)該是用于解密文件的,然而事實并非如此,程序并不是使用這個key對文件進(jìn)行解密,只是用它來判斷是不是可以進(jìn)行解密了,而且判斷條件也僅僅是個簡單的運(yùn)算。

\
圖21 解密的判斷

可以看出,解密算法并不需要key的參與,也就是說加密算法即解密算法,從算法的代碼中也可以很清楚的看出,這是個加解密通用的算法?磥“伏地魔”的功力也不過如此,除了會嚇人,也沒啥亮點了。

\

\
圖22 部分加/解密代碼

相比較“Fantom”木馬縝密的加密流程以及無可匹敵的山寨功力,“Voldemont”也就僅僅起到了嚇人的作用,并沒有一般“敲詐者”木馬不可逆的加密手段,只要弄清“Voldemont”的加密手法就能讓它功力盡失。

3.“QrCode”敲詐者木馬

之所以叫它“QrCode”,因為這是個關(guān)于二維碼的故事。“QrCode”敲詐者也是基于.NET平臺,它在函數(shù)命名以及加密方式方面和“Fantom”有較多相似之處,不排除是同一團(tuán)伙所為。而且相比較“Fantom”敲詐者,“QrCode”在加密流程上更為縝密,而且將加解密鑰的存儲全部轉(zhuǎn)移到了遠(yuǎn)程服務(wù)端,可以說更加隱蔽。

\
圖23 “QrCode”加解密流程

從上圖可以看出,本地程序和服務(wù)端進(jìn)行交互,向服務(wù)端發(fā)送本地相關(guān)信息,而服務(wù)端通過判斷這些信息來決定是進(jìn)行加密還是解密,而加密和解密使用的密鑰也是由服務(wù)端提供的,分別是FIRST字段下的值和RECEIVED字段下的值。

除外,為了防止殺軟檢測程序?qū)σ恍┟舾行畔⒌墨@取,該款“敲詐者”并沒有獲取諸如計算機(jī)名等較為敏感的信息,而是獲取一些可以代表機(jī)器但不是那么敏感的信息,比如ProductName,CDVersion,作者也“親切”地稱他們“FriendlyName”。

\
圖24 獲取“FrienflyName”

這些信息上傳到服務(wù)端后將作為標(biāo)識受害計算機(jī)所用的信息,作者通過多次從本地獲取這些信息來和服務(wù)端做對比來確定受害者是否支付贖金亦或者這是臺初次感染的機(jī)器。

那么,受害者該怎么交付贖金呢?在代碼中可以發(fā)現(xiàn)一個名為.CreateQrCode的函數(shù),難道要通過掃二維碼支付贖金?

\
圖25 創(chuàng)建二維碼函數(shù)

果不其然,屏幕出現(xiàn)了一個大大的二維碼,不過掃描該二維碼只是獲得比特幣錢包地址和支付金額。

\
圖26 感染“QrCode”敲詐者后的界面

由于二維碼的生成使用了谷歌的接口,因此有些國內(nèi)用戶感染該木馬后并不會產(chǎn)生二維碼,不過屏幕依然會出現(xiàn)對方的比特幣錢包地址。該“敲詐者”會向受害者勒索1.5個比特幣,而且要求受害者在十分鐘內(nèi)完成支付。

這時候受害者應(yīng)該也會選擇啟動任務(wù)管理器結(jié)束相關(guān)進(jìn)程或者重啟,不過同樣悲劇的是,程序禁止打開任務(wù)管理器并且設(shè)置了啟動項。

\
圖27 設(shè)置開機(jī)啟動項

\
圖28 禁止使用任務(wù)管理器

“QrCode”敲詐者木馬禁止任務(wù)管理器的函數(shù)和“Fantom”木馬完全相同,除此之外獲取計算機(jī)所在國家語言的函數(shù)也和“Fantom”敲詐者完全相同,因此可以基本確定兩者來自同一團(tuán)伙。

不過“QrCode”敲詐者木馬最大的亮點還是來自于那個大大的二維碼,雖然這個二維碼并不帶“掃一掃即可支付”的功能,只是用于提供比特幣錢包地址和支付金額,但從這種接地氣的設(shè)計來看,敲詐者木馬離“掃一掃即可支付”不遠(yuǎn)了。

四、總結(jié)

從分析中可以看出,這幾款“敲詐者”威力雖然參差不齊,但由于使用了各種各樣的“花招”來迷惑和恐嚇用戶,并且簡化了支付流程,因此它們的能力還是不容小覷。在敲詐者木馬多樣化的今天,用戶在下載運(yùn)行未知程序時保持警惕狀態(tài),對于具有迷惑性的程序更應(yīng)該“慎點”。面對敲詐者木馬多樣化的趨勢,360安全衛(wèi)士已經(jīng)開通了“反勒索服務(wù)”,并向用戶公開承諾:使用360安全衛(wèi)士11.0版本并開啟該服務(wù)后,一旦感染敲詐者病毒,360將提供最高3個比特幣(約13000元人民幣)的贖金并幫助用戶回復(fù)數(shù)據(jù),讓用戶遠(yuǎn)離財物及文檔的損失。
 

關(guān)鍵詞:木馬