FavoriteLoading
0

掛馬新招:全程純Flash文件掛馬傳播勒索軟件技術揭秘

1. 概述
360互聯網安全中心近期監測到“我愛卡”網站(51credit.com)出現掛馬情況,進一步分析發現,訪問該網站會加載跳轉到漏洞攻擊包(Exploit Kit)頁面的惡意Flash廣告,沒有專業安全防護的訪問者電腦會感染號稱勒索軟件“集大成者”的Sage2.0,造成文件被加密勒索的慘重損失。相比以往的漏洞攻擊包,此次整個攻擊鏈完全使用Flash文件實現,不再需要HTML與Javascript腳本交互功能,呈現出新的攻擊形式和較高的技術水平。
2. 技術分析
2.1 廣告掛馬點

圖1 整體掛馬流程
我愛卡網站采用了較為常見的OpenX開源廣告系統,該廣告系統具備較完整的商業生態,被很多大型網站采用。但是因為審核不嚴格,已有多次漏洞攻擊包通過該廣告系統進行傳播[1]。

圖2 返回掛馬廣告內容
瀏覽我愛卡網站任意頁面時,會插入了一個廣告Flash文件hxxp://conxxxxxxxxx.info/admedia/player.swf。而在另外一個被掛馬網站中,這個Flash則被直接托管在掛馬網站上。顯然,攻擊者將這個Flash文件偽裝成廣告提供給廣告運營商,廣告運營商審核不嚴直接在投放網站上上線。打開該Flash文件,其實是沒有任何可以顯示的內容,實際功能則是利用AS3代碼實現了獲取Flash版本號并進行相關判斷、加載Flash文件功能,使得只有是IE瀏覽器并且安裝了Flash11~21版本才會進一步加載第二個Flash文件。通過該文件攔住了所有無法觸發漏洞的用戶訪問,減少了實際攻擊頁面的暴露,同時這個文件非常簡潔并且沒有明顯特征,易于躲過查殺。

圖3 Flash加載代碼
2.2 第二個Flash加載器
接下來加載的第二個Flash文件仍然是一個加載器,功能與第一個Flash文件相同,實現了版本判斷、加載下一個Flash的功能。但是與第一個Flash不同,這個文件是動態生成的,根據該文件的網絡請求響應頭,可以猜測該文件是利用php動態生成,對比變化的樣本,發現每隔一段時間要加載下一個Flash的地址都會發生變化。這個Flash網址使用了Exploit Kit所常見的域名生成算法,并不停的變換三級域名地址,這樣確保對實際攻擊文件的網址難以再次訪問。另外,由于該文件是動態生成的,所以Content-Type被有意或者無意設置成默認的text/html,這可以讓部分依賴Content-Type進行文件類型判斷的網絡檢測設備忽略,從而降低被發現的概率。

圖4 動態返回Flash內容

圖5 生成的不同域名
2.3 Flash漏洞攻擊文件
直到這時,訪問的第三個網址才真正引入了攻擊Flash文件。但是攻擊者的防范措施仍然不止于此,在訪問最終的Flash漏洞文件網址時,有時會出現無緣無故無法訪問的情況,猜測攻擊者使用了IP屏蔽或者隨機阻攔請求的策略,增加了分析重現的難度。并且根據用戶Flash版本信息,服務器會返回不同的漏洞利用腳本,這種手段與我們之前分析過的一起廣告掛馬事件中的方法一致,并且也利用了相同的漏洞攻擊代碼[2],唯一不同的是這次并沒有進行代碼的混淆,能夠較為容易的分析攻擊代碼。
具體分析該文件代碼,發現漏洞攻擊代碼被使用RC4加密后切分保存在了Flash的BinaryData字段中,根據不同的發起請求的Flash版本號,解密后獲得的漏洞攻擊腳本分別是CVE-2015-8651 [3]、CVE-2016-1019 [4]、CVE-2016-4117 [5]的攻擊代碼,這幾個漏洞也是目前各個攻擊包常用的方式,具備較高的攻擊成功率。

