今天心情好远程登录服务器,结果发现cpu居然占用了100%,这是不正常的,于是使用top命令查看占用多的进程,发现是一个名为kdevtmpfsi的进程,于是使用kill命令将其杀死,但是这似乎并没有解决问题,不一会这个进程又活过来了。
于是在进一步查找发现kdevtmpfsi文件在/tmp目录下,于是来到这个目录使用rm命令将其删除,同时删除掉kinsing,并使用ps -aux | grep kinsing查询进程号并将其杀死。
可是还没开心超过10分钟,kdevtmpfsi进程又再次起来了,这让我很是难受,不管如何搜索解决办法,似乎最后都没能将其根治。同时包括cron的自动运行,那个似乎是一个烟雾弹,看着虽然都在时刻运行,但是确是一只访问的都是404根本没下载文件下来,所以我只能考虑重装看看了。
于是我只好备份了数据,重装系统,并恢复数据,想着应该这样能好了吧。
半个月后,我再次登录服务器,结果发现在我上次重装系统后的第5天,又被黑了,所以问题绝对出在服务器的配置上,但是是通过什么途径黑进来的呢,一下子并无头绪,只好先清理病毒吧。
于是这次换了一种方式思考,既然再次被黑,说明黑进来后增加的文件肯定是新的, 要么修改日期也是新的,于是通过AI的帮助下学习了一条新的命令用于超着文件,同时观察运营商服务器监控到的cpu飙升时间进行小范围内的搜索,使用的命令如下:
# find / -type f -maxdepth 5 -user www-data -newermt "2024-04-14 15:00" ! -newermt "2024-04-14 18:00" 解析下参数 -type f 表示搜索的是文件 -maxdepth 5 表示查询的深度 -user www-data 表示查找该用户的文件 -newermt 表示限定的时间 合起来就是从根目录下开始搜索向下5层,是用户www-data创建的文件,且时间在2024-04-14 15:00到2024-04-14 18:00之间(为什么加了个用户,因为通过文件的进程发现是这个用户运行的)
于是搜索到如下信息(已经过简略):
/tmp/kinsing /tmp/.ICEd-unix /tmp/.ICEd-unix/uuid /tmp/linux.lock /tmp/kdevtmpfsi /dev/shm/.ICEd-unix /var/spool/cron/www /var/tmp/.ICEd-unix /var/tmp/yum-www-OeOwD5 /var/tmp/yum-www-OeOwD5/x86_64 /var/tmp/yum-www-OeOwD5/x86_64/7
以上文件看着就不是好东西,所以全部通过rm命令统统删除(宁可错杀不放过,大不了重装),同时记得结束kdevtmpfsi和kinsing对应的进程
那么现在问题来了,到底是如何入侵的呢,最后通过查看很多记录数据后发现一个关键的漏洞,就是我居然没有禁用php的exec函数,大概这就是被利用来攻破的问题所在吧,于是赶紧在php.ini重禁用了一些危险函数“exec,system,shell_exec,passthru,eval,popen,putenv,phpinfo”,现在就看看还会不会被黑吧。