一般情况下,挖矿病毒都是自动扫描+自动挂马生成的,并不会是有专人进行攻击,所以也比较好清除,注意清除之后需要 check 有无后门。
最重要几点(也可能是被hack的原因):禁止 ROOT 用户登陆,ROOT 不能使用弱密码,FRP 需要配置,不能使用默认选项。
挖矿进程占用的 CPU 资源比较大,且被杀掉之后会自动重启,比较好识别。
可以先用ps -ef | grep $PID看一下相应的命令,如果可以看到就比较好定位,看不到也没关系。
一般情况下,挖矿病毒都会自动重启,可以在 crontab -l 里面看有没有对应的定时任务,如果没有就在 /etc/cron* 里面几个对应的文件夹下看下,这里面本身就有系统自带的文件,所以需要每个文件都对应的看看,crontab 里面没有一般就在这里面。这样基本上就可以找到对应的文件。可以使用 ls -al 查看对应文件创建的时间,可以大概估算被入侵的时间。删除的时候,可能会发现没有删除权限,这可能是 chattr 命令导致的,使用 chattr +sia a 选项会让文件只能被 append,i 选项会让文件不能被修改。所以可以使用 chattr -sia $FILE 的方式来进行恢复,之后就可以删掉。
有的病毒可能不只是有定时任务,还会加入开机启动,需要在 /etc/init.d/ 里面查看有没有对应的文件,注意!此时病毒可能已经更改了名称,最好使用 md5 去对比。
同时可以用 lsof -p $PID 看下挖矿对应的网络链接,可以用 UFW 把这些链接 ban 掉。
最后需要检查有没有在 ssh 中留后门。查看 /etc/ssh/authorized_keys 文件,有没有异常的密钥加进来。
一些有用的信息 /var/log/auth.log 可以看到相应的 ssh 记录,里面应该可以看到扫描记录,ban 掉扫描的 IP。history 命令可以看到之前的命令记录,但是这个不一定有用,理论上可以把命令历史删除。