安全矩阵

 找回密码
 立即注册
搜索
查看: 900|回复: 0

【实用指南】一次真实的应急响应案例(Ubuntu)事件复现

[复制链接]

252

主题

252

帖子

1309

积分

金牌会员

Rank: 6Rank: 6

积分
1309
发表于 2022-10-15 22:31:54 | 显示全部楼层 |阅读模式
原文链接:【实用指南】一次真实的应急响应案例(Ubuntu)事件复现



前言概述

Linux环境下处理应急响应事件相比于Windows往往会更加的棘手。这篇文章将会对Linux环境下的应急响应流程进行讲解,并且提供每一个环节中所用到的shell命令,以帮助大家快速、系统化地处理Linux环境下的病毒。处理Linux应急响应主要分为这4个环节:识别现象-> 清除病毒-> 闭环兜底-> 系统加固。(附流程图)


前言概述
根据客户反馈:实验室因耗电量太大经常跳闸,服务器疑似被挖矿。然后我们需要通过系统运行状态、安全设备告警去发现主机的异常现象,以及确认病毒的可疑行为。
1.1排查alias异常别名
这里有一个小技巧,首先通过命令alias查看是否存在异常别名,结果发现服务器多了很多别名,且常用别名被修改成了print ""(输出为空),这样就能迷惑运维工程师。
编辑
此时,我们需要将修改后的所有别名取消,删除别名的命令:unalias,如果你想删除所有的别名,直接使用 unalias -a即可,只不过要谨慎使用,避免你设置的所有的别名一下子都被清除了,自己还得一个一个重新设置回来
编辑
这里有个小提示:别名可能被永久修改(意思就是每次重启服务器,别名都被修改一遍),所以为了防止这种情况,所以我们要一次解决到位,去进一步查看是否存在这种情况!
  1. <code>永久修改别名的文件在:
  2. </code><code>/home/用户名/.bashrc
  3. </code><code>/root/.bashrc</code><code>
  4. /etc/.bashrc针对所有用户生效
  5. </code><code>~/.bashrc是针对当前用户生效</code>
复制代码


编辑
通过查看别名修改文件位置发现确实存在这种情况,所以,我们要删除清理被修改的别名文件。以后再次重启服务器,别名就不会再出现了
删除别名文件
  1. <code>rm -rf /usr/.SQL-Unix/.SQL/.db</code><code>
  2. rm -rf /var/tmp/.SQL-Unix/.SQL/.db</code><code>
  3. 删除/root/.bashrc、 /home/zyr/.bashrc文件
  4. </code><code>rm -rf /usr/.SQL-Unix/.SQL/.db
  5. </code><code>rm -rf /var/tmp/.SQL-Unix/.SQL/.db</code>
复制代码


1.2系统、进程等是否异常
  •         使用命令top枚举进程,CPU降序排序(查看服务器cpu使用率发现 cpu使用率没有特别高的,接近或者超过100%的进程)
  •         如果看到了可疑进程,可以使用lsof -p pid 查看进程打开的文件,或查看/proc/pid/exe 指向的文件。
  •         使用pa -aux枚举进程命令行(病毒一般都携带可疑的命令行,当你发现命令行中带有url等奇怪的字符串时,就要注意了,它很可能是个病毒)
  •         使用nvidia -smi查看服务器gpu使用率,查看gpu使用率有没有特别高的。(该命令只能在真实服务器使用,虚拟机中不可使用)
  •         安全网关有无告警,从安全网关报警识别出威胁是最直接的!!

在这次事件中,虽然gpu和cpu都显示没有异常,但是在态势感知上一直显示该服务器与矿池域名进行通信,并且经常因为用电过高跳闸,说明该服务器确实含有挖矿病毒,但是病毒进程被隐藏!!!
编辑
二、清楚病毒
2.1恶意病毒定位
挖矿病毒一般都会有定时任务,为了防止服务器关闭之后或者病毒程序被杀掉进程之后,挖矿病毒不再运行,所以接下来我们去查看一下服务器上的定时任务:sudo crontab -l,发现一个未知文件,查看内容发现一个.可疑域名:eth-asia1.nanopool.org
编辑
经过微步识别,确认是一个矿池域名
编辑
使用命令stat 文件名查看文件的创建时间,进行时间范围定位;然后再查看另一个定时文件:placi,发现该文件与文件.b4nd1d0创建时间相同,存在一定联系!
编辑
2.2清理病毒和定时任务
  1. <code>删除病毒文件</code><code>
  2. rm -rf .b4nd1d0
  3. </code><code>rm -rf placi</code>

  4. <code>sudo rm -rf root</code><code>
  5. sudo rm -rf zyr</code>
