Linux系統被植入挖礦程式事件
下面是阿里雲案例
漏洞描述:
Redis 服務因配置不當,可被攻擊者惡意利用。黑客藉助 Redis 內建命令,可將現有資料惡意清空;如果 Redis 以 root 身份執行,黑客可往伺服器上寫入 SSH 公鑰檔案,直接登入伺服器。
受影響範圍:
對公網開放,且未啟用認證的 Redis 伺服器
修復方案:
注意:以下操作,均需重啟 Redis 後才能生效。
繫結需要訪問資料庫的 IP。 將 Redis.conf 中的 bind 127.0.0.1 修改為需要訪問此資料庫的 IP 地址。
設定訪問密碼。在 Redis.conf 中 requirepass 欄位後,設定新增訪問密碼。
修改 Redis 服務執行賬號。以較低許可權賬號執行 Redis 服務,且禁用該賬號的登入許可權。
上網查了一番之後是因為安裝redis時配置不當,被黑客植入了挖礦程式,把cpu佔滿,導致伺服器慢的要死
當時想的是這小伺服器應該沒人會攻擊,然後為了省事做了下列操作:
- 把redis.config裡的 bind 127.0.0.1 給註釋了,為了能夠遠端訪問
- 把防火牆關閉了,嫌配置防火牆埠麻煩
-
為了方便沒有設定redis連線密碼
然後慘劇就發生了,第二天收到的阿里雲的郵件,上去一看各種中危、高危告警
image.png
在伺服器被入侵後,首先可以明顯感覺到伺服器的資源被佔用而導致的操作遲緩等問題,通過一些常規手段可以發現一些異常資訊,但又看不到程序資訊
通過 top 命令,可以看到顯示的 CPU 使用率較低,但是cpu確實是被佔滿了,看不到是因為挖礦程式被隱藏了 。

image.png
通過 netstat -ant 檢視埠監聽情況,也可以看到異常的連線。

image.png
通過 find /var/log/ -mtime +3 -type f -print 命令查詢三天內變更的檔案,對變更檔案的排查,同時對相關檔案進行分析,大概知道是怎麼把程序隱藏的了

image.png
通過 cat /etc/ld.so.preload 命令檢視檔案內容,可以看到載入一個 .so 檔案:/usr/local/lib/libdns.so,該檔案其主要功能就是過濾了挖礦程序

image.png
在知道了黑客使用的隱藏手法後,利用命令vim /etc/ld.so.preload 檔案去掉相關內容,然後再通過 top 命令即可看到挖礦程序:

image.png
可以看到cpu佔用率已經達到99.9%,直接kill掉該程序,然後top一看確實是沒有了,速度也變快了,但是過幾分鐘之後那個程序又出來了......
然後把定時任務表裡面的東西刪掉也沒用,都只是一時的,過幾分鐘還會出現
下面是關於定時任務表的一些命令
//編輯當前使用者的cron表 $crontab -e //檢視當前使用者的cron表 $crontab -l //刪除當前使用者的cron程序 $crontab -r //使用者名稱 以某使用者的身份來控制cron表 $crontab -u
經過一番操作之後,並沒有解決問題,找不到根源,最後無奈之下直接重灌了CentOS系統,有了這次教訓之後下次再安裝redis的時候就不會犯上面的錯誤了