linux系统下运行程序时被莫名自动Killed
恶意程序注入,通过查看cron文件进行解决
在用vscode ssh远程连接服务器跑程序时,总是随机出现Killed,被系统自动杀死,查阅了相关问题发现一共分两类:1.OOM即内存超出问题2.被植入挖矿程序。上面问题的共性是通过大量占用内存或者显存使得系统自动杀死程序,这种通过ps aux很容易发现,但是我通过ps aux后没发现相关大量占用内存的程序,故上面两类问题和我这都不一样。同时我怀疑系统确实是被植入了恶意程序,因为通过换代码,换batch等等操作后还是出现了killed,所以排除了所有自身问题,很大可能是被植入恶意程序。同时,这个恶意程序可能运行时占用很小的cpu,所以查不到。这种问题我称为第三类问题:Scheduled Kill。以下是一步步发现,解决这个问题的过程:
首先,根据之前的博客,我输入了查看kill process的命令,但是一无所获,于是输入查看系统日志的命令:sudo tail -n 100 /var/log/syslog,结果发现其中在cron部分有异常:
:
从上图可以看出系统有一个定时任务在执行,特别是/bin/AV378It8命令,可能是恶意程序,因此需要查看是否是恶意程序,使用ls -l /bin/AV378It8和stat /bin/AV378It8查看此程序的相关信息:
可以发现,这个程序在2005年就存在了,在最近插入系统的,所以进一步确定了这个程序非常可疑,同时用strace /bin/AV378It8追踪该文件的系统调用发现它多次删除定时任务和修改系统文件,最终可以确定是恶意程序,并将其删除。
上面删除之后还不算完,我们还需输入
sudo cat /etc/crontab
sudo ls -l /etc/cron.d/
sudo ls -l /etc/cron.daily/
sudo ls -l /etc/cron.hourly/
sudo ls -l /etc/cron.weekly/
sudo ls -l /etc/cron.monthly/
来查看系统范围的定时文件有没有恶意任务,结果发现

cron每个文件里都有2005年的一个二进制程序,将它们一个个删除后通过sudo apt-get install chkrootkit和sudo apt-get install rkhunter安装相应的检测软件进行全面检测,最后重启系统,修改密码,禁止远程用root用户登录,自此,程序成功运行,问题解决!此程序是通过不断执行定时任务来kill正在运行的程序,可以以很少的占用率执行,所以和前面两类问题区别较大,一般查不到问题。警示:千万别设置弱密码!!!
更多推荐


所有评论(0)