当前位置: 首页 > news >正文

记一次盖茨木马应急响应

前言:​

这是一篇两年前的应急响应了,今天拿出来给大家分享一下排查思路

客户阐述

客户说服务器中病毒了,不占用CPU和带宽,但是影响业务;有两拨人去清除过了,但是每次都是没多久就又出来了,形容的比较模糊,当时我的疑问就是,不占用CPU和带宽是怎么影响业务的…可能是我听错了吧

排查过程​

第一眼看的其实还是历史命令,但是发现history记录是0,不知道被谁清掉了;

查看特权用户,发现只有一个root,也就是说只有root用户具备远程登录的性质
在这里插入图片描述

查了一下弱口令,还真就没弱口令,实际上只用了top100看了一下,打法其实就是去etc/shadow 看一下密码,然后摘出来跑一下脚本解密
在这里插入图片描述
除root帐号外,其他帐号是否存在sudo权限
在这里插入图片描述
当时查了一下netstat、top、ps等命令,查看了一下是否有可疑进程、端口等,发现没有,一问才知道,机器断网了,发现的样本给拿掉了,问样本是什么也不说​,藏着掖着的…

查看了一下开机启动的配置文件
在这里插入图片描述

计划任务,并没有什么异常在这里插入图片描述
查看最近7日变动的文件、tmp目录,发现也都没有异常,其实也是有点问题的,但是文件太多了,也就没看,所有的东西权限都有问题

find / -mtime -7 -ls | more

在这里插入图片描述
查看了一下近期登录的用户、ip、都没有问题,直到查看登录失败的日志,发现失败日志有数万条,并且爆破行为很明显,间隔时间极短
在这里插入图片描述

之后就是漫无目的的翻垃圾,直到在
/etc/rc.d/init.d
/etc/rc.d/rc3.d
目录发现了几个异常的文件S97DbSecuritySpt 、S99selinux
在这里插入图片描述
在这里插入图片描述

到此我就明白了,ps_bak 这就是人家发现的异常文件了,原来是PS被替换了然后改了个名字放一边了,根据S97DbSecuritySpt 名字,疑似是盖茨木马

搜索木马文件
find / -size -1223124c -size +1223122c -exec ls -id {} ;
解释一下,其实盖茨木马会修改好几个系统命令,他们的大小其实在1.2MB左右,后续的图会给大家看
在这里插入图片描述

圈出来的,大家也能发现,其实就是人家发现了netstat和ps被替换了,然后给换了个正常的,但是这不又被替换回来了…

而后去相应的目录找了一下
在这里插入图片描述
异常文件大小:
在这里插入图片描述
正常文件大小:
在这里插入图片描述

清除过程

上传如下命令到usr/bin 、 usr/sbin下 (四个命令皆被替换成木马,所以需删除掉安装新的命令)
/usr/sbin/lsof
/usr/sbin/ss
/bin/netstat
/bin/ps

删除如下目录及文件
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

相关文章:

  • 兔老大的系统设计(二)定时系统(延时队列)
  • STM32cubeMX详细教学及多个小项目合集(包含RTOS)
  • 车联网白皮书(2021.12)中国信息通信研究院
  • 【中秋征文】使用Python中秋节嫦娥投食小游戏《千里婵娟》
  • OSI网络七层模型和TCP/IP模型
  • 猿创征文|Linux环境Redis部署及最佳实践
  • 猿创征文|C++来时路 _ 重温经典之C++类和对象 | 三大特性之一 - 封装 | 腾讯面试题
  • VueJS面试常见的300道题(英文版)
  • CREO:CREO软件之零件【渲染】之对三维零件实现渲染图文教程之详细攻略
  • Java数据结构之数组的增删改查
  • 函数栈桢原理
  • JSP面试题(重要)
  • 华为FreeBuds pro2大风场景下降噪差原因
  • 网课搜题接口对接教程
  • ORM基本操作
  • [译] React v16.8: 含有Hooks的版本
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CSS3 变换
  • CSS居中完全指南——构建CSS居中决策树
  • hadoop集群管理系统搭建规划说明
  • Theano - 导数
  • 警报:线上事故之CountDownLatch的威力
  • 开源地图数据可视化库——mapnik
  • 利用DataURL技术在网页上显示图片
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 推荐一个React的管理后台框架
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 译米田引理
  • 最近的计划
  • Mac 上flink的安装与启动
  • ​configparser --- 配置文件解析器​
  • ​Python 3 新特性:类型注解
  • (2022 CVPR) Unbiased Teacher v2
  • (C++)八皇后问题
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (zhuan) 一些RL的文献(及笔记)
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)程序员疫苗:代码注入
  • (转)关于pipe()的详细解析
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .mysql secret在哪_MYSQL基本操作(上)
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET基础篇——反射的奥妙
  • /etc/motd and /etc/issue
  • /proc/stat文件详解(翻译)
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • @Pointcut 使用
  • @PreAuthorize注解
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)