前言
在某個風和日麗的下午,突然收到客戶那邊運維發過來的消息說我司的DTA設備在瘋狂告警,說存在惡意域名外聯,我急忙背上小背包前往客戶現場,經過與客戶協同排查,最終確定該事件為一起挖礦病毒引起的惡意域名外聯事件。(因客戶信息保密且為了保證文章邏輯完整性,部分截圖為后期追加圖)
事件分析
一看域名地址donate.v2.xmrig.com,xmrig這不門羅幣的礦池地址嗎,看來是個挖礦事件,從DTA上的告警時間和告警事件來看,確實是個挖礦事件。經過在DTA產品上分析發現該IP的流量信息,發現該IP主機一直在對該惡意域名進行外聯請求,經過和客戶溝通之后,對被害主機進行上機排查。執行top命令并未發現存在CPU異常,執行ps命令也未發現惡意進程,netstat命令也未發現惡意ip連接等行為。
但是在DTA上,該臺主機確實一直在請求惡意域名,應該是做了一些隱藏進程的手段,現在類似這種挖礦病毒存在一種主流的隱藏方法,那就是通過LD_PRELOAD來修改運行鏈接庫,修改LD_PRELOAD之后允許在你的程序運行前加載所修改的動態鏈接庫。那去/etc目錄下看看是否存在ld.so.preload這個文件
用系統的自帶的ls命令并未發現ld.so.preload文件,這里懷疑是一些系統自帶的ls等命令已經被動態鏈接庫所hook劫持了,導致查看不到文件,所以上傳了一個busybox,不用系統自帶的命令來進行查看。
ld.so.preload這個文件,在系統中默認不存在這個文件或者該文件為空這里直接通過busybox把這個文件給進行刪除
然后再次使用top命令進行查看
執行lsof -p [pid]命令來定位挖礦木馬進程文件
來到該目錄下發現如下
kill -9 3582558去kill掉挖礦木馬進程,然后再把挖礦木馬一并刪除,但是一段時間后,DTA設備上又傳來了失陷告警,且該目錄下又重新生成了挖礦程序。使用crontab -l 檢查定時任務,發現一個可疑定時程序,該定時執行一個a.sh文件
該腳本主要內容如下
定義環境變量用來存取配置文件,然后檢查ddns.log文件是否存在,這里的邏輯是檢查當前時間與文件最后修改時間的差值。如果這個差值大于 6 秒,腳本輸出 "process is not running",表示進程可能已經停止運行。如果差值不超過 6 秒,腳本認為進程可能仍在運行。最后根據不同用戶來curl不用的sh文件,ai.sh一些關鍵代碼如下
殺死大于CPU使用率超過65%的所有進程,防止一些其他挖礦程序或者其他干擾CPU進程的運行
下載的文件名和受害機上文件一致,且確定為挖礦程序。
對此刪除掉惡意定時任務、挖礦病毒,重新kill進程,DTA恢復正常,無失陷流量告警。挖礦病毒應急算是解決完了,要繼續還原攻擊者的攻擊鏈路,根據挖礦木馬可以分析出攻擊者最先落地的是一個a.sh文件,根據a.sh文件名和落地時間和/var/log/messages里面所顯示的腳本首次啟動時間去查找日志,通過在態感、WAF、日志審計系統等設備再結合開放的端口服務結合查找,終于定位到一條如下攻擊日志。
POST /pages/doenterpagevariables.action HTTP/1.1
通過再次復現驗證
可以確認攻擊者通過8090端口開放的Confluence應用(該版本的Confluence應用存在RCE漏洞)進行getshell,然后上傳a.sh文件,最后上傳挖礦木馬進行挖礦操作。至此整個攻擊鏈路和應急流程已全部梳理完畢。
審核編輯 黃宇
-
域名
+關注
關注
0文章
71瀏覽量
11276 -
端口
+關注
關注
4文章
955瀏覽量
32014 -
DTA
+關注
關注
0文章
6瀏覽量
2990
發布評論請先 登錄
相關推薦
評論