圖6攻擊代碼類型
2.4 釋放載荷
在利用漏洞之后,會直接執行一段Shellcode代碼,不過與常見的基于VBS或者Powershell下載方式不同,該Shellcode會再次向當前網址發送請求,下載一個二進制數據到Internet臨時目錄,解密轉換后得到要運行的payload,因此進程鏈上會看到一個index[1].htm的進程被啟動。注意到此時請求的網址與Flash攻擊代碼的網址一致,但是返回內容卻不一樣,可猜測在服務端會自動根據請求來源返回不同的內容,僅當包含Flash請求信息的時候才返回Flash攻擊代碼,而默認則直接返回加密后的二進制數據。

圖7 攻擊進程鏈
最終運行的Payload是Sage2.0勒索軟件,該勒索軟件選擇的密鑰交換算法與加密算法都比較巧妙,并且基于IP地址生成算法來生成數據回傳ip,是目前勒索軟件的集大成者[6]。一旦感染,用戶的所有文件都會被加密,桌面被替換為提醒壁紙,同時也會執行一個vbs腳本間隔一段時間發出文件被加密的提醒聲音。

圖8 用戶感染后的桌面

圖9 播放語音的腳本
3. 數據重放
在研究掛馬事件中,我們經常會將抓到的數據包使用Fiddler工具進行數據重放,便于反復研究,但是該Exploit Kit卻在同一網址分別返回Flash和二進制內容,使得Fiddler無法區分這兩種請求并返回對應的數據包。因此,在無法依賴Fiddler的情況下,我們簡單編寫了一個基于Tornado的Web服務器,提取出抓包得到的返回內容,根據每次請求的不同網址和請求頭來返回對應的數據。使用時,在某個端口開啟服務,并將IE的代理設置到該端口,訪問對應的網址就可以進行數據重放。

圖10 重放功能代碼
4. 總結
本次掛馬使用廣告系統發布掛馬Flash文件,使用域名生成算法隱藏攻擊代碼域名,使用勒索軟件來獲取經濟收益,是目前較為常見的Exploit Kit框架和最流行的Flash漏洞攻擊技術。整體而言攻擊者技術水平較高,雖然沒有利用常見的IE漏洞,但是所使用的Flash漏洞均是目前最新最流行的,并且一個比較特別的地方是Shellcode沒有采用常見的調用VBScript或者Poweshell下載執行文件,而直接下載文件并解密執行文件,這樣直接下載也無法得到PE文件,顯示出比較高的技術水平。
此次掛馬攻擊的弱點是Flash代碼沒有使用代碼混淆,保護程度較低,容易被反編譯,并且相關攻擊網址,沒有使用更為常見的參數驗證形式,而是直接簡單的采用了簡單的動態接口,尚未達到流行的幾個經典Exploit Kit的地步。這次掛馬事件最重要的創新點是整個攻擊流程中完全采用Flash文件作為載體,沒有任何交互頁面,不易察覺,可以躲過目前常見的針對HTML與Javascript腳本的檢測與保護。
我愛卡網站每天用戶訪問量較大,一旦用戶感染勒索軟件被加密難以挽回損失。針對目前流行的漏洞攻擊包和勒索軟件,建議用戶及時打上系統補丁,并且及時更新Flash到最新版本,也可以安裝一些廣告屏蔽軟件來避免訪問類似這樣傳播的惡意攻擊頁面。目前360安全衛士采用了全面多層次的防護體系,使用動態行為檢測、結合QEX非PE引擎靜態掃描功能,能夠做到對此類攻擊行為的有效攔截,防止用戶感染病毒,并且用戶在開通反勒索軟件服務的情況下仍然中毒造成損失,360會負責賠付最高3比特幣的贖金,并協助還原加密軟件。
本文由360QEX團隊撰寫,360QEX團隊專門負責非PE類病毒的分析和查殺,文中所述惡意非PE樣本QEX引擎均可以查殺。
IOC信息
URL/IP:

Flash:
418b81d6371bf5e41deaf244c2813479
9558a62c2198709cd8f4cbace3b3d33f
d5b20d0755e3bdfdbdfd13ddfd477f7f
c1d426fbdd0ccb06b8882089dcbfd755
33a0e632b37dea78a808d5c197a01404
d415c88480d64f7beefb8e2ceab0923a
b0849abe0d436dba8862f0dcbda93aae
c8fced7d0489e930f48cef70f6695e01
01e1cdd0f97215c5421d0358179f8af3
PE
005b3f47b1a6b06053d2cce7473b6256
37f6a4715c24ab1c8e5efd95440d3440
 

【聲明】:8090安全小組門戶(http://www.jvwkvg.tw)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。