漏洞描述
Redis 因配置不當存在未授權訪問漏洞,可以被攻擊者惡意利用。
在特定條件下,如果 Redis 以 root 身份執行,黑客可以給 root 賬號寫入 SSH 公鑰檔案,直接通過 SSH 登入受害伺服器,從而獲取伺服器許可權和資料。一旦入侵成功,攻擊者可直接新增賬號用於 SSH 遠端登入控制伺服器,給使用者的 Redis 執行環境以及 Linux 主機帶來安全風險,如刪除、洩露或加密重要資料,引發勒索事件等。

輸入top命令,檢測了進程發現kdevtmpfsi ,這個進程是挖礦程序。
需要找到這個程序的實體

直接 kill 並不能將其結束掉,它還有守護進程及可能存在的定時任務。

1. 首先查找文件

$ find / -name kinsing      // 守護進程
$ find / -name kdevtmpfsi   // 挖礦進程

如果Redis 是運行在本地,上面兩個文件通常是在 /tmp/ 目錄下。

如果Redis 是以容器的方式運行,則通常是在 /var/lib/docker/overlay2/ (容器的 /tmp/ 目錄)下。

2. 將其刪除

$ rm -f kinsing kdevtmpfsi

這裏被感染的容器也不一定是Redis ,比如我的則是PHP,所以需要進入到被感染的容器內才能找到。

3. 幹掉進程

$ ps -aux | grep kinsing
$ ps -aux | grep kdevtmpfsi
$ kill -9 pid

4. 查看定時任務

$ crontab -l

存在定時任務的不一定是當前用户,可以使用以下命令查找其他用户是否存在任務:

$ for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

定時任務還可能存在於以下地方:

/etc/crontab
/var/spool/cron/
/var/spool/cron/crontabs/

至此就完成了病毒的清理,網上千篇一律的全是這種處理方式,但這個方式並不適合我,我嘗試了很多次,無論我怎麼刪除,病毒還是存在。

因為病毒是依賴於容器生存的,於是我便將容器停止掉,通過 docker logs 實時查看容器最後10條日誌:

docker logs -f -t --tail 10 <容器id/容器名稱>

檢測是否有守護進程存在
crontab -e #查看 定時任務,刪掉存在的遠程下載

注意處理後,檢查自己服務器的用戶信息並及時更改系統用戶密碼

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料