症状表现
服务器CPU资源使用一直处于100%的状态,通过 top 命令查看,发现可疑进程 kdevtmpfsi。通过 google搜索,发现这是挖矿病毒。
image.png
image.png
排查方法
首先:查看 kdevtmpfsi 进程,使用 ps -ef | grep kdevtmpfsi ps -ef | grep kinsing命令查看,见下图。
image.png
image.png
PS:通过 ps -ef 命令查出 kdevtmpfsi 进程号,直接 kill -9 进程号并删除 /tmp/kdevtmpfsi 执行文件。但没有过1分钟进程又运行了,这时就能想到,kdevtmpfsi 有守护程序或者有计划任务。通过 crontab -l 查看是否有可疑的计划任务。
第二步:根据上面结果知道 kdevtmpfsi 进程号是 10393,使用 systemctl status 10393 发现 kdevtmpfsi 有守护进程,见下图。
image.png
image.png
第三步:kill 掉 kdevtmpfsi 守护进程 kill -9 30903 30904,再 killall -9 kdevtmpfsi 挖矿病毒,最后删除 kdevtmpfsi 执行程序 rm -f /tmp/kdevtmpfsi。
事后检查
通过 命令搜索是否还有 kdevtmpfsi 文件
find / -name “kdevtmpfsi”
find / -name “kinsing”
查看 Linux ssh 登陆审计日志。Centos 与 RedHat 审计日志路径为 /var/log/secure,Ubuntu 与 Debian 审计日志路径为 /var/log/auth.log。
检查 crontab 计划任务是否有可疑任务
find / -name kdevtmpfsi
find / -name kinsing
cd /var/spool/cron
查看是否有相关的木马定时任务在执行
有的话删掉再重启下crontab
关闭定时任务
service crond stop
image.png
image.png
后续工作溯源,找到程序漏洞,封禁访问ip,不正常ip。源程序下载。
使用clamav对整个Linux做全盘扫描,确定被感染文件并删除。
查找守护进程文件变种名字。
全部删除
find / -name “kdevtmpfsi” | xargs rm -rf
find / -name “kinsing” | xargs rm -rf
至此杀毒工作基本进入尾声。后面几天观察服务器服务,进程是否异常。
后期防护
启用ssh公钥登陆,禁用密码登陆。
云主机:完善安全策略,入口流量,一般只开放 80 443 端口就行,出口流量默认可以不限制,如果有需要根据需求来限制。物理机:可以通过硬件防火墙或者机器上iptables 来开放出入口流量规则。
本机不是直接需要对外提供服务,可以拒绝外网卡入口所有流量,通过 jumper 机器内网登陆业务机器。
公司有能力可以搭建安全扫描服务,定期检查机器上漏洞并修复。
小结:以上例举几点措施,不全。这里只是抛砖引玉的效果,更多的措施需要结合自己业务实际情况,否则就空中楼阁。
之后查看系统的网络连接
netstat -anpt
1
发现仍旧还有可以连接
接下来查看可以连接的文件位置
ps aux | grep 6712
1
发现文件在/tmp/kinsing 在tmp中查看并无此文件,可能只是进程没有关闭而已
使用命令关闭异常进程
kill -9 6712
1
再次查看网络连接,已无问题
补充一个小知识点
image.png
image.png
ps -ef | grep kdevtmpfsi
进程号一直改变的原因
ps -ef | grep xx 显示的进程就是你查寻进程的进程,每次查都会变
找到文件位置然后删除原文件