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

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

一、初識Angler EK

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

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

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

20150326103428255

二、場景

最近與Exploit Kit有關的安全威脅通常包含了如下幾個階段:

1.誘餌(Lure)

通過郵件等途徑引誘目標對象點擊指向被控制網站的鏈接。

2.重定向(Redirection)

目標對象在不知情的情況下被重定向到另外一個包含了Exploiit Kit的網頁

3.漏洞利用(Exploit)

Exploit Kit獲得目標對象的系統信息并選擇合適的漏洞進行漏洞利用

4.派發PAYLOAD(Payload Drop)

漏洞利用成功后目標對象系統將被派發一個惡意病毒

5.Post Exploitation Activation

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

惡意病毒與外部的C&C服務器通信

2)竊取目標系統數據或控制(Compromise)

三、ANGLER EK樣本分析

誘餌

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

重定向

被控制網站的頁面代碼如下:

20150326103459594

網站被掛馬的相關代碼

漏洞利用

我們再來看Angler EK的登陸頁(landing page)的源代碼:

20150326103532308

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

20150326103547196

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

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

現在,讓我們看一下獲取登陸頁所執行的關鍵代碼的兩個方法。

方法1:對JS中的eval函數設置”鉤子”

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

20150326103621868

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

20150326103633754

反混淆效果

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

使用JavaScript Deobfuscator工具反混淆的結果如下:

20150326103702590

方法2反混淆結果

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

20150326103726671

可疑代碼1

20150326103747809

可疑代碼2

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

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

20150326103822257

Revelo反混淆結果

最終,我們可以確認可疑代碼1相關的代碼其實是CVE-2014-6322的漏洞利用代碼片段,可疑代碼2是CVE-2013-2551的漏洞利用代碼片段。

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

20150326103845185

20150326103859284

 

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

20150326103923307

20150326103942403

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

20150326104001798

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

沒有搜索到對這個技術的介紹,找到一個技術博文枚舉了Angler EK檢測系統信息的方法,一個與這里的檢測相類似的代碼可參見[11]。

PAYLOAD的派發

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

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

調試過CVE-2014-6332的同學都可能了解該漏洞是一個“半神”之洞(整數溢出導致問題緩沖區可以“有限制”的越界讀寫),該漏洞特性再加上yuange1975的漏洞利用技巧(對variant/SafeArray的靈活運用,將特殊對象的數據作為攻擊目標以期獲得代碼執行機會等等技巧),使得該漏洞最終踏上“成神”之路。

因為該漏洞的易用性,我以為該樣本應該是通過這個漏洞來執行PAYLOAD的了,但是實際調試發現樣本代碼基于yuange的代碼做了部分修改且最后利用并沒有成功(粗略調試,利用代碼中進行內存布局這一步驟的相關操作沒有成功,這個內存布局的目的是要將問題緩沖區和另外一個被作為攻擊目標的緩沖區相鄰,而這個作為攻擊目標的緩沖區保存的數據是一個tagSafeArray中的pvData所指向的數組數據)。

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

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

20150326104028325

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

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

在重命名變量和函數名的這個過程當中,發現了樣本利用代碼搜索ntdll模塊中的一些rop gadget地址的代碼:

20150326104053183

尋找ROP Gadget的代碼片段

此時,我們通過windbg調試在stackpivot指令下斷點就可以獲取利用代碼所使用的ROP和后續的SHELLCODE。

如下所示即利用代碼獲得EIP控制后執行stackpivot的相關信息:

20150326104108776

EIP控制時的相關信息

20150326104148177

第一階段ShellCode(sc_one)

Sc_one實現一段解碼操作,其進行解碼的對象數據見下:

20150326104212397

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

20150326104229275

此時,控制流程轉入執行SC_TWO的流程。SC_TWO獲得kernel32地址并解析獲得如下API的地址:

20150326104259154

接著SC_TWO調用winhttp的一系列的API來下載一個加密的二進制文件,如下所示:

20150326104317446

SC_TWO下載這個加密的二進制文件的相關代碼如下:

20150326104334884

SC_TWO下載文件完成后,其將進行解碼操作,相應的代碼如下:

20150326104351171

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

20150326104418498 20150326104437473

SC_TWO對所下載文件解碼結束后,判斷解碼數據的前兩個字節是否為0×9090,若是控制流程進入SC_3rd. 這個判斷的代碼如下所示:

20150326104454225

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

20150326104511774

DLL的導出函數如下:

20150326104525763

POST EXPLOITATION

我們在獲取了這個DLL之后,讓我們來看看這個DLL在virustotal上的掃描結果:

20150326104605990

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

四、小結

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

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

1.漏洞利用

利用代碼高度混淆,對抗IDS/IPS的檢測并讓安全研究人員需要花費更多的時間和精力來進行分析工作;

利用代碼包含對AV/VM等產品的檢測代碼;

2.PAYLOAD的派發

將shellcode進行了編碼;

使用了多階段的shellcode;

通過網絡傳輸的PAYLOAD會進行簡單加密/編碼;

使用fileless infection技術,不利于安全研究人員的審計并且降低AV產品的檢測幾率。

五、參考文章

[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開發PGP端到端加密技術