压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

揭秘:釣魚攻擊工具包Angler Exploit Kit初探

一、初識(shí)Angler EK

Angler EK釣魚攻擊工具包在2013年才出現(xiàn),短短2年時(shí)間,它就成為了野外利用最常用的EK之一。

Angler EK具有高度混淆性、偵察特性(其包含了嘗試檢測(cè)殺毒軟件和虛擬機(jī)的代碼)、反偵察性(其對(duì)網(wǎng)絡(luò)傳輸?shù)腜ayload進(jìn)行了加密以期繞過IDS/IPS的檢測(cè),使用了”Fileless infections”等技術(shù)來嘗試躲避殺毒軟件的檢測(cè)),同時(shí)其對(duì)最新漏洞的利用代碼更新迅速甚至在其中會(huì)出現(xiàn)”0 day”的利用代碼。因此,Angler EK被一些安全研究人員視為目前世界上最先進(jìn)的EK。

目前,Angler EK包含了如下漏洞的利用代碼:

20150326103428255

二、場(chǎng)景

最近與Exploit Kit有關(guān)的安全威脅通常包含了如下幾個(gè)階段:

1.誘餌(Lure)

通過郵件等途徑引誘目標(biāo)對(duì)象點(diǎn)擊指向被控制網(wǎng)站的鏈接。

2.重定向(Redirection)

目標(biāo)對(duì)象在不知情的情況下被重定向到另外一個(gè)包含了Exploiit Kit的網(wǎng)頁

3.漏洞利用(Exploit)

Exploit Kit獲得目標(biāo)對(duì)象的系統(tǒng)信息并選擇合適的漏洞進(jìn)行漏洞利用

4.派發(fā)PAYLOAD(Payload Drop)

漏洞利用成功后目標(biāo)對(duì)象系統(tǒng)將被派發(fā)一個(gè)惡意病毒

5.Post Exploitation Activation

1)外部服務(wù)器通信(Call Home)

惡意病毒與外部的C&C服務(wù)器通信

2)竊取目標(biāo)系統(tǒng)數(shù)據(jù)或控制(Compromise)

三、ANGLER EK樣本分析

誘餌

我們通過分析一個(gè)具體的Angler EK樣本來了解該EK所使用的一些技術(shù),分析的樣本來自malware-traffic-analysis.net的分享。

重定向

被控制網(wǎng)站的頁面代碼如下:

20150326103459594

網(wǎng)站被掛馬的相關(guān)代碼

漏洞利用

我們?cè)賮砜碅ngler EK的登陸頁(landing page)的源代碼:

20150326103532308

Angler EK登陸頁的部分腳本代碼

20150326103547196

Angler EK登陸頁的部分腳本代碼

可以看到Angler EK的登陸頁的JS腳本代碼被高度混淆。

現(xiàn)在,讓我們看一下獲取登陸頁所執(zhí)行的關(guān)鍵代碼的兩個(gè)方法。

方法1:對(duì)JS中的eval函數(shù)設(shè)置”鉤子”

在Angler EK的登陸頁中添加如下代碼:

20150326103621868

添加代碼后再在虛擬機(jī)里面測(cè)試Angler EK的登陸頁,你可以看到如下信息:

20150326103633754

反混淆效果

方法2:使用Firefox的JavaScript Deobfuscator工具

使用JavaScript Deobfuscator工具反混淆的結(jié)果如下:

20150326103702590

方法2反混淆結(jié)果

如上所示,我們已經(jīng)可以得到第一次反混淆后的代碼,這里得到的代碼雖然忽略了登陸頁的一部分代碼并且可讀性依然不太好,但是在查看反混淆后的代碼之后,我們可以確認(rèn)下一步需要關(guān)注的重點(diǎn)代碼:

20150326103726671

可疑代碼1

20150326103747809

可疑代碼2

在確定了需要重點(diǎn)關(guān)注的代碼之后,我們還需要再做一次反混淆工作來看看這些代碼到底干了什么,在這里,可以使用Revelo工具或IE的開發(fā)人員工具來做下一步的反混淆工作。

比如,我們借助Revelo來得到可疑代碼1中的Q1thJ6hM.text的值。

20150326103822257

Revelo反混淆結(jié)果

最終,我們可以確認(rèn)可疑代碼1相關(guān)的代碼其實(shí)是CVE-2014-6322的漏洞利用代碼片段,可疑代碼2是CVE-2013-2551的漏洞利用代碼片段。

剛巧筆者都調(diào)過CVE-2013-2551和CVE-2014-6322,下面是這兩個(gè)漏洞的POC和Angler EK所使用的利用代碼片段的比較:

20150326103845185

20150326103859284

 

除此之外,該Angelr EK的利用代碼還利用了CVE-2013-7331,該漏洞是一個(gè)信息泄露漏洞,攻擊者利用該漏洞可以檢測(cè)受漏洞影響系統(tǒng)中是否存在特定文件和文件目錄。POC代碼和樣本利用代碼分別如下所示:

20150326103923307

20150326103942403

