刚入职一家公司,突然一台直接扔到公网的开发测试机,出现output流量暴增300M+,直接导致服务器负载飙高,IDC的cacti监控报告了流量异常问题,下面是排查过程:
1、vim /root/.bash_history # 查看root用户操作命令记录文件,任何信息没有,被清楚
2、vim /var/log/secure # 查看登录日志,发现好多登录失败尝试记录,估计肯定不破解了
3、ps netstat 等命令查看 无任何问题
任何信息都没有,都被掩盖,突然想到,搜索整个系统在最近的修改过的文件
1、find / -mmin -12 | egerp -v ‘proc|module‘ >> film.txt
看看最近被修改的文件,发现两个可以启动,为什么呢?
因为selinux服务器上大多数都是被关闭,在问题时间内被启动肯定可以,还有DbSecuritySpt陌生程序启动,肯定有问题,顺着着两个问题向下查找/etc/rc.d目录。
还有重大发现就是很多查看命令如:ps ss netstat lsof等在最近都被改动过,怀疑现在所使用的命令已经被更换修改了,一会使用find命令搜索一下,系统中是否还有这些命令。
2、使用find命令去扫描/etc/rc.d目录下有多少目录包含这两个程序的启动信息
3、使用ll -rt命令先去/etc/rc.d/rc3.d目录下看一下,最近被修改的文件
4、查看一下这两个在/etc/init.d目录下的启动脚本里边的内容
在这里发现了两个可以文件unama与getty
5、上边已经提的,很多查看命令被修改过,所以现在查一下
搜索一个命令看一下,发现在/usr/bin/dpkgd下还有这个命令
6、查看一下这些命令的修改时间,说明在12月02号就被入侵,并且修改了系统参数。
初步估计这些在dpkgd下的命令才是系统原来的,而现在在/bin下的那些命令已经被修改过,估计功能就是,预防运维人员使用这些命令查看时,可以掩盖木马病毒的信息,那么解决方法就是,把dpkgd下的命令覆盖还原
到这里,差不多关联能找到的基本都找到了,下面做的就是删除、覆盖操作
1、先把命令替换回去,下面给出我操作的例题
which ss # 查看ss命令路径
mv /usr/sbin/ss /usr/sbin/ss.Trojans # 备份标注/usr/sbin/ss 被感染的命令
cp -rfp /usr/bin/dpkgd/ss /usr/sbin # 把备份的命令拷贝到 /usr/sbin下
2、删除(其中rc1.d---rc5.d下的都要删除)
rm -rf /etc/rc.d/rc2.d/S97DbSecuritySpt
rm -rf /etc/rc.d/rc2.d/S99selinux
rm -rf /etc/rc.d/init.d/DbSecuritySpt
rm -rf /etc/rc.d/init.d/selinux
rm -rf /usr/bin/bsd-port
rm -rf /bin/unama 病毒啊
重启服务器,再次查看