1.二话不说先上图,cpu一路飙升在100%
2.进入服务器top命令查看占用cpu的异常进程
3.找到目标PID kill -9 10478 干掉这个进程,没几秒这个Macron的进程又死灰复燃
4.定位Macron目录
ls -l /proc/$PID/exe 定位到发现目标文件为/tmp/Macron,打开此文件发现都是二进制的,啥也看不懂
5.火速干掉此文件 rm -rf /tmp/Macron ,干掉后再top,发现又死灰复燃,奶奶个腿的
。。。。怀疑此文件被另一个文件定时执行并远程下载病毒文件
6.排查定时任务发现没有可以定时任务
/etc/crontab、/etc/cron.d和/var/spool/cron
7.进入.ssh rm -rf authorized_keys ,若删除不掉chattr -i authorized_keys 后再删除
8.通过上面操作后再试还不行 pstree一下
查找病毒源文件,果然除了tmp还有其他两个文件.sig的后缀
find / -name '*Macron*'
删除上面的三个文件
然后过了10分钟(这次死灰复燃的时间有点长)Macron进程又起来了,那说明上面删除的文件是生成的文件,不是源文件
继续追踪
root用户下 输入 crontab -l 显示
[root@localhost ~]# crontab -l
no crontab for root
这个问题非常简单,同样在 root 用户下输入 crontab -e
按 Esc 按: wq 回车 再输入 crontab -l 就没有问题了,查看到并没有执行计
9.我被攻破的是root用户所以还得需要一部操作,修改root密码
病毒脚本首先就会尝试关闭SELinux子系统,我们可以使用getenforce命令查看SELinux状态。
如果你想要重新打开,可以修改/etc/selinux/config文件将SELINUX=disabled改为SELINUX=enforcing,然后重新启动服务器。
重启电脑后发现正常了
ps.发现这种病毒是在/etc/init.d/目录下面放有一个启动文件:nfstruncate 。一方万一查找下该文件也全部删除除;
find / -name 'nfstruncate'
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* 如果以上方法试了还不行,尝试如下
是否存在:/root/.systemd-service.sh 有删掉
是否 有类似这样的/tmp/.X11-unix/ 有删掉
是否/etc/cron.d/ 里删掉systemd-service.sh
是否存在 /opt/systemd-service.sh 删掉
.ssh/known_hosts和authorized_keys里删掉
service crond stop(如果没有定时任务可以停止)
10.总结
此次被攻击初步怀疑是另一个小伙伴,redis没有这事登陆密码(此操作是万万不安全的), 因为redis的不设置密码有个漏洞,基本通过猜测端口就可以直接连上redis的,黑客利用了redis的一个漏洞获得了服务器的访问权限,所以redis的密码是必须要设置的,最好端口也不要用默认的6379的,血的教训