基于crontab的服务器恶意程序

时间:2021-06-06 08:00:10

背景

最近服务器总是启动一个恶意进程,大量占用系统,防火墙被关闭,crontab也执行的定时任务也不断被篡改,通过ps -aux命令清理掉一批可疑的进程,并且将自动下载恶意脚本的目标服务器加入的防火墙的拦截,恶意进程不再启动了,但是crontab还是会被篡改。

问题分析

通过分析crontab日志/var/log/cron

Mar 31 03:07:01 iZ253gehhtyZ CROND[17971]: (root) CMD (sh /opt/release.sh)
Mar 31 03:07:01 iZ253gehhtyZ anacron[17903]: Job `cron.daily' started
Mar 31 03:07:01 iZ253gehhtyZ run-parts(/etc/cron.daily)[17973]: starting anacron
Mar 31 03:07:01 iZ253gehhtyZ crontab[18079]: (root) DELETE (root)
Mar 31 03:07:03 iZ253gehhtyZ run-parts(/etc/cron.daily)[18094]: finished anacron

发现是在执行了cron.daily后出现了异常。
crontab安装时默认有cron.hourly、cron.daily、cron.weekly和cron.monthly,对应每小时、天、周和月的自动执行任务。
查看/etc/cron.daily/目录,果然发现目录下的anacron文件被添加了恶意代码。从其他服务器上找到了一份正常的anacron文件,覆盖掉恶意的anacron文件即可。

总结

恶意程序常用的方式就是守护进程和crontab,在解决服务器被攻击时,可以多注意一下crontab是否有定时执行的恶意代码。