前言:
这是一篇两年前的应急响应了,今天拿出来给大家分享一下排查思路
客户说服务器中病毒了,不占用CPU和带宽,但是影响业务;有两拨人去清除过了,但是每次都是没多久就又出来了,形容的比较模糊,当时我的疑问就是,不占用CPU和带宽是怎么影响业务的…可能是我听错了吧
第一眼看的其实还是历史命令,但是发现history记录是0,不知道被谁清掉了;
查看特权用户,发现只有一个root,也就是说只有root用户具备远程登录的性质
查了一下弱口令,还真就没弱口令,实际上只用了top100看了一下,打法其实就是去etc/shadow 看一下密码,然后摘出来跑一下脚本解密
除root帐号外,其他帐号是否存在sudo权限
当时查了一下netstat、top、ps等命令,查看了一下是否有可疑进程、端口等,发现没有,一问才知道,机器断网了,发现的样本给拿掉了,问样本是什么也不说,藏着掖着的…
查看了一下开机启动的配置文件
计划任务,并没有什么异常
查看最近7日变动的文件、tmp目录,发现也都没有异常,其实也是有点问题的,但是文件太多了,也就没看,所有的东西权限都有问题
find / -mtime -7 -ls | more
查看了一下近期登录的用户、ip、都没有问题,直到查看登录失败的日志,发现失败日志有数万条,并且爆破行为很明显,间隔时间极短
之后就是漫无目的的翻垃圾,直到在
/etc/rc.d/init.d
/etc/rc.d/rc3.d
目录发现了几个异常的文件S97DbSecuritySpt 、S99selinux
到此我就明白了,ps_bak 这就是人家发现的异常文件了,原来是PS被替换了然后改了个名字放一边了,根据S97DbSecuritySpt 名字,疑似是盖茨木马
搜索木马文件
find / -size -1223124c -size +1223122c -exec ls -id {} ;
解释一下,其实盖茨木马会修改好几个系统命令,他们的大小其实在1.2MB左右,后续的图会给大家看
圈出来的,大家也能发现,其实就是人家发现了netstat和ps被替换了,然后给换了个正常的,但是这不又被替换回来了…
而后去相应的目录找了一下
异常文件大小:
正常文件大小:
上传如下命令到usr/bin 、 usr/sbin下 (四个命令皆被替换成木马,所以需删除掉安装新的命令)
/usr/sbin/lsof
/usr/sbin/ss
/bin/netstat
/bin/ps
删除如下目录及文件
rm -rf /usr/bin/dpkgd (ps netstat lsof ss)
rm -rf /usr/bin/bsd-port #木马程序
rm -f /usr/bin/.sshd #木马后门
rm -f /tmp/gates.lod
rm -f /tmp/moni.lod
rm -f /etc/rc.d/init.d/DbSecuritySpt(启动上述描述的那些木马变种程序)
rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt
rm -f /etc/rc.d/init.d/selinux(默认是启动/usr/bin/bsd-port/getty)
rm -f /etc/rc.d/rc1.d/S99selinux
rm -f /etc/rc.d/rc2.d/S99selinux
rm -f /etc/rc.d/rc3.d/S99selinux
rm -f /etc/rc.d/rc4.d/S99selinux
rm -f /etc/rc.d/rc5.d/S99selinux