一、綜述
近日,火絨實驗室截獲了一個新勒索病毒Spora,通過漏洞和誘騙方式傳播,除了加密被感染電腦的本機文件外(doc/ppt/psd/jpg……等各種文件類型),還會加密局域網(wǎng)共享文件夾中的文件,然后彈出窗口,向受害者索取贖金。
Spora利用漏洞和假冒網(wǎng)站彈窗傳播。該病毒利用的第1個漏洞是IE漏洞,存在于IE9以上的瀏覽器版本中,該病毒利用的第2個漏洞是Flash漏洞。該病毒假冒的網(wǎng)站彈窗,模仿的是Chrome瀏覽器。因此,使用IE9/10/11、FlashPlayer和Chrome瀏覽器的用戶要格外小心。
該病毒團伙制造大量以假亂真的仿冒網(wǎng)站,通過百度、谷歌等搜索引擎去傳播。一部分受害者在訪問這些假冒網(wǎng)站時,Spora病毒通過漏洞進入用戶電腦;另一部分受害者則是被這些假冒網(wǎng)站的Chrome瀏覽器彈窗所欺騙,這些彈窗謊稱電腦缺少HoeflerText字體,并提示用戶下載安裝字體文件,所謂的字體文件就是病毒。
火絨安全團隊分析,Spora病毒未來可能會產(chǎn)生兩種變化:首先,該病毒進入電腦經(jīng)過兩步,先下載病毒下載器,再由病毒下載器下載病毒,所以病毒團伙可以通過該病毒下載器下載各種新病毒。其次,病毒團伙制作仿冒網(wǎng)站時使用的是付費漏洞工具RIGEK,而RIGEK還提供其他多種服務,所以該勒索病毒可能會出現(xiàn)新的傳播方式。
廣大火絨用戶不用擔心,“火絨安全軟件”默認開啟的監(jiān)控功能即可攔截該病毒的下載,保持開啟火絨軟件即可完美地防御Spora病毒,同時“火絨安全軟件”也完成了升級,可以徹底查殺清除該病毒。
針對最近勒索軟件層出不窮的狀況,火絨實驗室再次提醒廣大用戶,安裝合格的安全軟件是電腦的最基本安全措施,保持相應的安全設置和升級功能,可以有效防御勒索軟件等各種惡性安全威脅。
二、傳播方式
火絨近期截獲到一組病毒樣本,其通過如IE、FlashPlayer漏洞或者誘騙用戶點擊的方式進行惡意代碼傳播,其傳播的惡意代碼中包含有勒索病毒。
1、漏洞傳播
病毒作者會將帶有Flash漏洞或者IE漏洞的頁面發(fā)布到互聯(lián)網(wǎng)中,之后通過仿冒網(wǎng)址等手段,誘騙用戶訪問帶有漏洞的網(wǎng)站頁面。在觸發(fā)漏洞后IE進程會啟動wscript.exe執(zhí)行惡意腳本,下載惡意代碼到本地進行執(zhí)行。如下圖所示:

觸發(fā)漏洞
經(jīng)過對該漏洞頁面進行解密之后,我們得到了一段JavaScript代碼,如下圖所示:

JavaScript代碼
將變量“s”中的數(shù)據(jù)用Base64算法進行解密之后,可以得到VBScript代碼,在其腳本代碼中存放有一個動態(tài)庫。如下圖所示:

VBScript代碼
VBScript代碼中存放有一個動態(tài)庫的二進制數(shù)據(jù),根據(jù)其代碼結構我們得知該報告中所提及的兩個傳播頁面都是使用漏洞工具箱RigEK生成的。RigEK是一個專門制作釣魚頁面的滲透工具箱,工具箱會通過仿冒網(wǎng)址、掛馬廣告頁面等多種手段進行病毒推送,雖然該工具箱的服務費用高達每周150美元,但是其依然在黑產(chǎn)市場中擁有龐大的用戶群。該工具箱會使用多種不同漏洞進行傳播,火絨截獲樣本中帶有漏洞的HTML頁面包含CVE-2016-0189的漏洞利用代碼。該工具箱經(jīng)常利用的漏洞,如下圖所示:

RigEK工具箱常見使用漏洞列表
該工具箱制作組織維護有數(shù)量龐大的病毒推送代理域名,黑客僅需上傳病毒Payload部分,就可以通過這些共享的代理域名在互聯(lián)網(wǎng)中傳播自己的病毒程序。
漏洞觸發(fā)后會運行命令行執(zhí)行惡意JScript代碼。命令行參數(shù),如下圖所示:

