作者:安全攻防組@騰訊安全云鼎實驗室
公眾號:https://mp.weixin.qq.com/s/3V0HVEREZWU8SkRWLspaxg
一、背景
近日,騰訊云安全團隊監測到部分云上及外部用戶機器存在安全漏洞被入侵,同時植入 watchdogs 挖礦病毒,出現 crontab 任務異常、系統文件被刪除、CPU 異常等情況,并且會自動感染更多機器。攻擊者主要利用 Redis 未授權訪問入侵服務器并通過內網掃描和 known_hosts 歷史登錄嘗試感染更多機器。(對此,騰訊云安全團隊第一時間發布了病毒預警——預警 | 中招 watchdogs 感染性挖礦病毒,如何及時止損?)
相較于過去發現的挖礦病毒,這次的挖礦病毒隱藏性更高,也更難被清理。服務器被該病毒入侵后將嚴重影響業務正常運行甚至導致奔潰,給企業帶來不必要的損失。
二、腳本分析
首先,可以直接從crontab任務中看到異常的任務項:

該crontab任務實現從 hxxps://pastebin.com/raw/sByq0rym 下載shell腳本并執行,shell腳本內容為:

該腳本實現從 hxxps://pastebin.com/raw/tqJjUD9d 下載文件,文件內容為經過base64編碼處理;
base64解碼后為shell腳本,shell腳本主要功能如下:
-
修改環境變量,將常見的可執行文件目錄添加到系統路徑中,確保腳本中的shell命令正常執行;同時再次覆寫crontab任務。

-
清理其他惡意程序,如"kworkerds","ddgs"等挖礦程序;同時通過chattr -i等命令解鎖和清理相關系統文件

-
根據系統信息下載對應惡意程序執行;黑客主要通過將惡意程序偽裝成圖片上傳hxxp://thyrsi.com圖床站點,shell腳本下載hxxp://thyrsi.com/t6/672/1550667515x1822611209.jpg保存為/tmp/watchdogs文件,賦予可執行權限后執行該惡意程序;

-
再進一步橫向擴展感染,檢查本地 ssh 憑證,遍歷/root/.ssh/known_hosts文件中的IP地址,利用默認公鑰認證方式進行SSH連接,執行惡意命令橫向擴展感染;

-
最后清空系統日志等文件,清理入侵痕跡。
通過bash腳本我們可以得知關鍵文件為其中的watchdogs文件。
進一步通過top命令未見異常進程,而CPU空閑率為100%,但又明顯感覺到機器運行遲緩。

進一步通過vmstat進行確認,可以發現CPU使用率95%以上,由此可以推斷存在隱藏進程,并且hook了相關readdir 等方法,具體案例我們在以前的文章已經做過分析。
進一步分析watchdogs文件,可以清楚看到病毒釋放了/usr/local/lib/libioset.so的動態鏈接庫并將路徑寫入/etc/ld.so.preload來實現了進程的隱藏,與我們上面的推測是一致的。具體可見樣本分析部分。
三、樣本分析
樣本 watchdogs
主要功能:
-
獲取當前進程id,寫入/tmp/.lsdpid文件
-
拷貝 /tmp/watchdogs至/usr/sbin/watchdogs路徑,并將watchdogs添加至啟動項及服務項
-
釋放libioset.so文件至/usr/local/lib/libioset.so,并將該so文件路徑寫入/etc/ld.so.preload,同時刪除/usr/local/lib/libioset.c文件

