您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Adobe Flash零日漏洞在野攻擊完全分析報告怎么理解,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
背景
2018年1月31日,韓國計算機應急響應小組發布了一則關于Adobe Flash Player的 0day 漏洞警告,并稱早在2017年11月中旬,就有黑客利用該漏洞實施有針對性的攻擊。
2018年2月1日, Adobe官方發布了Adobe Flash Player系列產品的安全通告(APSA18-01),一個最新的AdobeFlash零日漏洞被發現針對韓國地區的人員發起攻擊,該0day漏洞編號為CVE-2018-4878。
2018年2月5日,Adobe官方發布漏洞補丁,修復CVE-2018-4878零日漏洞
在CVE-2018-4878零日漏洞的補丁真空期,360安全衛士無需升級就能完美防御此次漏洞攻擊。在此期間,360核心安全高級威脅應對團隊迅速反應,率先截獲了該漏洞的在野攻擊并發布分析預警。在官方發布漏洞補丁,零日漏洞得到妥善解決后,本次我們發布在野攻擊的完全分析報告,幫助大家從不同角度推知此次高級威脅攻擊的全貌。
圖1
攻擊者對相關人員精心策劃了社會工程學攻擊,通過即時聊天工具和郵箱向相關人員發送包含漏洞及惡意代碼的excel誘餌文檔,誘騙受害者打開中招。
圖2 誘餌文檔內容
誘餌文檔中包含了一個ActiveX對象,該對象對應的是一個swf文件。
圖3 包含在文檔中的ActiveX對象文件
打開文檔后ActiveX對象會自動播放flash內容,允許播放后將從云端實施下一步攻擊。
圖4
誘餌文檔中的flash播放后,下一步將請求遠程URL www.dylboiler.co.kr/admincenter/files/boad/4/manager.php
url請求參數包含id(唯一標識符)、fp_vs(flash版本)、os_vs(系統信息)
圖5
誘餌文檔中的flash將解密遠程URL地址返回的加密文件流,動態執行包含cve-2018-4878漏洞的flash內容。
圖6
cve-2018-4878漏洞荷載所在網站是一個正規的韓國公司網站,疑似該網站已經被攻擊者入侵并完全控制,攻擊者可以在網站上添加任意的惡意代碼。
圖7
我們對cve-2018-4878漏洞文件流進行分析,發現樣本通過操作Flash的com.adobe.tvsdk包中的DRMManager對象進行攻擊。
該部分漏洞的關鍵代碼存在于method_3方法中,該方法new了一個class_8的對象,并傳給drmManager.initialize,然后將var_16置空。
圖8
在class_2的構造函數中 LocalConnection().connect會主動調用gc釋放沒有的引用的內存,而第二次的LocalConnection().connect調用會產生異常,異常處理過程中又會new一個class_8的對象賦值給var_13。
圖9
之后創建了一個定時器,定時器處理函數中,判斷var_13.a1成員的值是否被修改。
圖10
如果發現值被修改了,則調用flash_24/25方法。
圖11
在flash_25方法中又會new 一個class_7的 ByteArray對象賦值給var_17。
圖12
var_17是個ByteArray對象,通過修改ByteArray對象的Length可以完成任意內存讀寫,該處的漏洞利用技巧和hacking team的flash exploit技巧類似,相關代碼已經開源就不再詳述。
圖13
進一步我們對該漏洞進行調試分析,將var_13 = newclass_8();代碼注釋掉將會觸發空指針訪問崩潰。
eax=6906d8e9 ebx=00000000 ecx=00000000edx=00000000 esi=08055d28 edi=0685b020eip=6850e148 esp=024fd5c0 ebp=024fd5f0iopl=0 nv up ei pl nz ac po nccs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00210212Flash42_28_0_0_137!DllUnregisterServer+0x14ecda:6850e148 8b4904 mov ecx,dword ptr [ecx+4]ds:0023:00000004=????????
回溯發現地址數據來自esi+0c位置
6850e142 8b4e0c mov ecx,dword ptr [esi+0Ch]6850e145 8b4908 mov ecx,dword ptr [ecx+8]6850e148 8b4904 mov ecx,dword ptr [ecx+4] 0:005> dd 066e4100066e4100 066e4f60 00000000 00000000 00000000066e4110 00000000 00000000 00000000 00000000
由于這里我們已經把var_13創建代碼注釋了,說明還有其他對象被錯誤的釋放了,LocalConnection().connect會主動調用gc釋放沒有的引用的內存,所以這里我們再把這部分注釋,并在 6850e1428b4e0c mov ecx,dword ptr [esi+0Ch] 處設置斷點,觀察被釋放的數據內容。
圖14
斷點命中后,可以發現數據其實是class_8對象的內容,也就是var_16的內存。
eax=67c1d8e9 ebx=00000000 ecx=0607b2e0edx=00000000 esi=04785d28 edi=0626b020eip=670be148 esp=022fcfc0 ebp=022fcff0iopl=0 nv up ei pl nz ac po nccs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00200212Flash42_28_0_0_137!DllUnregisterServer+0x14ecda:670be148 8b4904 mov ecx,dword ptr [ecx+4]ds:0023:0607b2e4=060ba4c0 0:005> dd 0618e1000618e100 67c51a88 00000002 0607b2e0 07d980400618e110 00001111 00002222 00003333 000044440618e120 00005555 00006666 00007777 000088880618e130 00009999 0000aaaa 00001111 00002222
最終分析確認cve-2018-4878零日漏洞是drmManager.initialize沒有正確的處理所持有的對象導致UAF漏洞。
接下來,漏洞觸發執行的shellcode會通過進程名,判斷用戶是否安裝了AhnLab、ViRobot APT Shield和360三款中韓常用的安全軟件,以采取不同的方案進行攻擊。
圖15
l 三款安全軟件,任意一款存在的環境
直接調用wininet系列函數下載http://www.1588-2040.co.kr/conf/product_old.jpg所對應的惡意荷載執行。
l 未安裝三款安全軟件,或可能存在其他未知安全軟件的環境
創建cmd進程,針對cmd進程通過遠程線程注入代碼的方式下載http://www.1588-2040.co.kr/conf/product.jpg所對應的惡意荷載執行。
圖16
l 兩款韓國安全軟件共存的環境
Shellcode將會直接退出,不做任何操作。
Shellcode所下載的惡意荷載地址所在網站,同樣是一個正規的韓國公司網站,疑似該網站也已被攻擊者入侵并完全控制,用于放置最終的惡意荷載。
圖17
最終執行的惡意荷載會分為兩個階段的程序,第一個階段是Dropper荷載釋放程序,第二個階段是利用網絡云盤進行C&C控制的后門程序。
程序從資源中加載名為JOK的資源,資源的內容為實際執行的Shellcode,程序新啟動wscript.exe,通過遠程線程的方式將shellcode注入到wscript進程中執行,最終Shellcode會從內存中解密釋放PE文件,自行加載節區重定位在內存中執行最終的后門程序。
圖18
值得注意的是,此次程序的PDB路徑,與2017年11月思科報告的Group 123 組織的ROKRAT木馬(http://blog.talosintelligence.com/2018/01/korea-in-crosshairs.html?m=1)存在關聯。
l d:\HighSchool\version13\2ndBD\T+M\T+M\Result\DocPrint.pdbl D:\HighSchool\version13\First-Dragon(VS2015)\Sample\Release\DogCall.pdb
同時,程序的執行流程和技術細節也與思科報告中的dropper程序一致,疑似是同一系列的ROKRAT木馬程序。
圖19
該程序使用公共網盤作為C&C服務器,用來存儲截屏信息或者進行插件下載;相對于傳統的CC服務器,使用公共網盤提高了流量識別的難度,因為網盤類網址均為可信的白域名。
圖20
使用的云盤信息如下:
程序中出現的URL | 對應網盤 |
---|---|
api.box.com | Box |
content.dropboxapi.com | DropBox |
api.pcloud.com | pCloud |
cloud-api.yandex.net | Yandex |
程序主要流程分析
程序首先生成了一個8字節的隨機字符串,用來作為本次通訊的標識,該字符串在隨后的上傳和CC命令執行都有涉及
圖21
隨后對操作系統版本和當前執行和環境進行檢查
圖22
收集計算機、用戶名、BIOS信息
圖23
嘗試加載下列DLL,嘗試獲取VMwareTools版本號和BIOS版本信息,進而判斷是不是處于沙箱環境或者調試中
圖24
l 沙箱環境列表
Dll名稱 | 對應沙箱或調試環境 |
---|---|
SbieDll.dll | Sandboxie |
dbghelp.dll | Microsoft debugging tools |
api_log.dll | GFI SandBox |
dir_watch.dll | GFI SandBox |
在判斷沙箱環境之后,程序開始創建工作線程,執行相應的功能。
圖25
該后門程序使用公共云盤進行數據中轉,程序中內置了4種云盤,分別是box,dropbox,pcloud, yandex,此次截獲的樣本使用的為pcloud網盤。
圖26
程序通過GDI API來實現截取受害機器屏幕的功能,并將圖片保存在temp目錄下,命名方式為隨機產生的表示序號+當前截圖的序號
圖27
圖28
隨后,程序會讀取圖片數據,并刪除temp目錄下的圖片,將之前收集到的環境信息和圖片數據一起上傳到云盤中。
圖29
l 上傳的數據格式
偏移地址 | 長度 | 信息 |
---|---|---|
0 | 8 | 隨機生成的標識數據 |
10 | 2 | 系統版本信息 |
12 | 64 | 受害機器名 |
76 | 64 | 用戶名 |
140 | 256 | 當前進程路徑 |
396 | 128 | BIOS信息 |
524 | 1 | 沙箱環境信息 |
525 | 1 | 判斷是否Windows目錄可寫 |
526 | 40 | Vmtools版本信息 |
566 | 39 | 主板,BIOS型號 |
605 | 7 | 字符disable |
1119 | 4 | 截屏圖片的大小 |
1123 | 不固定 | 圖片數據 |
程序會循環向網盤請求名為 def_ + 隨機標示的文件,通過對該文件進行解析,獲取云端的C&C指令進行攻擊。
圖30
l 云控C&C命令列表
指令序號 | 功能 |
---|---|
1 | 從指定的網址中獲取數據到內存中,作為Shellcode內存執行 |
2 | 從指定的網址中獲取數據到內存中,作為Shellcode內存執行 |
3 | 獲取新的網盤Token,下載文件ADI.bin,作為Shellcode內存執行 |
4 | 獲取新的網盤Token,下載文件DDI.bin,作為Shellcode內存執行 |
5 | 從指定的網址中獲取數據到內存中,保存文件%temp%/setup.exe執行 |
6 | 從指定的網址中獲取數據到內存中,保存文件%temp%/setup.exe執行 |
7 | 獲取新的網盤Token,下載文件ADX.enc,保存文件%temp%/setup.exe執行 |
8 | 獲取新的網盤Token,下載文件DDX.enc,保存文件%temp%/setup.exe執行 |
9 | 獲取新的網盤Token,下載文件ERSP.enc,保存文件%temp%/setup.exe執行 |
在完成命令解析后,程序還會調用網盤的刪除API將對應的指令文件刪除
圖31
我們推測在實際的攻擊過程中,攻擊者會收集截圖等信息后,選取其中有價值的目標,再上傳定制的指令文件到網盤中進行攻擊。
通過對程序的逆向分析,我們發現了網盤的Token權限并沒有被嚴格限制,通過該Token可以獲得網盤的注冊信息和保存在網盤中的內容,從中我們定位到了攻擊者的網盤注冊郵箱為cheseolum@naver.com,注冊時間為2017年12月11日,與韓國響應中心公告的11月開始攻擊的時間相近。
圖32
在1月31日攻擊正式對外曝光后,仍然有大量新的中招者向該云盤上傳信息,在獲取到的截屏信息中,我們發現了大量的病毒檢測沙箱和樣本分析人員。從截屏信息中判斷,大部分分析人員在根據https://github.com/brianwrf/CVE-2017-4878-Samples 中的樣本在進行病毒分析。
圖33
在截圖排查中,我們還意外發現了疑似國內安全從業者的電腦桌面截屏,可能是其在下載分析樣本時不慎中招。
圖34
通過分析我們可以發現此次攻擊是通過精心策劃的,攻擊周期長達三個月以上,攻擊者通過入侵兩個正規公司網站放置惡意荷載,使用正常的云盤服務作為C&C基礎設施,不計成本利用零日漏洞,開發精巧的攻擊方案。在攻擊過程中所使用的大量資源,都表明這不是個人和一般團隊能夠實施的,這是一起典型的APT攻擊。隨著漏洞信息逐漸公開,相關單位和普通用戶都需提高安全防范意識,及時更新Flash版本,并開啟安全軟件防御可能出現的漏洞威脅。
以上就是Adobe Flash零日漏洞在野攻擊完全分析報告怎么理解,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。