根據(jù)我們的整理和分析,其漏洞觸發(fā)后運行的腳本為下載者病毒,可以根據(jù)病毒作者需求下載執(zhí)行任意可執(zhí)行文件或者動態(tài)庫。其遠程服務器中所存放的病毒數(shù)據(jù)是進行過加密的,該惡意腳本會先將下載到的病毒數(shù)據(jù)存放在內(nèi)中進行解密,之后根據(jù)PE結構IMAGE_FILE_HEADER結構中的Characteristics屬性判斷下載到的PE文件是否為動態(tài)庫,如果是動態(tài)庫則使用regsvr32.exe啟動,如果不是動態(tài)庫則直接使用cmd.exe執(zhí)行。代碼如下圖所示:

下載者病毒代碼
2、欺騙用戶方式傳播
病毒作者依然會以仿冒網(wǎng)站為誘騙用戶訪問頁面的主要形式,但是其下載運行病毒的方式卻沒有利用漏洞傳播那么暴力,而是以欺騙用戶點擊的方式進行。在訪問帶有網(wǎng)頁時,用戶會看到頁面顯示的字符全是亂碼,過一秒之后會彈出仿冒的Chrome彈窗提示:未找到“HoeflerText”字體,需要下載執(zhí)行Chrome_Font.exe,當瀏覽器彈出是否運行該文件時點擊“是”。如果用戶按照其提示的步驟進行操作,最終會下載運行勒索病毒。如下圖所示:

下載執(zhí)行勒索病毒
病毒作者會將其想要仿冒的網(wǎng)站頁面代碼通過保存頁面,在下載到的網(wǎng)頁代碼中插入惡意腳本。如下圖所示:
網(wǎng)頁代碼對比(左為修改后,右為修改前)
被插入惡意代碼的網(wǎng)頁加載時,JavaScript腳本會將所有“>”與“

網(wǎng)頁亂碼
其相關代碼,如下圖所示:

制造亂碼的JavaScript腳本
其插入的惡意代碼中包含一個仿冒的彈窗,該彈窗最初是不可見的。如下圖所示:

仿冒Chrome界面的隱藏的彈窗
當頁面運行到下圖所示腳本時會延時一秒鐘后JavaScript腳本會將彈窗的display屬性置為可見。如下圖所示:

延時彈出仿冒彈窗

仿冒的窗口彈出
當用戶點擊“Update”按鈕之后則會開始下載名為“Chrome_Font.exe”的勒索病毒,并彈出提示誘導用戶運行該病毒。如下圖所示
:

誘導用戶執(zhí)行病毒

病毒作者偽造的Chrome組件升級窗口
如果用戶點擊“Update”按鈕,就會下載名為“Chrome_Font.exe”的勒索病毒程序,在病毒被下載的同時還會彈出。如下圖所示:

惡意代碼彈出的提示窗口
三、Payload分析
頁面?zhèn)鞑サ牟《緸槔账鞑《綬ansom/Spora,該病毒近期在互聯(lián)網(wǎng)中的傳播速度呈上升趨勢。由于用于加密關鍵數(shù)據(jù)的RSA公鑰是病毒作者生成的,所以如果中毒用戶想要恢復被加密的數(shù)據(jù)文件,就只能通過繳納贖金的方式,獲取到對應的RSA私鑰進行解密。而且病毒不但會加密用戶的本地文件,還會遍歷局域網(wǎng)加密的文件格式,如下圖所示:

加密的擴展名列表
該病毒初次運行會在%APPDATA%目錄下釋放名為系統(tǒng)所在盤符卷序號的文件,下文中為勒索數(shù)據(jù)文件。如下圖所示:

釋放文件
病毒加密文件過程中會在該文件中記錄下相關數(shù)據(jù),如當前勒索流程所處步驟、被加密的所有文件路徑、加密中所生成的RSA公鑰和加密后產(chǎn)生的ID,文件中所存放的數(shù)據(jù)都通過CryptProtectData函數(shù)進行過加密,并且以數(shù)據(jù)塊形式進行存儲。如下圖所示:

數(shù)據(jù)文件結構
存放上述數(shù)據(jù)所涉到的相關代碼,如下圖所示:

根據(jù)數(shù)據(jù)塊偏移寫入數(shù)據(jù)
該文件的第一個數(shù)據(jù)塊中記錄著當前所要執(zhí)行的勒索步驟,如果病毒在勒索過程中意外退出,重新啟動會繼續(xù)執(zhí)行器剩余流程。其流程共分為五個步驟:
1.導入存放在PE鏡像中的RSA公鑰(下文中稱MasterRSA公鑰),之后遍歷本地目錄和網(wǎng)絡共享,將需要加密的文件路徑加密后存在在勒索數(shù)據(jù)文件中,如果沒有可以加密的文件則會在本地各盤符和網(wǎng)絡共享中創(chuàng)建指向勒索病毒的快捷方式,進行病毒傳播。代碼如下圖所示:

代碼展示
2.重新生成一組RSA密鑰(SubRSA密鑰),將公鑰導出寫入到勒索數(shù)據(jù)文件中。生成勒索描述頁面,頁面中包含兩個數(shù)據(jù):
a)生成勒索ID。ID是基于地域信息、加密信息數(shù)據(jù)整體的部分MD5和加密的各種類型文件數(shù)量生成的,將上述信息拼接后,將數(shù)字和“|”符號用字母進行替換,最后生出如“CH065-DDZTZ-TZTZT-RZTHY”類似的ID。如下圖所示:
生成ID代碼
字符替換
b)加密的勒索狀態(tài)相關數(shù)據(jù),其中包括:SubRSA私鑰、加密日期、系統(tǒng)用戶名、地域信息、勒索病毒標記、加密各種類型文件的數(shù)量。數(shù)據(jù)使用其運行時生成的AES密鑰進行加密,之后將該密鑰用MasterRSA公鑰進行加密之后將加密的AES密鑰數(shù)據(jù)放與整體數(shù)據(jù)尾部,最后再用Base64算法進行一次加密防止數(shù)據(jù)被截斷。數(shù)據(jù)內(nèi)容如下圖所示:
描述頁面中數(shù)據(jù)存放的結構
構造數(shù)據(jù)的代碼
3.根據(jù)其記錄的加密文件路徑列表進行文件加密,每個文件加密是都會生成一份獨立的AES密鑰,進行文件加密后使用SubRSA公鑰對AES密鑰進行加密,再將加密后的AES密鑰數(shù)據(jù)計算crc32,將兩個數(shù)據(jù)按描述順序拼接后,放置到被加密文件數(shù)據(jù)尾部,病毒在加密過程中會計算加密的AES密鑰存放位置與最后四個字節(jié)的crc32值相符,如果相符說明已經(jīng)進行過加密,不再進行重復加密。被加密的文件數(shù)據(jù)最小為0×20個字節(jié),最多為0×500000個字節(jié)。如下圖所示:
被加密的文件數(shù)據(jù)結構
加密文件
判斷是否被加密
文件數(shù)據(jù)加密
4.刪除系統(tǒng)還原點。刪除注冊表鍵值HKEY_LOCAL_MACHINE\SOFTWARE\Classes\lnkfile\IsShortcut,使快捷方式不再具有左下角的特殊標記,為此后的病毒流程做準備。
代碼展示
5.打開勒索病毒描述頁面。
6.將本地磁盤根目錄、桌面和網(wǎng)絡共享中的文件夾放入具有隱藏文件屬性的勒索病毒,并將這些文件夾隱藏,之后創(chuàng)建同名的快捷方式。每次點擊這些快捷方式后,會執(zhí)行一段控制臺命令,除了打開同名文件夾外,還會運行勒索病毒,從而達到其持續(xù)加密和局域網(wǎng)傳播的目的。病毒為了執(zhí)行時更加隱蔽,其會將同目錄下的勒索病毒拷貝到%temp%目錄進行執(zhí)行,即使%temp%目錄中的勒索病毒執(zhí)行時被安全軟件查殺也不會影響其事先構造的目錄結構,依然可以駐留在用戶計算機中。由于將前面流程中已經(jīng)把HKEY_LOCAL_MACHINE\SOFTWARE\Classes\lnkfile\IsShortcut鍵值刪除,所以其快捷方式圖標與目錄圖標完全相同。如下圖所示:
創(chuàng)建與目錄同名的快捷方式
快捷方式中包含的命令行
釋放快捷方式代碼
四、相關樣本

|