Time: 2019-12-25  知识星球

Linux实战之盖茨木马

  0x00 前言

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

  0x01 应急场景

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

等级保护资讯网

  0x02 事件分析

  异常IP连接:

等级保护资讯网

  异常进程:

等级保护资讯网

  查看进行发现ps aux进程异常,进入该目录发现多个命令,猜测命令可能已被替换登录服务器,查看系统进程状态,发现不规则命名的异常进程、异常下载进程 :

  异常启动项

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

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

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

等级保护资讯网

  搜索病毒原体

等级保护资讯网

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

等级保护资讯网

  从以上种种行为发现该病毒与“盖茨木马”有点类似,具体技术分析细节详见:

  Linux平台“盖茨木马”分析

    www.freebuf.com/articles/system/117823.html

  悬镜服务器卫士丨Linux平台“盖茨木马”分析

    www.sohu.com/a/117926079_515168

  手动清除木马过程:

  1、简单判断有无木马

  #有无下列文件

  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、删除含木马命令并重新安装

  0x03命令替换

  RPM check检查:

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

  ./rpm -Va > rpm.log

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

等级保护资讯网

  命令替换:

  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/

等级保护资讯网

版权归作者所有,转载仅为了传递更多信息,如有侵权请联系删除。

18933931888

工作时间:法定工作日,9:00~18:00

广州万方计算机科技有限公司 ©版权所有 2019-2020 粤ICP备08124637号

本站文章内容部分来源于网络转载,版权归作者所有。文章内容仅代表作者独立观点,不代表本站立场,转载目的在于传递更多信息。如有侵权,请联系删除。