记录一次处理服务器挖矿

部署代码的时候发现服务器cpu占用一直100%,还以为代码有bug给服务器干垮了,结果给服务停了发现cpu还是100%,坏了,这是被搞了,记录一下排查过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 1. top看一下有个进程狂占用cpu,kill又kill不掉,reboot也没有用,初步判断是中了挖矿病毒,根据进程名去搜发现也有别人中了同样问题,再去阿里云安全中心看安全报告,确认就是中了挖矿病毒,开整

# 2. 看一下被添加了什么启动项,我这里是从185.196.8.123用wget或者curl去拉一个logservice.sh的脚本
vim /etc/rc.d/rc.local

# 3. 防火墙阻断这个地址的网络连接,防止脚本/定时任务/进程互相保活
iptables -A INPUT -s 185.196.8.123 -j DROP
iptables -A OUTPUT -d 185.196.8.123 -j DROP

# 4. 删掉启动项
vim /etc/rc.d/rc.local

# 5. 关闭进程,删掉进程文件
ps -ef | grep logrotate
kill -9 5009
rm -rf /root/.config/logrotate

# 6. top看一下,cpu占用已经下来了,且没有复发

# 7. 看是否有服务,有的话给关了,删了
systemctl list-unit-files |grep logrotate.service
systemctl disable logrotate.service
find / -name logrotate.service
rm -rf 上一句文件位置,有多个就删多次
# 确认没有再出现
find / -name logrotate.service

# 8. 解决不让删除定时任务问题,看一下怎么解锁
lsattr /etc/hosts

# 9. 如果上面最后的"----e----"前面是--ai-或者是压根没有a或者i,那下面命令就用-ai,如果上面最后的e前面是-i-,下面命令就用-i
chattr -ai /etc/cron.hourly/logrotate;
chattr -ai /etc/cron.daily/logrotate;
chattr -ai /etc/cron.weekly/logrotate;
chattr -ai /etc/cron.monthly/logrotate;
chattr -ai /etc/cron.yearly/logrotate;
rm -rf /etc/cron.hourly/logrotate;
rm -rf /etc/cron.daily/logrotate;
rm -rf /etc/cron.weekly/logrotate;
rm -rf /etc/cron.monthly/logrotate;
rm -rf /etc/cron.yearly/logrotate;

# 10. 清除其余启动项:$HOME/.bashrc $HOME/.bash_logout $HOME/.zshrc
echo $HOME

可能是由于一直开着远程调试导致的,JDWP调试接口RCE漏洞介绍
https://forum.butian.net/share/1232

参考文章:
阿里云处理挖矿程序最佳实践:
https://www.alibabacloud.com/help/zh/security-center/use-cases/best-practices-for-handling-mining-programs#section-xgd-9mh-f0e

5月服务器遭遇logrotate病毒的查杀过程:
https://juejin.cn/post/7365933616743219209

记一次服务器被入侵(木马,挖矿)的排查过程:
https://blog.csdn.net/qq32933432/article/details/135408156

Comments

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.