导语:在最近的一次给用户做服务器系统安全检测的过程中发现一台服务器,频繁向外发包,网页打开缓慢,上服务器提取了样本的情况分析如下:

在最近的一次给用户做服务器系统安全检测的过程中发现一台服务器,频繁向外发包,网页打开缓慢,上服务器提取了样本的情况分析如下:

1. 样本基本信息

1485261179429668.png

2. 样本概述

样本解密数据用以配置,安装各种不同的启动项,远程连接ip:www.linux#cc:6001(由于文件路径不同所连接的端口不一样,但是ip不变)。生成不同路径下的副本来执行守护,过滤等,释放ss.netstat等执行过滤病毒,木马端口信息。根据返回信息实施各种不同的类型的DDOS攻击。

3. 样本详细行为

1) 样本解密字符串,根据揭秘后的数据配置样本有的功能。是否安装自启动,是否执行后门行为,配置远程服务器ip 等。

1485261221291086.png

第一数据解密后的全局变量

1485261245267227.png

第二数据解密后的全局变量

2) 根据当前路径设置执行不同功能的g_iGatesType的值。

1485261311843105.png

g_iGatesType  =  0                                  /usr/bin/.sshd
g_iGatesType  =  1  其他路径
g_iGatesType  =  2   /usr/bin/bsd-port/getty
g_iGatesType  =  3 aBinNetstat     ; "/bin/netstat"
       aBinLsof        ; "/bin/lsof"
       aBinPs          ; "/bin/ps"
      aBinSs          ; "/bin/ss"
        aUsrBinNetstat  ; "/usr/bin/netstat"
                                      aUsrBinLsof     ; "/usr/bin/lsof"
                                      aUsrBinPs       ; "/usr/bin/ps"
                                      aUsrBinSs       ; "/usr/bin/ss"
                                       aUsrSbinNetstat ; "/usr/sbin/netstat"
                                      aUsrSbinLsof    ; "/usr/sbin/lsof"
                                      aUsrSbinPs      ; "/usr/sbin/ps"
                                      aUsrSbinSs      ; "/usr/sbin/ss"

3) 根据g_iGatesType的值执行不同功能。

(1) 当g_iGatesType  ==  0,执行MainMonitor功能;

创建子进程向/tmp/moni.lod文件写入.sshd进程号。读取/tmp/notify.file文件数据,并删除/tmp/notify.file文件,线程循环挂起1分钟。

1485261403803571.png

MainMonitor功能

(2) 当g_iGatesType  ==  1,执行MainBeikong功能;

1.结束/tmp/moni.lod 进程,结束/tmp/bill.lock进程并删除。

2.根据配置数据的值,创建自启动项/etc/init.d/DbSecuritySpt,并写入

“#!/bin/bashn(filefullname)n”(filefullname为当前进程的全路径),创建自启动项

/etc/rc(1-5).d/S97DbSecuritySpt,写入数据“#!/bin/bashn(filefullname)n”(filefullname为当前进程的全路径)。

3.判断当前的g_iDoBackdoor的值和当前进程是否root用户创建,如果均合乎要求,则结束进程/usr/bin/bsd-port/getty.lock,结束进程/usr/bin/bsd-port/udevd.lock并删除,但由于2文件均不是elf可执行文件,这里的代码只是单纯地删除/usr/bin/bsd-port/udevd.lock文件。system shell命令执行拷贝进程文件于/usr/bin/bsd-port/getty。

4.判断时候当前进程是root执行的程序,如果是则system shell命令执行拷贝进程文件于/usr/bin/.sshd。

5.如果不是root用户执行的程序,则删除/tmp/notify.file.

6.执行MainProcess(),删除当前进程目录下的update_temporary文件。初始化dns配置,在/etc/resolv.conf添加dns源8.8.8.8和8.8.4.4。初始化配置信息(conf.n),初始化命令数据(cmd.n文件),初始化基本信息(包括系统,cpu信息,cpu使用信息,net使用信息,内存信息,磁盘信息),初始化330个DNS地址,获取进程路径下的xpacket.ko驱动文件并加载。读取/usr/lib/libamplify.so文件配置amp资源数据。根据初始化的数据,连接远程地址ip:www.linux#cc:54182,发送本机信息等,根据返回数据报配置攻击。

1485261465569239.png

MainProcess功能

1485261514470430.png

根据返回包的中数据,发起不同种攻击

(3) 当g_iGatesType  ==  2,执行 MainBackdoor功能

创建子进程,判断/usr/bin/bsd-port/getty.lock文件是否存在,如果存在创建/etc/init.d/selinux和/etc/rc(1-5).d/S99selinux启动项文件, 写入数据“#!/bin/bashn(filefullname)n”(filefullname为当前进程的全路径),在/usr/bin/dpkgd/目录下生成netstat,lsof,ps,ss文件设置文件为0755文件属性,而且执行了MainProcess()(功能同上一个一样)。

1485261581664861.png

Mainbackdoor功能

(4) 当 g_iGatesType  ==  3,执行 MainSystool 功能调用/usr/bin/dpkgd/下的netstat,lsof,ps,ss程序,过滤掉样本目录进程目录,服务端通信端口输出。

1485261640878698.png

4. 总结

样本设置各种自启动,创建中路径下的子副本以实施各种不同的功能,过滤输出阻断分析远程连接服务器,完成发出各种攻击。

源链接

Hacking more

...