解密Nuclear漏洞利用工具包中的Flash漏洞加密手段
近年來興起的Exploit Kit(簡(jiǎn)稱EK)集合了各種漏洞利用工具,可對(duì)多種文件格式進(jìn)行自動(dòng)化分析、漏洞利用測(cè)試。比較有名的EK有Blackhole EK,Phoenix EK,Nuclear EK等。
最近我們收到Nuclear EK的新樣本,隨后在VT上對(duì)該樣本進(jìn)行了檢測(cè),結(jié)果如圖所示:
發(fā)現(xiàn)只有5家安全廠商檢出,所以我們做了進(jìn)一步分析。
Flash文件分析
文件基本信息
注:
SWF文件的文件頭由一個(gè)三字節(jié)的標(biāo)識(shí)開始,該標(biāo)識(shí)是以下其中一個(gè):
•0x46 ,0x57, 0x53(“FWS”):FWS標(biāo)識(shí)表明這是一個(gè)未壓縮的SWF文件
•0x43, 0x57, 0x53(“CWS”):CWS標(biāo)識(shí)表明整個(gè)SWF文件在第一個(gè)8字節(jié)之后,也就是在“文件長(zhǎng)度”域之后,使用ZLIB開放標(biāo)準(zhǔn)進(jìn)行了壓縮。CWS文件壓縮只允許出現(xiàn)在SWF 6以及之后的版本。
•0x5a, 0x57, 0x53(“ZWS”):ZWS標(biāo)識(shí)表明整個(gè)SWF文件在第一個(gè)8字節(jié)之后,也就是在“文件長(zhǎng)度”域之后,使用LZMA開放標(biāo)準(zhǔn)進(jìn)行了壓縮。ZWS文件壓縮只允許出現(xiàn)在SWF 13以及之后的版本。
通過對(duì)文件進(jìn)行格式解析,發(fā)現(xiàn)該文件使用數(shù)據(jù)混淆、加密,采用腳本加載執(zhí)行的方式。腳本信息:
文件解密過程
Brhd5443d腳本負(fù)責(zé)整體執(zhí)行與調(diào)度,通過AX3腳本中的retustr()進(jìn)行解密,AX3文件關(guān)鍵部分內(nèi)容:
AX3腳本文件主要用來函數(shù)混淆、數(shù)據(jù)混淆、KEY混淆,調(diào)用者通過向該函數(shù)傳遞不同數(shù)值獲取到不同內(nèi)容。采用的混淆方法是在具體內(nèi)容中隨機(jī)地加入隨機(jī)數(shù)字(0-9)、符號(hào)(.),使人不容易辨認(rèn)具體函數(shù)與數(shù)據(jù)內(nèi)容。
在本腳本中分別解密了數(shù)值為1、2、3、6的函數(shù),解密后函數(shù)loadBytes、addChild 、removeEventListener、fgghtdrsegfgf,其中6為后續(xù)解密數(shù)據(jù)中的KEY,內(nèi)容為fgghtdrsegfgf;而后調(diào)用AX2腳本對(duì)數(shù)據(jù)進(jìn)行解密。AX2腳本關(guān)鍵解密內(nèi)容如圖:
AX2的解密過程:
·在該函數(shù)中調(diào)用AX1中的fserggsgg函數(shù)進(jìn)行Base64解碼。AX1中調(diào)用了AX3腳本文件解密出了混淆的數(shù)據(jù)內(nèi)容,序號(hào)為7
·AX2根據(jù)傳入的KEY對(duì)加密內(nèi)容進(jìn)行解密,通過對(duì)KEY的每一位與加密內(nèi)容的每一位進(jìn)行異或,當(dāng)KEY為最后一位時(shí)從KEY的第一位重新算起,直到解密完成。
解密后的文件是一個(gè)SWF格式文件。具體分析如下:
文件基本信息
通過對(duì)該文件格式進(jìn)行解析,發(fā)現(xiàn)采用的是腳本加載方式,腳本內(nèi)容如表所示:
文件解密過程
aaaa腳本文件存放了溢出格式代碼,該代碼同樣適用混淆,內(nèi)容如下:
經(jīng)過去混淆后得2,425 字節(jié)如下代碼:
從該圖可以基本判定該樣本是利用漏洞 CVE-2014-0515進(jìn)行傳播。
結(jié)論
Nuclear EK采用異常精密復(fù)雜的攻擊方式,對(duì)Flash漏洞進(jìn)行利用,并且具有高度混淆代碼的特點(diǎn)。
通過該樣本,我們還發(fā)現(xiàn)另外一件有趣的事情,該漏洞在溢出成功后,會(huì)下載Botnet惡意文件,進(jìn)一步收集信息發(fā)現(xiàn)該botnet是很有名的Kelihos(也稱HLUX)。Kelihos的傳播過程也挺有趣,具體傳播流程:
受害者在訪問掛馬服務(wù)器后會(huì)被多次重定向跳轉(zhuǎn)到一臺(tái)存在Nuclear EK的服務(wù)站點(diǎn),之后在訪問惡意頁面時(shí),頁面中的Flash文件均會(huì)被存儲(chǔ)到受害者的機(jī)器上,其中就包括特定的swf文件。當(dāng)該文件成功溢出后,受害者機(jī)器會(huì)下載Kelihos惡意文件。
關(guān)于Kelihos惡意文件,我們提取了YARA檢測(cè)規(guī)則,未進(jìn)行深入分析,若諸君有意,可自行分析。
Kelihos YARA規(guī)則如下:
import"pe"
rule Trojan_Win32_Hlux
{
meta:
copyright = "WarHead.Team"
description ="Trojan[Backdoor]/Win32.Hlux"
version = "1.0"
last_modified = "2015-03-19"
strings:
$a={74 29 81 7D F0 55 55 55 15 75 20 33 C040 6B C0 00 8B 0D E8 A1 41 00 8D 84 01 50 34
41 00 A3 E8 A1 41 00 8B 0D E8 A141 00 FF E1 6A 64}
condition:
$a at pe.entry_point - 0x1083
}
通過對(duì)Flash可疑樣本的分析,我們似乎嗅到了暴風(fēng)驟雨的味道。但它到底會(huì)產(chǎn)生什么樣的動(dòng)態(tài),還需要大家斟酌關(guān)注一下。