今天出奇的收到云上的负载告警,然后登陆服务器一看,发现有一个莫名的进程在执行
随后也没想太多,直接kill掉进程,结果进程还真被杀掉了。果然没这么简单,不出一会,cpu又跑满了。重新登陆机器,看了一下进程发现刚刚杀掉的进程又出现了。
然后第一反应是:
- 检查本机有没有定时任务
- 会不会还有其他进程来检测挖矿进程是否在执行
果然看到了一个奇怪的定时任务,随后正想把这个定时任务删掉,md发现root用户下居然也改不了。
突然间有点不知道如何下手,完了难道要重装系统?但是一堆业务还在上面,虽然之前有打镜像,重新部署恢复也是一个问题。
冷静下来以后,看了刚刚定时任务里的那个脚本,发现原来是用chattr命令把文件锁住了
发现chattr命令也没有权限,看了一下原来是没有执行权限。
紧接着看了一下cron目录和cron/root的文件属性,发现目录和文件带有i和a
- +a表示只能给文件追加内容,无法删除
- +i 表示加锁文件(文件不能被删除、改名、设定链接关系,同时不能写入或追加内容)
#解锁文件,再重新编辑定时任务,(如果解锁了还删不掉,记得查看父级目录的文件属性)
chattr -ia /var/spool/cron/
chattr -ia /var/spool/cron/root
把定时任务删掉,也重新把进程给删掉了,本来以为这波稳了,但是!!过了一会挖矿进程又有了,定时任务也被还原了!
只能重新再去读了之前定时任务的脚本。不出意外发现了这一段脚本的外网地址。
- 登录云控制台安全组禁止云主机访问上面的地址
重新再将进程杀掉,木马文件删除。观察了几个小时,发现已经没有类似进程出现了
随后按照木马脚本里面的命令一一将服务器文件还原,到现在为止暂时安全