概述

kinsing 是一個惡意軟體,如果你的系統有漏洞,一但被入侵成功, kinsing 會下載 kdevtmpfsi 這個挖礦病毒 (Miner),利用你的 CPU 來幫入侵者執行虛擬貨幣的挖礦運算。

判斷方法

使用 top 來查看,如果發現 kdevtmpfsi 這個程序存在,並且佔用大部分的 CPU 資源,就是遭到 kinsing 入侵了。

入侵途徑

正確的判斷入侵的途徑,才能有效的封鎖漏洞;光是把惡意的檔案和程序刪除,入侵者依然會透過漏洞再次入侵。

1、透過 Laravel debug 模式下的 RCE 漏洞

使用 top 檢查時,kdevtmpfsi 程序的 USER 欄位是顯示 apache,極有可能就是透過此方法。

2、透過 docker 容器中未設定密碼的 redis

3、設定不當的 Docker 服務 API

解決方案

以下步驟,大多必須以 root 權限或 sudo 執行。

1、封鎖入侵途徑

針對「debug 模式下的 Laravel 框架」,請到 .env 中,將 APP_DEBUG 設為 false

2、刪除不必要的 cronjob

入侵者會修改 crontab ,定時下載病毒指令稿並執行它,所以我們得檢查一下。

# 列出所有使用者的 crontab 
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

如果有發現異常的 cron 工作,請刪除它,請特別注意使用到 wgetcurl 的工作。

如果要限制帳戶使用 cron 的權限,也可以利用 /etc/cron.deny 和 /etc/cron.allow 來限制其使用。

3、刪除相關程序及檔案

kdevtmpfsi 是負責虛擬貨幣的挖礦運算;kinsing 則是一個常駐程式,如果 kdevtmpfsi 被停止,他會再下載並執行 kdevtmpfsi。

所以 kinsing 及 kdevtmpfsi都需要處理掉

# 刪除相關程序
# 先刪除常駐程式,以免挖礦病毒再被呼叫執行
ps -aux |grep kinsing |grep -v grep|cut -c 9-15 |xargs kill -9
ps -aux |grep kdevtmpfsi |grep -v grep|cut -c 9-15 |xargs kill -9

# 刪除相關檔案
find / -iname kinsing -exec rm -fv {} \;
find / -iname kdevtmpfsi -exec rm -fv {} \;

4、再次檢查並追蹤

如果程序和檔案都不再出現,就應該是成功的去除這個惡意軟體;如果再度出現,可能是漏洞還沒有完全修復,請再檢查是不是有其他入侵途徑。

# 檢查程序
ps -aux |grep kdevtmpfsi |grep -v grep
ps -aux |grep kinsing |grep -v grep

# 檢查檔案
find / -name kdevtmpfsi
find / -name kinsing

參考資料

設定不當的 Docker 服務API端口導致 Kinsing 惡意軟體攻擊

docker容器封装redis 挖矿病毒kdevtmpfs的处理

Laravel <= v8.4.2 debug mode: Remote code execution

關於linux病毒kinsing kdevtmpfsi的處理

Last modified: 2021-02-20

Author

Comments

Write a Reply or Comment

Your email address will not be published.