自從2017年12月開(kāi)始,出現(xiàn)了越來(lái)越多的合法網(wǎng)站上帶有惡意威脅程序。其傳播方式依賴社工用戶,為他們提供看起來(lái)很真實(shí)但實(shí)際上是虛假的更新通知。
一個(gè)利用雅虎等高流量網(wǎng)站上的惡意廣告來(lái)散步惡意軟件的組織也采用了類似的技術(shù)。這種模式也讓人聯(lián)想到了 EITest的 HoeflerText 活動(dòng)。其中被黑網(wǎng)站先是被炒作提高熱度,然后提供下載惡意字體文件的鏈接。最近,有一場(chǎng)惡意活動(dòng)影響了Magebto網(wǎng)站,也是推送了虛假的更新通知(Flash Player的更新),它實(shí)際上是AZORult stealer。(比特幣盜竊軟件)
今天,我們主要來(lái)看一看我們稱之為‘FakeUpdates campaign’(虛假更新惡意軟件活動(dòng))的具體細(xì)節(jié),以及它錯(cuò)綜復(fù)雜的過(guò)濾機(jī)制和逃避檢測(cè)的技巧。我們發(fā)現(xiàn)的最早的例子是由 BroadAnalysis在2017年12月20日?qǐng)?bào)告的。所謂的更新文件并不是一個(gè)可執(zhí)行文件,而是從Dropbox(一種合法的文件托管服務(wù))上下載的腳本,如下述動(dòng)畫(huà)所示:
圖1:一個(gè)被入侵網(wǎng)站上典型的重定向到‘虛假更新’界面的例子
此次惡意活動(dòng)以類似的方式影響了大量的內(nèi)容管理系統(tǒng)(CMS)。我們所檢查的幾個(gè)網(wǎng)站都沒(méi)有進(jìn)行及時(shí)的更新,因此容易受到惡意代碼注入的影響。攻擊者可能是使用相同的技術(shù)來(lái)批量查找可以入侵的網(wǎng)站并建立相應(yīng)的數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)這些受害網(wǎng)站地址。但我們并沒(méi)有足夠的信息來(lái)證明這一點(diǎn)。
被攻擊的使用WordPress和Joomla的網(wǎng)站,在其CMS的JavaScript文件中都存在著相同類型的注入。
圖2:被入侵的WordPress站點(diǎn)推出的虛假Google Chrome更新
圖3:被入侵的Joomla 站點(diǎn)推出的虛假M(fèi)ozilla Firefox更新
一些常用的庫(kù)文件包括jquery.js和caption.js都已經(jīng)被附加了一些代碼。通過(guò)和原文件比對(duì)就可以發(fā)現(xiàn)。
圖4:與原文件對(duì)比后發(fā)現(xiàn)的額外代碼
這些額外附加的代碼負(fù)責(zé)以下一連串的事件,將其欺詐網(wǎng)頁(yè)加載到您訪問(wèn)的網(wǎng)站上。下圖顯示了在CMS平臺(tái)中注入代碼的優(yōu)化版本,其目標(biāo)是訪問(wèn)重定向后的URL:
圖5:起重定向功能的注入代碼
我們編寫(xiě)了一個(gè)簡(jiǎn)單的抓取規(guī)則來(lái)抓取瀏覽一系列受害網(wǎng)站傳輸?shù)臄?shù)據(jù)包并對(duì)結(jié)果進(jìn)行解析。即使在列表中有一小段迭代重復(fù)的部分,但我們依然能識(shí)別出幾百個(gè)使用WordPress和Joomla受害的網(wǎng)站。盡管我們沒(méi)有受害網(wǎng)站確切的數(shù)量,但我們推測(cè)會(huì)有成千上萬(wàn)的網(wǎng)站受到影響。
圖6:部分遭入侵的網(wǎng)站列表
Squarespace是另一款十分受歡迎的CMS,但也同樣受到了這場(chǎng)惡意活動(dòng)的影響。這是由 @Ring0x0指出的。我們?cè)?月28日發(fā)現(xiàn)了一篇論壇帖子,一位squarespace的使用者尋求幫助,他說(shuō)“我會(huì)經(jīng)常被重定向到另一個(gè)頁(yè)面,顯示“您的Chrome版本需要更新””。
圖7:一個(gè)Squarespace用戶稱他們的站點(diǎn)已遭到篡改
所以,我登陸到管理面板,看到在Git歷史記錄中顯示了一個(gè)之前從未登陸過(guò)的用戶在上周進(jìn)行了一次上傳:site-bundle.js以及一些其他的大文件列表{sic}。
我們繼續(xù)深入分析這些案例,發(fā)現(xiàn)了在WordPress 和Joomla網(wǎng)站中使用了略有不同的重定向策略。而對(duì)于Squarespace,是將一段JavaScript代碼直接注入到網(wǎng)站的主頁(yè)當(dāng)中。
圖8:在Squarespace站點(diǎn)中惡意重定向發(fā)生時(shí)的流量
它從query[.]network中得到源文件然后從boobahbaby[.]com拉取 bundle.js:
圖9:被入侵的Squarespace站點(diǎn)中的注入代碼
bundle.js中包含了我們?cè)谥罢f(shuō)的重定向URL腳本中相同的內(nèi)容:
圖10:在WP和Joomla入侵過(guò)程中使用的相同的重定向代碼
根據(jù)PublicWWW query查詢結(jié)果顯示有超過(guò)900個(gè)SquareSpace網(wǎng)站已經(jīng)被注入了這個(gè)惡意重定向代碼。
圖11:使用字符串模式識(shí)別出的其他被入侵的Squarespace網(wǎng)站
所有的CMS都會(huì)觸發(fā)具有類似模式的重定向URL,最終都是加載那個(gè)欺詐性質(zhì)的更新主題網(wǎng)頁(yè)。根據(jù)我們的測(cè)試,這些URL具有適用于特定CMS的標(biāo)識(shí)符;例如,cid=221表示與WordPress站點(diǎn)相關(guān),而cid=208表示與Joomla站點(diǎn)相關(guān)。
- WordPress
track.positiverefreshment[.]org/s_code.js?cid=221&v=8fdbe4223f0230a93678
track.positiverefreshment.org/s_code.js?cid=225&v=0bbea7365fbb07c7acb3
track.amishbrand[.]com/s_code.js?cid=205&v=c40bfeff70a8e1abc00f
track.amishbrand.com/s_code.js?cid=228&v=e8bfa92965d1d880bac2
track.amishbrand[.]com/s_code.js?cid=234&v=59f4ba6c3cd7f37abedc
track.amishbrand[.]com/s_code.js?cid=237&v=7e3403034b8bf0ac23c6- Joomla
connect.clevelandskin[.]com/s_code.js?cid=208&v=e1acdea1ea51b0035267
track.positiverefreshment[.]org/s_code.js?cid=220&v=24eca7c911f5e102e2ba
track.amishbrand[.]com/s_code.js?cid=226&v=4d25aa10a99a45509fa2- SquareSpace
track.amishbrand[.]com/s_code.js?cid=232&v=47acc84c33bf85c5496d- Open Journal Systems
track.positiverefreshment[.]org/s_code.js?cid=223&v=7124cc38a60ff6cb920d- Unknown CMS
track.positiverefreshment[.]org/s_code.js?cid=211&v=7c6b1d9ec5023db2b7d9
track.positiverefreshment[.]org/s_code.js?cid=227&v=a414ad4ad38395fc3c3b
在這個(gè)基礎(chǔ)設(shè)施上還有其他比較有趣的組件,比如這個(gè)廣告輪播:
- track.positiverefreshment.net:81/adrotator/banner.js?cid=100
但是如果我們專注于重定向代碼本身,我們注意到潛在的受害者在被重定向的同時(shí)也會(huì)被進(jìn)行指紋識(shí)別(這里指收集用戶信息進(jìn)行驗(yàn)證,包括cookie等)。最終重定向到虛假更新主題頁(yè)面是有條件的,即每個(gè)人只能用一個(gè)IP。最后一個(gè)JavaScript負(fù)責(zé)為下一個(gè)序列創(chuàng)建iframe URL。
圖12:這里執(zhí)行指紋識(shí)別,Cookie驗(yàn)證和iframe重定向
攻擊者使用的有Chrome, Firefox和Internet Explorer瀏覽器的模板,后者會(huì)被替代成Flash Player更新界面。
圖13:攻擊者將目標(biāo)鎖定在具有專業(yè)外觀模板的瀏覽器上
這個(gè)虛假的更新界面托管在被入侵網(wǎng)站的主機(jī)中,其地址是短生命周期的URL子域名。其中的一些域名是激活的(合法網(wǎng)站的那些)還有一些是處于停放狀態(tài)中的。
合法域名:
停放域名:
感染是從虛假更新偽裝成JS文件從Dropbox文件托管服務(wù)上下載下來(lái)開(kāi)始的。指向Dropbox的鏈接(會(huì)定期更新)是在第一次web會(huì)話期間被混淆過(guò)的。
圖16:fileURL變量包含Dropbox URL
這個(gè)JavaScript文件被嚴(yán)重混淆過(guò),所以對(duì)其靜態(tài)分析十分困難。它也會(huì)隱藏一些重要指紋來(lái)逃逸虛擬機(jī)和沙箱。
圖17:從DropBox上下載下來(lái)的惡意JavaScript
根據(jù)這篇文章中對(duì)惡意JS文件細(xì)致的分析得出這是因?yàn)槭芎φ呤芎^(guò)程的第2步中使用WScript。通過(guò)網(wǎng)絡(luò)和WMI來(lái)收集受害者系統(tǒng)信息(BIOS,制造商,體系結(jié)構(gòu),MAC地址,進(jìn)程信息等),并最終決定是否使用payload繼續(xù)入侵或者是結(jié)束腳本運(yùn)行。
下方是展示一次失敗的感染,會(huì)向C2服務(wù)器返回2個(gè)回調(diào):
圖18:檢測(cè)到不是真正機(jī)器的主機(jī),于是中止感染
如果是一次成功的感染,會(huì)向C2服務(wù)器返回3個(gè)回調(diào)(包括payload):
圖19:驗(yàn)證通過(guò)后,受害者收到payload
經(jīng)過(guò)編碼的payload流經(jīng)過(guò)wscript.exe解碼,會(huì)在%temp%文件夾下釋放出惡意二進(jìn)制文件(Chrome_71.1.43.exe)。這個(gè)文件是經(jīng)過(guò)數(shù)字簽名的,并且含有各種逃逸技術(shù)(像立即重啟)來(lái)抵御沙箱。
圖20:數(shù)字簽名的文件不能保證安全
經(jīng)過(guò)檢查,我們確定這是Chtonic banking惡意軟件(一種ZeusVM的變種)。一旦系統(tǒng)重啟,Chtonic就會(huì)從 94.100.18[.]6/3.bin拉取一個(gè)重要的配置文件。
在第二次重播嘗試中,我們得到了NetSupport遠(yuǎn)程訪問(wèn)工具(一種商業(yè)的遠(yuǎn)程訪問(wèn)木馬)。它的安裝和配置已經(jīng)在這篇博客中得到了很好的介紹。我們?cè)俅巫⒁獾剑谡麄€(gè)交付程序的過(guò)程中大量使用出于惡意目的(文件傳輸,遠(yuǎn)程桌面等)的混淆。
圖21:RAT感染流量,顯示了其后端服務(wù)器
此次惡意活動(dòng)依賴于交付機(jī)制,利用社工方法騙取受害者下載,濫用合法的文件托管服務(wù)讓其變得更加可信。’誘餌’文件由一個(gè)腳本而不是一個(gè)惡意可執(zhí)行文件組成,這使得攻擊者能夠靈活地開(kāi)發(fā)使用各種混淆方法以及指紋技術(shù)。
遭到入侵的網(wǎng)站不僅被用來(lái)重定向用戶,還掛著虛假更新的界面,使其所有者不知情地參與到惡意軟件活動(dòng)中。所以保持CMS更新,并做好身份認(rèn)證是非常重要的。
重定向域名:
- 23.152.0[.]118
84.200.84[.]236
185.243.112[.]38
eventsbysteph[.]com
query[.]network
connect.clevelandskin[.]net
connect.clevelandskin[.]org
track.amishbrand[.]com
track.positiverefreshment[.]org
惡意二進(jìn)制文件:
Chtonic
- 6f3b0068793b277f1d948e11fe1a1d1c1aa78600712ec91cd0c0e83ed2f4cf1f
94.100.18[.]6/3.bin
NetSupport RAT
- 4d24b359176389301c14a92607b5c26b8490c41e7e3a2abbc87510d1376f4a87