日历

2017年十二月
« 9月    
 123
45678910
11121314151617
18192021222324
25262728293031

最近评论

    linux企业应用

    WDCP被黑后查杀后门和恶意程序的方法步骤

    1、一台服务器受到攻击,据反映ps、lsof、ss、netstat被置换了,进入系统,执行ps命令,找到如下信息,正常情况下,应该只有第一条,而现在出现了两条,同时第二条也反映了这次入侵的特点,ps、lsof、ss、netstat这四个命令被备份到/usr/bin/dpkgd目录下!
    [root@localhost bin]# ps aux
    root      7941  0.0  0.0   1484   704 pts/2    S+   09:40   0:00 ps aux
    root      7942  0.0  0.0 110256  1144 pts/2    R+   09:40   0:00 /usr/bin/dpkgd/ps aux

    2、通过查看,/bin/ps这个命令文件的大小是1223123字节,通过下面的命令查找系统中同样大小的文件,有如下这些
    [root@localhost rc.d]# find / -size 1223123c
    /usr/bin/bsd-port/getty
    /usr/bin/.sshd
    /usr/sbin/lsof
    /usr/sbin/ss
    /etc/kblockd
    /bin/ps
    /bin/netstat
    find: “/proc/8145/task/8145/fd/5”: 没有那个文件或目录
    find: “/proc/8145/task/8145/fdinfo/5”: 没有那个文件或目录
    find: “/proc/8145/fd/5”: 没有那个文件或目录
    find: “/proc/8145/fdinfo/5”: 没有那个文件或目录

    3、布置一台同样版本的系统。受入侵的系统是Centos6.5,找来一台Centos6.4的系统与6.5的对比,发现命令文件的大小和6.5的不一样,所以需要布置一台和受入侵系统版本一致的对照系统。
    [root@localhost bin]# cd /usr/bin/dpkgd
    ps、lsof、ss、netstat这四个命令的大小如下:
    [root@localhost dpkgd]# ll -h
    总用量 436K
    -rwxr-xr-x 1 root root 143K 12月 24 18:21 lsof
    -rwxr-xr-x 1 root root 126K 12月 24 18:21 netstat
    -rwxr-xr-x 1 root root  86K 12月 24 18:21 ps
    -rwxr-xr-x 1 root root  74K 12月 24 18:21 ss
    [root@localhost dpkgd]# which ps
    /bin/ps
    [root@localhost dpkgd]# which lsof
    /usr/sbin/lsof
    [root@localhost dpkgd]# which netstat
    /bin/netstat
    [root@localhost dpkgd]# which ss
    /usr/sbin/ss

    5、受攻击的服务器产生大量的流量,所以需要安装nethogs网络流量监控工具,以下部分是安装nethogs的步骤
    tar zxf nethogs-0.8.0.tar.gz
    d nethogs
    make && make install
    yum -y install make
    yum -y install gcc gcc-c++
    yum -y install  libpcap-devel
    make
    make install

    6、编译完成后,直接执行nethogs命令,可以看到/etc/kblockd产生了主要的网络流量,值得怀疑,与对照系统进行对比,对照系统下没有这个进程,且/etc/kblockd的大小和ps等4个命令一样,所以怀疑kblocked是主病毒运行程序,ps、lsof、ss、netstat这四个命令是用来打掩护的。
    [root@localhost nethogs]# nethogs
    NetHogs version 0.8.0

    PID USER     PROGRAM                                   DEV        SENT      RECEIVED
    5576  root     /etc/kblockd                              eth0       0.104       0.107 KB/sec
    24019 root     sshd: root@pts/2                          eth0       0.433       0.052 KB/sec
    ?     root     unknown TCP                                          0.000       0.000 KB/sec

    7、杀死并删除/etc/kblockd程序
    [root@localhost nethogs]# kill -9 5576
    [root@localhost nethogs]# rm -f /etc/kblockd
    rm: 无法删除”/etc/kblockd”: 不允许的操作
    [root@localhost nethogs]# lsattr /etc/kblockd
    s—ia——-e- /etc/kblockd
    [root@localhost nethogs]# chattr -ia /etc/kblockd
    [root@localhost nethogs]# lsattr /etc/kblockd
    s————e- /etc/kblockd
    [root@localhost nethogs]# rm -f /etc/kblockd

    8、使用病毒备份的四个文件,替换四个病毒文件
    [root@localhost nethogs]# cd /usr/bin/dpkgd/
    [root@localhost dpkgd]# cp ps /bin/ps
    cp:是否覆盖”/bin/ps”? y
    [root@localhost dpkgd]# cp lsof /usr/sbin/lsof
    cp:是否覆盖”/usr/sbin/lsof”? y
    [root@localhost dpkgd]# cp netstat /bin/netstat
    cp:是否覆盖”/bin/netstat”? y
    [root@localhost dpkgd]# cp ss /usr/sbin/ss
    cp:是否覆盖”/usr/sbin/ss”? y

    9、病毒文件需要开机启动,所以,应该有相应的脚本,使用下面方式进行查找
    [root@localhost ~]# cd /etc/init.d
    [root@localhost init.d]# find ./ -type f -print | xargs grep “/etc/kblockd”
    ./DbSecuritySpt:/etc/kblockd
    [root@localhost init.d]# cat DbSecuritySpt
    #!/bin/bash
    /etc/kblockd
    可以肯定DbSecuritySpt,就是开机启动文件了,删除之。
    顺带查看一下/etc/init.d目录下个文件
    [root@localhost init.d]# ll -rt
    -rwxr-xr-x. 1 root root  25 apr 25 15:05 DbSecuritySpt
    -rwxr-xr-x. 1 root root  36 apr 25 15:05 selinux
    上面的selinux竟让和DbSecuritySpt同时建立的!查看他的内容,可以判断也是病毒启动脚本了。
    [root@localhost init.d]# cat selinux
    #!/bin/bash
    /usr/bin/bsd-port/getty
    [root@localhost init.d]# rm -f DbSecuritySpt
    [root@localhost init.d]# rm -f selinux
    [root@localhost ~]# find /etc -name *DbSecuritySpt
    /etc/rc.d/init.d/DbSecuritySpt
    /etc/rc.d/rc5.d/S97DbSecuritySpt
    /etc/rc.d/rc2.d/S97DbSecuritySpt
    /etc/rc.d/rc4.d/S97DbSecuritySpt
    /etc/rc.d/rc3.d/S97DbSecuritySpt
    /etc/rc.d/rc1.d/S97DbSecuritySpt
    [root@localhost rc.d]# find ./ -name *DbSecuritySpt -exec rm -f {} \;
    [root@localhost rc.d]# find ./ -name *selinux
    [root@localhost rc.d]# find ./ -name *selinux | xargs rm -f
    确认删除完成。
    [root@localhost rc.d]# find ./ -name *DbSecuritySpt
    [root@localhost rc.d]# find ./ -name *selinux

    10、 查找下系统中和病毒大小一致的文件,删除。
    [root@localhost rc.d]# find / -size 1223123c
    /usr/bin/bsd-port/getty
    /usr/bin/.sshd
    find: “/proc/8145/task/8145/fd/5”: 没有那个文件或目录
    find: “/proc/8145/task/8145/fdinfo/5”: 没有那个文件或目录
    find: “/proc/8145/fd/5”: 没有那个文件或目录
    find: “/proc/8145/fdinfo/5”: 没有那个文件或目录
    [root@localhost rc.d]# rm -f /usr/bin/bsd-port/getty
    [root@localhost rc.d]# rm -f /usr/bin/.sshd
    确认没有和病毒大小一样的文件
    [root@localhost rc.d]# find / -size 1223123c

    11、reboot,进入系统执行nethogs,查看带宽占用情况,确认没有问题,就可以了。

    评论已关闭。