复制代码



三、闭环兜底
Linux下的病毒持久化驻留方式相比于Windows较少,主要以4种方式:定时任务、服务、系统文件劫持、守护进程。
3.1检查定时任务是否清理干净
使用命令reboot重启服务检查病毒是否清理干净,因为有的病毒会更改启动项,进行后门自启。重启服务器之后,检查 /var/spool/cron/crontab 目录正常,没有病毒的痕迹
编辑
3.2是否存在SSH后门
使用命令:netstat -anpt排查是否存在ssh软链接后门,经过探测没有发现可疑端口和用户
编辑
3.3是否存在后门账号
  •         使用命令:awk -F: '$3==0 {print$1}' /etc/passwd发现新增加了一个超级账户:sclipicibosu
  •         使用命令:awk '/\$1|\$6/{print $1}' /etc/shadow发现同一个可远程登录的账号:sclipicibosu

  1. <li><pre><code>删除后门账号</code></pre></li><li><pre><code><code>sudo userdel -rf sclipicibosu #强制删除该账户以及/home/sclipicibosu</code><code></code></code></pre></li><li><pre><code><code><code>加上-r可以删除/home/路径下的用户文件夹,否则不能</code></code></code></pre></li>
复制代码


  •         3.4查看是否有SSH公钥后门


首先查看 /home/目录下的账户,发现只有一个zyr,查看ssh的公钥文件的最近更改时间与挖矿时间按事件相同,确实存在ssh公钥后门!!!
编辑
  1. <code>删除公钥后门
  2. </code><code>rm -f authorized_keys</code>
复制代码


3.5后门检测工具推荐
  •         Chkrootkit是一种Linux后门入侵检测工具,可以用来检测rootkit后门的工具,可以很好的检测到rootkit程序。

  1. <li><pre><code>wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.</code></pre></li><li><pre><code>tar.gz</code><code>tar zxvf chkrootkit.tar.gz</code><code></code></pre></li><li><pre><code><code>cd chkrootkit-0.52</code><code></code></code></pre></li><li><pre><code><code><code>make sense</code>
  2. <code>./chkrootkit</code></code></code></pre></li>
复制代码


  •         rkhunter是Linux系统平台下的一款开源入侵检测工具,具有非常全面的扫描范围,除了能够检测各种已知的rootkit特征码以外,还支持端口扫描、常用程序文件的变动情况检查。

  1. <li><pre><code>Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz</code><code></code></pre></li><li><pre><code><code>tar -zxvf rkhunter-1.4.4.tar.gz</code><code></code></code></pre></li><li><pre><code><code><code>cd rkhunter-1.4.4</code><code>./installer.sh --install</code><code></code></code></code></pre></li><li><pre><code><code><code><code>rkhunter -c</code></code></code></code></pre></li>
复制代码



四、系统加固
4.1溯源分析
根据文件创建时间推测入侵事件为2022-02-15,然后去/var/log排查安全日志,通过以下一些命令再结合用户的登录情况和文件创建事件,总结分析:服务器是被ssh爆破出wxiaoge、zyr账户之后入侵并植入挖矿病毒与ssh公钥后门。
  1. <code>统计登录失败的记录命令</code><code>
  2. grep -o "Failed password" /var/log/auth* |uniq -c</code>
  3. <code>查询被爆破的用户名都有哪些以及被爆破的次数
  4. </code><code>grep "Failed password" /var/log/auth*|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr</code>
  5. <code>查询用户最近登录情况</code><code>
  6. grep "Accepted " /var/log/auth* | awk '{print $1,$2,$3,$9,$11}'</code>
  7. <code>查看 xxx账户的爆破时间段
  8. </code><code>grep  "Failed password" /var/log/auth*|grep xxx账号</code>
复制代码


4.2防护检查
Linux平台下90%的病毒是通过网络传播感染的,大部分原因也是因为Web安全防护不够。Linux平台下的恶意软件威胁以僵尸网络蠕虫和挖矿病毒为主,由于Linux大多作为服务器暴露在公网,且Web应用的漏洞层出不穷,所以很容易被大范围入侵。
  •         修改ssh弱口令
  •         添加命令审计(为历史的命令增加登录的IP地址、执行命令时间等信息)
  •         及时打补丁

(本文参考:深信服EDR (sangfor.com.cn)和W小哥1的博客-CSDN博客_应急响应案例)
  1. <code class="hljs">https://wxiaoge.blog.csdn.net/article/details/122946491</code>
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 10:42 , Processed in 0.014289 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表