Angler EK除了使用CVE-2013-7331來嘗試檢測(cè)系統(tǒng)安裝軟件的信息之外,還使用如下方法來嘗試檢測(cè),見代碼:

20150326104001798

從代碼來看,其檢測(cè)控件,并通過加載圖片來嘗試檢測(cè)文件是否存在,在我的環(huán)境中(WIN7/IE8未打補(bǔ)丁),嘗試通過加載圖片來檢測(cè)文件是否存在的這個(gè)方法沒有成功。

沒有搜索到對(duì)這個(gè)技術(shù)的介紹,找到一個(gè)技術(shù)博文枚舉了Angler EK檢測(cè)系統(tǒng)信息的方法,一個(gè)與這里的檢測(cè)相類似的代碼可參見[11]。

PAYLOAD的派發(fā)

在確定了所分析的Angler EK所使用的漏洞后,下面進(jìn)入我們下一步的工作:獲得漏洞利用成功之后所執(zhí)行的PAYLOAD。

在前面,我們已經(jīng)確認(rèn)了該樣本所使用的漏洞分別是CVE-2014-6332和CVE-2013-2551。樣本先使用CVE-2014-6332嘗試進(jìn)行漏洞利用再嘗試CVE-2013-2551。

調(diào)試過CVE-2014-6332的同學(xué)都可能了解該漏洞是一個(gè)“半神”之洞(整數(shù)溢出導(dǎo)致問題緩沖區(qū)可以“有限制”的越界讀寫),該漏洞特性再加上yuange1975的漏洞利用技巧(對(duì)variant/SafeArray的靈活運(yùn)用,將特殊對(duì)象的數(shù)據(jù)作為攻擊目標(biāo)以期獲得代碼執(zhí)行機(jī)會(huì)等等技巧),使得該漏洞最終踏上“成神”之路。

因?yàn)樵撀┒吹囊子眯裕乙詾樵摌颖緫?yīng)該是通過這個(gè)漏洞來執(zhí)行PAYLOAD的了,但是實(shí)際調(diào)試發(fā)現(xiàn)樣本代碼基于yuange的代碼做了部分修改且最后利用并沒有成功(粗略調(diào)試,利用代碼中進(jìn)行內(nèi)存布局這一步驟的相關(guān)操作沒有成功,這個(gè)內(nèi)存布局的目的是要將問題緩沖區(qū)和另外一個(gè)被作為攻擊目標(biāo)的緩沖區(qū)相鄰,而這個(gè)作為攻擊目標(biāo)的緩沖區(qū)保存的數(shù)據(jù)是一個(gè)tagSafeArray中的pvData所指向的數(shù)組數(shù)據(jù))。

確認(rèn)Angelr EK樣本中的CVE-2014-6332漏洞利用代碼無法成功利用之后,重新回到我們所要實(shí)現(xiàn)的目標(biāo):獲得漏洞利用成功之后所執(zhí)行的PAYLOAD。將關(guān)于CVE-2014-6322的疑問先放到一邊,我們來看樣本的CVE-2013-2551的利用代碼。

如前所述,我們最開始看到的的CVE-2013-2551的利用代碼如下所示:

20150326104028325

樣本CVE-2013-2551利用代碼片段

此時(shí)我們需要借助Revelo和IE的F12的幫助給變量和函數(shù)重命名,這是比較枯燥的工作,幸運(yùn)的是有人分享了Angler EK一個(gè)CVE-2013-2551的帶注釋的干凈代碼,其分享的代碼和這里樣本所使用的利用代碼相類似,這大大節(jié)省了這個(gè)重名名變量名和函數(shù)名的時(shí)間。

在重命名變量和函數(shù)名的這個(gè)過程當(dāng)中,發(fā)現(xiàn)了樣本利用代碼搜索ntdll模塊中的一些rop gadget地址的代碼:

20150326104053183

尋找ROP Gadget的代碼片段

此時(shí),我們通過windbg調(diào)試在stackpivot指令下斷點(diǎn)就可以獲取利用代碼所使用的ROP和后續(xù)的SHELLCODE。

如下所示即利用代碼獲得EIP控制后執(zhí)行stackpivot的相關(guān)信息:

20150326104108776

EIP控制時(shí)的相關(guān)信息

20150326104148177

第一階段ShellCode(sc_one)

Sc_one實(shí)現(xiàn)一段解碼操作,其進(jìn)行解碼的對(duì)象數(shù)據(jù)見下:

20150326104212397

執(zhí)行完sc_one后,我們得到解碼后的第二段shellcode,記為sc_two.:

20150326104229275

此時(shí),控制流程轉(zhuǎn)入執(zhí)行SC_TWO的流程。SC_TWO獲得kernel32地址并解析獲得如下API的地址:

20150326104259154

接著SC_TWO調(diào)用winhttp的一系列的API來下載一個(gè)加密的二進(jìn)制文件,如下所示:

20150326104317446

SC_TWO下載這個(gè)加密的二進(jìn)制文件的相關(guān)代碼如下:

20150326104334884

SC_TWO下載文件完成后,其將進(jìn)行解碼操作,相應(yīng)的代碼如下:

20150326104351171

所下載的二進(jìn)制文件解碼后如下所示,其包含了該漏洞即將執(zhí)行的第三段shellcode(從第3個(gè)字節(jié)開始記為SC_3rd)和一個(gè)DLL文件:

20150326104418498 20150326104437473

SC_TWO對(duì)所下載文件解碼結(jié)束后,判斷解碼數(shù)據(jù)的前兩個(gè)字節(jié)是否為0×9090,若是控制流程進(jìn)入SC_3rd. 這個(gè)判斷的代碼如下所示:

20150326104454225

我沒有詳細(xì)地分析和調(diào)試SC_3rd。依據(jù)其它安全人員已做的研究和分析,SC_3rd使用”Reflective-Dll”技術(shù)來在內(nèi)存加載一個(gè)Dll。Stephenfewer放出了一個(gè)演示Reflective-DLL Injection的源碼,因此這里不再過多分析,所加載的dll可以直接在前面所描述的惡意二進(jìn)制文件解碼后的數(shù)據(jù)中看到,通過動(dòng)態(tài)調(diào)試可以觀察到SC_3rd加載Dll后跳轉(zhuǎn)到該DLL的DllMain,如下所示:

20150326104511774

DLL的導(dǎo)出函數(shù)如下:

20150326104525763

POST EXPLOITATION

我們?cè)讷@取了這個(gè)DLL之后,讓我們來看看這個(gè)DLL在virustotal上的掃描結(jié)果:

20150326104605990

根據(jù)微軟的描述,Bedep病毒將在443端口連接到外部的C&C服務(wù)器并進(jìn)行下載其它病毒/PC信息收集/自我更新的操作。

四、小結(jié)

我們分析了Angler EK的一個(gè)樣本,分析了該樣本的重定向、漏洞利用、PAYLOAD的派發(fā)和利用成功之后的行為(POST EXPLOITATION)這幾個(gè)階段,在分析過程中我們可以發(fā)現(xiàn)Angler EK在這幾個(gè)階段都非常注重繞過常規(guī)安全產(chǎn)品的檢測(cè)。

在這里整理一下在分析過程中所了解到的Angler EK的一些特點(diǎn):

1.漏洞利用

利用代碼高度混淆,對(duì)抗IDS/IPS的檢測(cè)并讓安全研究人員需要花費(fèi)更多的時(shí)間和精力來進(jìn)行分析工作;

利用代碼包含對(duì)AV/VM等產(chǎn)品的檢測(cè)代碼;

2.PAYLOAD的派發(fā)

將shellcode進(jìn)行了編碼;

使用了多階段的shellcode;

通過網(wǎng)絡(luò)傳輸?shù)腜AYLOAD會(huì)進(jìn)行簡單加密/編碼;

使用fileless infection技術(shù),不利于安全研究人員的審計(jì)并且降低AV產(chǎn)品的檢測(cè)幾率。

五、參考文章

[1]http://community.websense.com/blogs/securitylabs/archive/2015/02/05/angler-exploit-kit-operating-at-the-cutting-edge.aspx

[2]http://contagiodump.blogspot.jp/2010/06/overview-of-exploit-packs-update.html

[3]https://www.fireeye.com/blog/threat-research/2015/02/angler_exploit_kitu.html

[4]http://malware.dontneedcoffee.com/2014/08/angler-ek-now-capable-of-fileless.html

[5]http://malware-traffic-analysis.net/2015/02/10/2015-02-09-Angler-EK-traffic.pcap

[6]https://addons.mozilla.org/zh-cn/firefox/addon/javascript-deobfuscator/

[7] http://www.kahusecurity.com/2012/revelo-javascript-deobfuscator/

[8] https://soroush.secproject.com/blog/2013/04/microsoft-xmldom-in-ie-can-divulge-information-of-local-drivenetwork-in-error-messages/

[9] https://www.fireeye.com/blog/threat-research/2014/02/operation-snowman-deputydog-actor-compromises-us-veterans-of-foreign-wars-website.html

[10] https://hiddencodes.wordpress.com/2014/10/21/software-enumeration-using-internet-explorer/

[11] http://pastebin.com/BFWxLu22

[12] https://hiddencodes.wordpress.com/2014/09/24/cve-2013-2551-exploit/

[13] https://hiddencodes.wordpress.com/2014/10/01/digging-deep-into-angler-fileless-exploit-delivery-2/

[14] https://github.com/stephenfewer/ReflectiveDLLInjection

[15] http://www.microsoft.com/security/portal/threat/encyclopedia/Entry.aspx?Name=Win32%2fBedep#tab=2

[16] http://www.websense.com/assets/white-papers/whitepaper-7-stages-of-advanced-threats-cyber-attack-kill-chain-en.pdf?cm_sp=TMCShowcase-_-PromoCol4-_-Websense+7stages

文章來源:FreeBuf黑客與極客(FreeBuf.COM)

上一篇:APP安全分析之丁盯智能門磁

下一篇:谷歌正為Gmail開發(fā)PGP端到端加密技術(shù)