國外黑客利用漏洞在伺服器上傳遞Cerberus勒索軟體
文章推薦指數: 80 %
前一陣,我們對Apache Strust 2的CVE-2017-5638漏洞進行了預警,最近F5實驗室的研究人員發現Apache Struts 2
漏洞被網絡罪犯用於傳遞Cerber勒索軟體。
實際上在Strut2漏洞公開之時,懷有歹心的人就利用了S2-045(CVE-2017-5638)遠程代碼執行漏洞來傳遞勒索軟體——在伺服器上部署勒索軟體從去年下半年開始就已經成為如今的一個趨勢了。
概述
一般殭屍網絡的作者常用的攻擊方式,首先是掃描網際網路上的web漏洞,以便惡意程序或者後門能夠利用此類漏洞。
伺服器一般都有著較強的性能和高帶寬,而且很多是不帶反病毒解決方案的。
所以一旦某個0day漏洞曝光,網上就會有一堆攻擊者開始搞掃描工作,其中一大部分都是惡意攻擊者。
前一陣我們還預警了Apache Struts 2的漏洞CVE-2017-5638,這個漏洞影響的是Jakarta Multipart Parser。
F5實驗室的研究人員隨即發現網上已經有人開始利用這個漏洞搞破壞了,攻擊不下10例。
而其中某一個案例格外引人注目。
惡意軟體簡單分析
該攻擊活動是在S2-045漏洞被披露幾天之後發現的,即2017年3月6日開始的。
3月10日,F5的研究人員就開始觀察該攻擊活動。
其攻擊傳染媒介似乎對原有的公開PoC做了輕微的修改。
圖1.S2-045的正常網絡活動
如今所有人都直到,S2-045漏洞的觸發是通過Content-Typer header值進行的——在這一例中,伺服器如果的確存在該漏洞,攻擊者就採用執行shell命令的方式來進行攻擊。
在這波攻擊的第一階段中,研究人員發現攻擊者將shell命令用於感染PowerBot惡意程序——這款惡意程序採用PERL編寫,其主要功能就是DDoS攻擊(PerBot或ShellBot)。
這些攻擊者在掃描網際網路是否存在Struts2漏洞後,隨後的命令執行一般步驟是這樣的:從遠程伺服器下載惡意程序,設置其為可執行(二進位文件),運行惡意程序,移除最初的感染文件。
一般來說,攻擊payload採用目標設備已經安裝的程序來下載惡意程序,比如wget和curl。
在本次攻擊行動中,攻擊者也用上了wget,另外還用上了不怎麼常用的fetch程序。
而在wget的用法上,攻擊者採用「wget -qO-」選項,這樣一來會下載惡意程序,但並不會寫入為磁碟上的文件。
惡意內容會重定向到Perl解釋器執行,減少了被檢測到的可能性。
Bot部署到位後,被感染的伺服器就會連接至IRC通道獲取指令——如圖2、圖3所示。
F5通過對IRC的追蹤發現,到目前為止被感染的伺服器已經超過2500個。
圖2:IRC通道包含超過2500個bot
隨便挑選其中一些感染主機名和IP位址,就能發現其中有產品伺服器來自AWS。
圖3:連接至IRC通道感染主機示例
從DDOS到加密虛擬幣的挖掘
在接下來幾天的觀察中,F5的研究人員又發現了本次攻擊活動的其它形式。
只不過payload從Perl變成了Bash腳本,不過這裡的payload只是用於部署2種不同惡意程序的開端罷了——這部分exploit仍然會下載並執行前文提到的Perl bot。
圖4.下載並運行PERL bot
不過這一次下載的是個虛擬幣挖礦程序」minerd」(和其他一些必須的文件)。
攻擊者對惡意進程及其設置進行了偽裝,令其看起來和Apache伺服器進程差不多,這樣用戶會比較難分辨。
圖5.下載「minerd」及其配置文件
bot隨後就開始挖礦了,挖掘所得的虛擬幣會進入到多個加密幣池中,如圖6的配置文件所示。
圖6.「minerd」配置文件
這些礦池似乎託管於法國的「crypto-pool.fr」域名下:
圖7.礦機託管於法國在線的SAS網絡
該惡意軟體有趣的地方在於其自身的傳播方式。
它會在目標伺服器上搜索伺服器管理員連接的所有遠程IP位址。
它會搜索SSH「known_hosts」文件,該文件保留管理員連接的所有伺服器的IP位址和特徵。
同時它還會掃描Bash歷史文件以獲取SSH命令中使用的所有IP位址。
一旦IP位址列表編譯完成,腳本將嘗試通過SSH與它們連接。
如果配置的認證設置是使用密鑰文件而不是用戶名和密碼,則惡意軟體就會在遠程計算機上成功完成自我部署。
圖8.惡意軟體傳播到其他已知伺服器
ShellShock連接
F5研究人員觀察到,本次攻擊行動的其中一個IP位址來自香港,如圖9所示。
先前這個IP位址就曾經用ShellShock(CVE-2014-6271)發動類似的攻擊。
圖9.攻擊託管於香港港口的T&T網絡
F5研究人員注意到,這次的惡意程序文件名和先前的攻擊都是一樣的,如圖10和圖11所示的」.mailer」和」a」。
不過這次攻擊所用的加密幣挖礦池和帳戶變了,如圖12所示。
圖10.ShellShock 傳遞「.mail」的PERL bot
圖11.ShellShock傳遞「a」的頭部bash腳本
圖12.礦機配置
擴展到伺服器勒索軟體
一般來說利用web漏洞傳播Linux DDoS惡意程序是很常見的事,值得一提的是,針對伺服器的勒索軟體從去年開始似乎成為了一種新趨勢。
這次的幕後攻擊者實際上有好幾個不同的攻擊行為。
這次,感染Windows設備的payload用上了著名的Cerber勒索程序。
這位攻擊者慣用Jakarta Multipart parser exploit的方式。
不過這次是以Shell命令執行Windows BITSAdmin和ftp命令行工具,下載運行文件」1.exe」,如圖13所示。
圖13.APACHE STRUTS漏洞傳遞Windows勒索軟體
運行勒索程序之後,程序當然就會對文件進行加密,還會顯示圖14中的勒索信息。
圖14.勒索信息
同市面上多數勒索軟體一樣,受害者會收到解鎖文件的教程,如圖所示。
圖15.勒索支付指示
F5的研究人員分析了該惡意程序變體,發現增加了一個功能,即修改Windows防火牆規則,阻止反病毒軟體與外界的通訊——也就是不讓反病毒軟體更新和提交報告。
如圖16所示:
圖16.勒索軟體阻礙Windows防火牆
為了找到目標設備上已安裝的安全軟體,惡意程序首先會運行WMI查詢」AntiSpywareProduct」和」FirewallProduct」類。
圖17.WMI查詢獲取安裝安全產品列表
隨後惡意程序就會將所有查詢結果涉及的文件和文件夾加到防火牆規則中。
圖18.添加防火牆規則
攻擊者這麼拿錢
這一波幾個不同的攻擊行動,其幕後攻擊者都用同一個比特幣ID。
圖19.軟體配置中的比特幣帳戶
這個帳戶中有84比特幣,大約相當於8.6萬美元。
而在Struts漏洞公開以後,該比特幣帳戶又有2.2比特幣的進出,大約是2300美元。
圖20.惡意軟體帳戶上的比特幣交易
最後
現在的黑客牛叉的地方就在於,一旦有0day漏洞曝出,其現有攻擊方式就能夠以極快的速度得到進化。
所以即便防禦方不停地在修復漏洞,其攻擊還是可以持續進行。
在感染了數千個新伺服器的同時,Apache STRUTS中的新漏洞為黑客提供了更廣闊的目標來擴展業務。
用勒索軟體感染伺服器,比感染個人設備可能會得到更多的匯報,因為這些伺服器通常由擁有多金的組織和相對更好的基礎架構,這對於他們的業務可能至關重要,支付贖金的機率相對更高一些。