一次REDIS引起的Kworkerd+sustse惡意入侵LINUX挖礦事件

前言

根據網上的文章,並結合自身服務器狀況,得知這次入侵是因爲redis端口對外開放,且空密碼,致使了Kworkerd,sustse惡意入侵LINUX挖礦,原本想着調試方便(都是個人鍋),如今惟有吸收教訓。Let's start!php

分析問題

事情開始於一個平凡而又偉大下午的平常編碼中,突然發現某服務數據庫鏈接拒絕,遂上服務器上查看mysql服務狀態,居然是關閉狀態,當我開啓服務後不久又自動關閉了,也就是從這個時候開始,全部的服務鏈接請求阻塞變慢,頁面沒法訪問或加載超時,開始排查問題(當時慌得一比).html

  1. 輸入TOP -c查看當前服務器狀況,奇怪的是CPU跑滿99%左右,但卻無佔用CPU高的進程,看了很久的Linux 系統情況後,發現時而有sustsekworkerd等陌生進程字眼,快馬加鞭地搜索一下。
    服務器狀況
  2. 發現了此《挖礦分析》文章,跟距思路,查找到/var/tmp目錄,並清理這幾個病毒腳本
    惡意腳本目錄
  3. 過段時間從新還有腳本,且看到定時任務中有未知文件獲取,文件地址爲http://192.99.142.246:8220/mr.sh,輸入crontab -e修改刪除此腳本,但定時任務的請求仍然會進行寫入
  4. 續輸入netstat -anp查看當前網絡鏈接時,發現有多個異常鏈接,與定時任務的地址相同,試着輸入ps aux|grep 8220找到並kill掉進程,一會後仍是會寫入進程,看來有多處腳本寫入定時任務
    端口鏈接
  5. 最後找到此kworkerd分析文章,想經過上面的方案清除代碼,發現不通用,沒法完全清除,且文章上的惡意腳本大概是今年年中的了,如今腳本也更新換代了,還得靠本身,分析告一段落,要開始動真格解決問題了。

解決方案

雖然一時間沒法完全根治,腳本無限刷,文件又一直請求,但日子總要過下去不是,因而一邊提交了工單給阿里雲,一邊分析當前的惡意腳本。mysql

阿里雲建議

根據工程師的建議作了一份快照備份,以備未來不得以的狀況下回滾備份.git

  1. 重置一下系統,建立快照,將快照建立成一個按量付費的雲盤,進行數據拷貝
  2. 安裝阿里雲的一些安全軟件,進行排查防禦
  3. 若是有惡意刷站的,上傳一些惡意腳本的,看一下訪問日誌,能夠經過安全組禁止掉,或者瞭解一下web應用防火牆能夠有效的防止有人刷站

清除惡意腳本

然後經過分析http://192.99.142.246:8220/mr.shSHELL腳本,發現腳本會不斷刪除並新增進程與腳本,經過此記錄下腳本內容,將'刪除腳本'一次性執行,發現執行成功且再無惡意進程.github

chattr +i /usr/bin/wget
chmod 700 /usr/bin/wget
chattr +i /usr/bin/curl
chmod 700 /usr/bin/curl
/etc/init.d/iptables stop
service iptables stop
SuSEfirewall2 stop
reSuSEfirewall2 stop
pkill -f sysxlj
pkill -f jourxlv
pkill -f sustes
rm -rf /etc/ld.so.preload
rm -rf /usr/lib/void.so
rm -rf /etc/voidonce.sh
rm -rf /usr/local/lib/libjdk.so
rm -rf /usr/local/lib/libntp.so
ps aux|grep "I2NvZGluZzogdXRmLTg"|grep -v grep|awk '{print $2}'|xargs kill -9
rm -rf /lib64/library1.so
rm -rf /usr/lib64/library1.so
rm -rf /lib64/library1.so
rm -rf /usr/lib64/library1.so
iptables -I OUTPUT -s 167.99.166.61 -j DROP
iptables -I INPUT -s 167.99.166.61 -j DROP
iptables -I OUTPUT -p tcp -m string --string "pastebin" --algo bm -j DROP
...
複製代碼

相關防禦

解決問題後發現基本沒有什麼異常狀況了,真正解決問題還要作一些安全防禦相關的工做:web

後記

這實在是一個不起眼的疏忽,卻也是一次致命的錯誤,誰都不能想到我第一次接觸虛擬貨幣竟是由於REDIS端口入侵,網絡安全重要如斯,有理有據,使人信服。redis

共勉sql

參考連接

  1. 記一次挖礦病毒分析
  2. Kworkerd惡意挖礦分析
  3. Linux操做系統加固
  4. MySQL服務安全加固
  5. PHP環境安全加固
  6. 惡意腳本備份
  7. 刪除腳本命令
相關文章
相關標籤/搜索