刚入职一家公司,突然一台直接扔到公网的开发测试机,出现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命令搜索一下,系统中是否还有这些命令。

wKiom1ZxNqTCFdhRAAEjQ-uOCQQ332.jpg


2、使用find命令去扫描/etc/rc.d目录下有多少目录包含这两个程序的启动信息

wKioL1ZxMwLSWKWTAAGxVvs3sZ8293.jpg

3、使用ll -rt命令先去/etc/rc.d/rc3.d目录下看一下,最近被修改的文件

wKiom1ZxNEWw77oiAAIB_3atsjU866.jpg


4、查看一下这两个在/etc/init.d目录下的启动脚本里边的内容

在这里发现了两个可以文件unama与getty


wKioL1ZxNPHigRi6AAECKRBQ44k534.jpg

wKioL1ZxQIyhpUOwAACWUYsK3BI983.jpg

5、上边已经提的,很多查看命令被修改过,所以现在查一下

搜索一个命令看一下,发现在/usr/bin/dpkgd下还有这个命令

wKioL1ZxOBOC4J1zAABhVzDkT8I782.jpg


6、查看一下这些命令的修改时间,说明在12月02号就被***,并且修改了系统参数。

初步估计这些在dpkgd下的命令才是系统原来的,而现在在/bin下的那些命令已经被修改过,估计功能就是,预防运维人员使用这些命令查看时,可以掩盖***病毒的信息,那么解决方法就是,把dpkgd下的命令覆盖还原


wKiom1ZxOQiRSZ7pAAFvMMR1KNI170.jpg


7、再到/usr/bin   /bin等目录下使用 ll -art命令查看一下最近被修改的文件,主要去命令所在目录查看一些伪装命令。自从我使用ll -art发现最近伪装的命令后,我不嫌其烦的去查看了 好多目录。 

注:这里边有的日期对不上,是因为第一次处理删除没太在意,没想到死灰复燃了,然后第二次好好的排查了一下,发现还有很多问题。

wKioL1Z4E4eALPCNAAFLxHNyD3o834.jpg


并且注意,moni.lod等等里面存的都是pid,使用正常的ps命令按里边的pid搜一下,发现都是伪装的命令进程,如下

# cat moni.lod 

11526

# ps -ef | grep 11526

root     11526     1  0 Dec17 ?        00:00:00 /usr/bin/.sshd    ***进程

root     11527 11526  0 Dec17 ?        00:00:04 /usr/bin/.sshd

root     15686 15664  0 23:27 pts/0    00:00:00 grep 11526


# cat gates.lod

15692

# ps -ef | grep 15692

root     15692     1  0 Dec21 ?        00:00:00 /bin/unama    ***进程

root     15744 15692  0 Dec21 ?        00:00:00 /bin/unama

root     16087 15777  0 00:08 pts/0    00:00:00 grep 15692


kill -9 15692   15744  11527 11526 

wKioL1Z4FgXi0ZaRAAG142y2znU460.jpg


到这里,差不多关联能找到的基本都找到了,下面做的就是删除、覆盖操作

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下

chattr +i /usr/bin/ss

# lsattr /usr/bin/ss

----i---------- /usr/bin/ss


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   

rm -rf /usr/bin/.sshd

rm -rf /tmp/gates.lod

rm -rf /tmp/moni.lod


# ps aux | grep  getty

# ps aux | grep  unama


重启服务器,再次查看