0
点赞
收藏
分享

微信扫一扫

linux-应急响应-盖茨木MA

0x00 前言

Linux盖茨木ma是一类有着丰富历史,隐藏手法巧妙,网络入侵行为显著的DDoS,主要恶意特点是具备了后门程序,DDoS入侵的能力,并且会替换常用的系统文件进行伪装。得名于其在变量函数的命名中,大量使用Gates这个单词。分析和清除盖茨的过程,可以发现有很多值得去学习和借鉴的地方。

0x01 应急场景

某天,网站管理员发现服务器CPU资源异常,几个异常进程占用大量网络带宽:

linux-应急响应-盖茨木MA_linux

0x02 事件分析

异常IP连接:

linux-应急响应-盖茨木MA_linux_02

异常进程:

查看进行发现ps aux进程异常,进入该目录发现多个命令,猜测命令可能已被替换

登录服务器,查看系统进程状态,发现不规则命名的异常进程、异常下载进程 :

linux-应急响应-盖茨木MA_盖茨_03

异常启动项

进入rc3.d目录可以发现多个异常进行

/etc/rc.d/rc3.d/S97DbSecuritySpt

/etc/rc.d/rc3.d/S99selinux

linux-应急响应-盖茨木MA_盖茨_04

linux-应急响应-盖茨木MA_盖茨_05

搜索bd原体

find / -size -1223124c -size +1223122c -exec ls -id {} \; 搜索1223123大小的文件

linux-应急响应-盖茨木MA_linux_06

从以上种种行为发现该与“盖茨”有点类似,具体技术分析细节详见其他文章分析。

1、简单判断有无木ma

#有无下列文件  

cat /etc/rc.d/init.d/selinux  

cat /etc/rc.d/init.d/DbSecuritySpt  

ls /usr/bin/bsd-port  

ls /usr/bin/dpkgd  

#查看大小是否正常  

ls -lh /bin/netstat  

ls -lh /bin/ps  

ls -lh /usr/sbin/lsof  

ls -lh /usr/sbin/ss  

2、上传如下命令到/root下  

ps netstat ss lsof 

3、删除如下目录及文件  

rm -rf /usr/bin/dpkgd (ps netstat lsof ss)  

rm -rf /usr/bin/bsd-port     #程序  

rm -f /usr/bin/.sshd         #后门  

rm -f /tmp/gates.lod  

rm -f /tmp/moni.lod  

rm -f /etc/rc.d/init.d/DbSecuritySpt(启动上述描述的那些变种程序)  

rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt  

rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt  

rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt  

rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt  

rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt  

rm -f /etc/rc.d/init.d/selinux(默认是启动/usr/bin/bsd-port/getty)  

rm -f /etc/rc.d/rc1.d/S99selinux  

rm -f /etc/rc.d/rc2.d/S99selinux  

rm -f /etc/rc.d/rc3.d/S99selinux  

rm -f /etc/rc.d/rc4.d/S99selinux 

rm -f /etc/rc.d/rc5.d/S99selinux  

4、找出异常程序并杀死  

5、删除含木ma命令并重新安装 

RPM check检查:

系统完整性也可以通过rpm自带的-Va来校验检查所有的rpm软件包,有哪些被篡改了,防止rpm也被替换,上传一个安全干净稳定版本rpm二进制到服务器上进行检查 ./rpm -Va > rpm.log  

如果一切均校验正常将不会产生任何输出。如果有不一致的地方,就会显示出来。输出格式是8位长字符串, ``c 用以指配置文件, 接着是文件名. 8位字符的每一个 用以表示文件与RPM数据库中一种属性的比较结果 。``. (点) 表示测试通过。.下面的字符表示对RPM软件包进行的某种测试失败: 

linux-应急响应-盖茨木MA_文件名_07

命令替换:

rpm2cpio 包全名 |  cpio -idv .文件绝对路径   rpm包中文件提取  

Rpm2cpio  将rpm包转换为cpio格式的命令  

Cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件  

Cpio 选项 < [文件|设备]  

-i:copy-in模式,还原  

-d:还原时自动新建目录  

-v:显示还原过程  

文件提取还原案例:

rpm  -qf /bin/ls  查询ls命令属于哪个软件包  

mv  /bin/ls /tmp    

rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls 提取rpm包中ls命

令到当前目录的/bin/ls下  

cp /root/bin/ls  /bin/ 把ls命令复制到/bin/目录 修复文件丢失  

挂载命令rpm包:  

mkdir  /mnt/chrom/  建立挂载点  

mount -t iso9660 /dev/cdrom  /mnt/cdrom/  挂在光盘  

mount/dev/sr0 /mnt/cdrom/  

卸载命令  

umount  设备文件名或挂载点  

umount /mnt/cdrom/ 

linux-应急响应-盖茨木MA_盖茨_08

举报

相关推荐

0 条评论