Linux服务器挖矿木马排查思路与解决

如果是云服务器可以在云监控态势与感知中直接获取木马文件相关进程name,id以及路径如下:
文件路径: /opt/apache-tomcat-7.0.104/bin/shell1.elf
恶意文件md5: 91cc7f105856a0e9eb6a29ef3d08d9ce
进程id: 27504

如果是物理机需要仔细去终端排查;

  1. top  #仔细检查异常进程pid
  2. ls -l /proc/pid/exe  #查看异常进程命令所在路径

严重的时候木马病毒会修改或替换平时常用的系统命令

ps,ls等命令执行无输出则大有可能系统已经变得不可靠了,任何命令的执行都有可能进一步拉起病毒。

首先我们要做的就是恢复一些我们常用的用来排查的工具,比如,ls,ps,netstat,lsof等命令。

chattr -i -a /bin/ps && rm /bin/ps -f    #删除这些可能被感染的命令,比如ps,ls,netstat,lsof,top等。可以通过ls -lh /bin/ps 查看这些命令的大小和正常程序是否一致

接下来可以找一个相同操作系统的的ps,ls, netstat,lsof命令,将这些命令复制到被感染的系统中,临时使用。

具体操作流程:
1、杀死进程:
killall .shell.elf
killall .shell1.elf
2、限制脚本执行权限:
chmod 000 .shell.elf
chmod 000 .shell1.elf
3、清空文件内容:
>.shell.elf
>.shell1.elf
4、加锁
chattr +i shell.elf
chattr +i shell1.elf
 #有时候杀掉这个进程之后发现根本不管用,过一会儿又从/usr/bin/转移到/bin,再又转移到/tmp.这个时候必须注意倒病毒后台有监控进程,进程死掉了之后,立马又重新起来一个新的进程。
这个时候要动态查看定时任务日志:

tail /var/log/cron、cat /etc/crontab和crontab  -l
动态日志中发现一个可以脚本定时执行:(root) CMD (/opt/systemd-service.sh > /dev/null 2>&1 &)

于是去到/opt/下发现还隐藏有好几个木马文件,处理方式同上:
[root@localhost opt]# ll
总用量 0
----------. 1 root root 0 10月 13 15:00 70OXQG.sh
----------. 1 root root 0 10月 13 15:00 bffbe
----------. 1 root root 0 10月 13 15:00 ryukd.sh
----------  1 root root 0 10月 13 15:00 systemd-service.sh

[root@localhost opt]# chmod 000 systemd-service.sh 
chmod: 更改"systemd-service.sh" 的权限: 不允许的操作
[root@localhost opt]# chattr -i systemd-service.sh 
[root@localhost opt]# chmod 000 systemd-service.sh 
[root@localhost opt]# >systemd-service.sh 
[root@localhost opt]# chattr +i systemd-service.sh 
[root@localhost opt]# lsattr systemd-service.sh 
----i----------- systemd-service.sh

并且在cat /etc/crontab、crontab -l和/etc/cron.d/下都发现木马文件定时任务的脚本如下,全部注释掉:

#34 * * * * /root/.systemd-service.sh > /dev/null 2>&1 &
#18 * * * * /opt/systemd-service.sh > /dev/null 2>&1 &
#56 * * * * /root/.Lin64.sh > /dev/null 2>&1 &

然后查看系统启动文件rc.local、/etc/init.d还有/tmp目录查看是否有较奇怪的脚本文件,如果有处理方式如上

查看是否有可疑用户,可以对/etc/passwd、/etc/group、/etc/sudoers、/etc/shadow等用户信息文件进行锁定(chattr +ai)
使用iptables或者配置/etc/hosts.deny 和/etc/hosts.allow进行白名单设置

禁ping设置:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

最后修改复杂的密码和ssh端口之后要重启再观察一段时间看看木马是否还存在,我的没再发现,完美解决。

猜你喜欢

转载自blog.csdn.net/Doudou_Mylove/article/details/109053482