-
訪問ident.me獲取機器IP
-
設置定時任務,定時從 https://pastebin.com/raw/sByq0rym 上獲取shell執行腳本
-
寫入/tmp/ksoftirqds、/tmp/config.json,執行ksoftirqds后刪除
-
刪除生成的相關文件
-
訪問 https://pastebin.com/raw/C4ZhQFrH 檢查更新
樣本 libioset.so
64位程序中,惡意樣本會釋放出libioset.c文件,采用源碼編譯的方式生成libioset.so文件,而32位程序則直接釋放出libioset.so文件
libioset.so主要功能為hook刪除、查看等系統命令函數,過濾掉watchdogs等相關信息,導致ls、rm等命令對該惡意程序無效,該so文件導出函數如下所示
例如,readdir64函數中,加載了libc.so.6
獲取原始函數地址
如果調用該函數的進程不是ksoftirqds或watchdogs,則過濾掉所有包含惡意程序相關的結果。
unlink函數同樣進行了過濾,導致無法清除惡意程序相關的LD_PRELOAD、libioset.so等。
該惡意程序同樣隱藏了CPU信息和網絡連接信息,如下所示:
當調用fopen打開/proc/stat時,返回偽造的信息
當調用fopen打開/proc/net/tcp或/proc/net/tcp6時,同樣進行過濾
四、流程還原
基于上面的腳本和ELF樣本分析可以發現整體入侵和感染流程大概為:
1、通過Redis未授權訪問漏洞入侵機器并修改crontab任務;或者通過遍歷known_hosts中的連接歷史進行橫向擴展;
2、crontab任務執行bash腳本,進行相關清理和下載執行惡意程序watchdogs并橫向擴展:
a) 覆寫crontab任務;
b) 清理其他惡意程序;
c) 解鎖刪除相關系統文件;
d) 下載執行watchdogs;
e) 橫向掃描其他機器;
f) 清理相關文件和痕跡。
3、watchdogs執行實現寫開機啟動、服務項并釋放動態鏈接庫實現隱藏,同時釋放執行挖礦程序:
a) 獲取進程ID寫/tmp/.lsdpid;
b) 將/tmp目錄下的watchdogs復制到/usr/sbin/目錄并加入開機啟動項和服務項;
c) 釋放libioset.so并寫入/etc/ld.so.preload實現進程等隱藏;
d) 訪問ident.me獲取機器外網IP;
e) 再次覆寫crontab任務;
f) 釋放挖礦程序ksoftirqds和配置文件config.json并執行;
g) 刪除相關生成的文件并檢查更新。
最終完成了一個漏洞利用到植入挖礦程序,同時隱藏和橫向感染的過程。
而相對與過去我們分析過的隱藏進程的挖礦病毒,在該病毒釋放的動態鏈接庫中同步對unlink函數進行了過濾,過濾名稱同時包含ld.so.preload和libioset.so,而同時由于刪除、查看等系統命令函數也受過濾影響,就導致通過常規自帶的方法無法直接刪除libioset.so或者修改ld.so.preload解除惡意進程的隱藏,只能通過busybox 來實現對這些文件的刪除清理。
在我們將/usr/local/lib/libioset.so文件清理后,就可以通過top命令看到執行的挖礦進程。
通過捕獲的錢包地址查看黑客收益:
(數據來源:f2pool)
該錢包總收益約為56.5門羅幣,約合1.9萬人民幣,過去24小時內收益1.3門羅幣,當前算力約為430KH/S。
五、修復建議和清理方法
修復建議
Redis未授權訪問:
- 為 Redis 添加密碼驗證(重啟Redis才能生效);
- 禁止外網訪問 Redis(重啟Redis才能生效);
- 以低權限運行Redis服務(重啟Redis才能生效) 詳細操作請參考:http://bbs.qcloud.com/thread-30706-1-1.html。
內網感染:
- 建議不要將連接機器的私鑰直接放在服務器上,如有必要建議添加密碼;
- 建議通過有限的機器作為跳板機實現對其他內網機器的訪問,避免所有機器的隨意互聯互通,跳板機不要部署相關可能存在風險的服務和業務。
挖礦木馬清理方法
- 刪除惡意動態鏈接庫/usr/local/lib/libioset.so;
- 排查清理/etc/ld.so.preload中是否加載1中的惡意動態鏈接庫;
- 清理crontab異常項,刪除惡意任務(無法修改則先執行5-a);
- kill 挖礦進程;
- 排查清理可能殘留的惡意文件: a) chattr -i /usr/sbin/watchdogs /etc/init.d/watchdogs /var/spool/cron/root /etc/cron.d/root; b) chkconfig watchdogs off; c) rm -f /usr/sbin/watchdogs /etc/init.d/watchdogs。
- 相關系統命令可能被病毒刪除,可通過包管理器重新安裝或者其他機器拷貝恢復;
- 由于文件只讀且相關命令被hook,需要安裝busybox通過busybox rm命令刪除;
- 部分操作需要重啟機器生效。
六、附錄
IOCs:
樣本
-
aee3a19beb22527a1e0feac76344894c
-
c79db2e3598b49157a8f91b789420fb6
-
d6a146161ec201f9b3f20fbfd528f901
-
39fa886dd1af5e5360f36afa42ff7b4e
礦池地址
xmr.f2pool.com:13531
錢包地址
46FtfupUcayUCqG7Xs7YHREgp4GW3CGvLN4aHiggaYd75WvHM74Tpg1FVEM8fFHFYDSabM3rPpNApEBY4Q4wcEMd3BM4Ava.teny
URLs
-
hxxps://pastebin.com/raw/sByq0rym
-
hxxps://pastebin.com/raw/tqJjUD9d
-
hxxp://thyrsi.com/t6/672/1550667515x1822611209.jpg
-
hxxp://ident.me
相關鏈接:
https://mp.weixin.qq.com/s/1AF5cgo_hJ096LmX7ZHitA
騰訊安全云鼎實驗室專注云安全技術研究和云安全產品創新工作;負責騰訊云安全架構設計、騰訊云安全防護和運營工作;通過攻防對抗、合規審計搭建管控體系,提升騰訊云整體安全能力。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/824/
暫無評論