投稿郵箱

[email protected]

您的位置:主頁 > 產業觀察 >
Docker Hub鏡像中首次發現名為Graboid的加密挖礦蠕蟲病毒
來源:Palo Alto Networks (派拓網絡)   作者:Palo Alto Networks(   添加時間:2019-10-17 21:40
Palo Alto Networks最新博客文章:Docker Hub鏡像中首次發現名為Graboid的加密挖礦蠕蟲病毒。
Palo Alto Networks (派拓網絡)威脅情報團隊Unit 42近日宣布發現一種新型加密挖礦蠕蟲病毒,已有2000多臺Docker主機因保護不力而受到感染。Unit 42將該病毒命名為Graboid,是向90年代電影《異形魔怪》致敬,其行為與電影中的沙蟲相類似,移動速度較快但總體來講相對笨拙。
 
盡管也發生過以蠕蟲病毒形式傳播的加密挖礦惡意事件,但這是我們首次在Docker Engine(社區版)中發現借助容器傳播的加密挖礦蠕蟲病毒。由于多數傳統端點防護軟件都不檢測容器內的數據和活動,因此很難發現這一類型的惡意活動。攻擊者首先通過不安全的Docker Daemon站穩腳跟,然后在受感染的主機上安裝一個Docker鏡像并運行。惡意軟件從C2服務器上下載并部署完畢后,便開始挖礦尋找門羅幣。此外,惡意軟件會定期從C2服務器搜索新的帶有漏洞的主機,然后隨機選擇下一個目標進行傳播。我們的分析表明,挖礦病毒平均有63%的時間處于活躍狀態,每個挖礦周期持續250秒。在Unit 42向Docker團隊通報該情況后,Docker團隊便迅速與Unit 42團隊聯手刪除這些惡意鏡像。
 
容器化加密挖礦蠕蟲病毒
圖1. 加密挖礦蠕蟲病毒活動概覽
 
Shodan的快速調查顯示,有2,000多個Docker Engine以不安全的方式暴露于互聯網。無需任何身份驗證或授權,攻擊者就可以完全控制Docker Engine(社區版)和主機。恰恰是抓住了這一入口,攻擊者才會部署并傳播這一蠕蟲病毒。圖1標明了該惡意軟件的分發和傳播方式。攻擊者入侵了一個未受保護的Docker daemon,運行從Docker Hub中提取的惡意Docker容器,從C2服務器下載一些腳本和易受攻擊的主機列表,并反復選取下個目標傳播蠕蟲。我們稱為“Graboid”的惡意軟件在容器內進行蠕蟲傳播和加密挖礦。它在每次迭代中隨機選擇三個目標,在第一個目標上安裝蠕蟲,在第二個目標上停止挖礦,在第三個目標上啟動挖礦。這種行為導致挖礦行為極度隨機。如果我的主機被入侵,惡意容器不會立即啟動。相反,我必須等到另一臺受感染的主機選擇我的主機并啟動我的挖礦過程。其他受感染的主機也可以隨機停止我的挖礦過程。從本質上講,每臺受感染主機上的挖礦程序都由所有其他受感染主機隨機控制。這種隨機設計的動機尚不清楚,有可能是因為設計不當,規避技術(效果不佳),自我維持的系統或其他目的。
 
以下為具體操作步驟
 
1.      攻擊者選取某個不安全的docker主機作為攻擊目標,然后遠程發布指令下載并部署惡意Docker鏡像pocosow/centos:7.6.1810. 該鏡像含有一個用來與其他Docker主機通信的 docker client工具
 
2.      pocosow/centos 容器中的入口腳本/var/sbin/bash會從C2服務器下載4個shell腳本并逐個運行,這4個腳本分別是live.sh, worm.sh, cleanxmr.sh, xmr.sh
 
3.      腳本live.sh將被攻擊主機上的可用CPU數量發送至C2服務器
 
4.      腳本worm.sh下載一個名為“IP”的文檔,其中包含2000多個IP地址。這些IP地址便是那些有著不安全的docker API端點的主機。Worm.sh隨機選取一個IP地址作為攻擊對象,使用docker client工具遠程獲取并部署pocosow/centos container容器
 
5.      腳本cleanxmr.sh隨機選取IP文件中某個帶有漏洞的主機,終止其上的加密挖礦容器。cleanxmr.sh終止的不僅是蠕蟲部署的加密挖礦容器(gakeaws/nginx),也包含少數處于運行狀態的xmrig容器
 
6.      腳本xmr.sh隨機選取IP文件中某個帶有漏洞的主機,然后將鏡像gakeaws/nginx部署于目標主機之上。gakeaws/nginx含有偽裝成為nginx的二進制xmrig
 
步驟1-6每隔一段時間便會在每個受感染的主機上反復執行,刷新間隔時間設定為100秒。pocosow/centos 容器部署后,刷新間隔時間、shell腳本以及IP文檔就會從C2服務器上下載。
 
在寫入期間,如圖2所示,Docker鏡像pocosow/centos下載次數超過10000次,而gakeaws/nginx也超過6500次。此外,我們還注意到,同一個用戶(gakeaws)發布了另外一個加密挖礦鏡像gakeaws/mysql,其和gakeaws/nginx內容相同。只有在shell腳本下載并在容器內運行后,pocosow/centos鏡像的不良企圖才會被察覺。但通過其鏡像創建歷史,我們也可以輕松發現gakeaws/nginx 鏡像的惡意企圖。如圖3所示,其只在創建時間欄(第7行)里將二進制xmrig重新命名為nginx。即便如此在創建時間里(第7行)付款地址也以硬編碼的形式來應對不斷變化的環境。
 
圖4顯示了IP地址文件中列出的2,034個易受攻擊的主機位置——57.4%的IP地址來自中國,其次有13%來自美國。我們還注意到,在惡意軟件使用的15臺C2服務器中,有14臺主機列在IP地址文件中,剩下的那1臺主機有50多個已知漏洞。這表明攻擊者可能破壞了這些主機并將其用作C2服務器。通過對Docker daemon的控制,可以輕松部署Web服務器容器(例如httpd、nginx)并將有效負載放置其上。
圖2. Docker Hub上惡意Docker鏡像
圖3. gakeaws/nginx的鏡像歷史
 
圖4. IP文檔中漏洞主機的所在國家
 
蠕蟲仿真
 
為了充分了解該蠕蟲病毒的有效性及其整體挖礦能力,我們創建了一個簡單的Python程序來模擬該蠕蟲。假設在IP文檔里有2000個主機,其中30%的主機在運行當中失效,設定刷新間隔時間為100秒,每臺受感染主機配置一個CPU,該模擬實驗時長為30天,我們希望能夠找到:
 
1.      對于蠕蟲來講,要感染全部Docker主機需要多長時間?
2.      攻擊者的挖礦能力如何?
3.      每個挖礦程序在被感染的主機上的活躍時間多長?
 
圖5左半部分顯示了蠕蟲的傳播速度。覆蓋全部1400臺帶有漏洞的主機大約用時60分鐘(占2000多臺主機的70%)。圖5右半部分顯示受感染主機的整體挖礦能力。任何時候,都會有900個活躍挖礦程序在運行。換句話說,攻擊者擁有1400個節點挖礦集群,至少有900個CPU的挖礦能力。由于挖礦程序可以在受感染的主機上隨機啟動和關閉,挖礦程序的活躍時間只占其全部時間的65%,平均每個挖礦周期僅僅持續250秒。
 
 
圖5. 蠕蟲仿真
 
結論

 
盡管這種加密挖礦蠕蟲病毒并不涉及復雜的戰術、技術或過程,但它可以定期從C2服務器提取新腳本,因此可以輕松將其自身改造成為勒索軟件或任何惡意軟件,以徹底破壞主機,需引起重視。如果更強大的蠕蟲出現并采用類似的傳播方式,將會造成更大的破壞,因此組織必須保護其Docker主機。
以下是確保企業免受攻擊的最佳實踐清單:
 
·           如果沒有合適的認證機制,切勿在互聯網公開Docker daemon。請注意,缺省情況下,Docker  Engine(社區版)不會暴露于互聯網
·           使用Unix socket實現與Docker daemon的本地通信,或使用SSH連接到遠程Docker daemon。
·           使用防火墻規則將流入較小資源的流量列入白名單
·           切勿從未知注冊表或未知用戶名稱空間提取Docker鏡像
·           經常檢查系統中是否有未知的容器或鏡像
·           Prisma Cloud或Twistlock等云安全解決方案可以識別惡意容器并阻止加密采礦等活動
 
Palo Alto Networks(派拓網絡)在本報告中與其他網絡威脅聯盟成員分享了其發現,包括文件樣本和攻擊指標。CTA成員使用此情報可快速為其客戶部署保護措施,并系統地瓦解惡意網絡參與者的入侵。有關網絡威脅聯盟的更多信息,請訪問www.cyberthreatalliance.org。
(作者/Palo Alto Networks(派拓網絡)威脅情報團隊Unit 42)

×

黑龙江体彩6开奖结果