文章总结: 本文档详细介绍了Linux服务器遭遇病毒或恶意软件时的应急响应标准化流程,包括初步识别异常现象、现场保护与证据固定、威胁排查与定位、遏制清除、系统恢复加固以及事件总结报告。提供了大量实用命令如ps、netstat、find、crontab等用于排查恶意进程、网络连接、可疑文件、定时任务和用户账户。强调先备份再清除,并建议修复漏洞、加固SSH、配置防火墙、安装监控工具。可操作性强,适合安全运维人员参考。 综合评分: 79 文章分类: 应急响应,恶意软件,安全运营,漏洞分析,安全意识
Linux 病毒应急响应方案
灰帽大于 灰帽大于
灰帽大于
2026年7月5日 21:19 河北
在小说阅读器读本章
去阅读
一、应急响应概述
当 Linux 服务器出现异常行为(CPU/内存异常、可疑进程、网络连接异常等)时,需要按照标准化流程进行应急处置,快速定位问题、遏制影响、恢复服务并留存证据。
二、应急响应流程
1. 初步识别与研判
1.1 异常现象确认
- 系统负载异常升高(
top、htop) - 可疑进程占用资源
- 异常网络连接
- 文件被篡改或删除
- 定时任务异常
- 用户账户异常登录
1.2 初步排查命令
# 查看系统负载和进程
top-c
ps auxf
# 查看网络连接
netstat -antlp
ss -antlp
# 查看登录用户
w
last
lastb # 失败登录记录
# 查看定时任务
crontab -l
cat /etc/crontab
ls-la /etc/cron.d/
ls-la /var/spool/cron/
# 查看开机启动项
systemctl list-unit-files --type=service | grep enabled
chkconfig --list # CentOS 6
2. 现场保护与证据固定
2.1 立即执行
- ✅ 记录当前时间:
date - ✅ 保存进程信息:
ps auxf > /tmp/ps_info.txt - ✅ 保存网络连接:
netstat -antlp > /tmp/net_info.txt - ✅ 保存登录记录:
last > /tmp/last_info.txt - ✅ 对可疑文件进行备份(勿删除)
2.2 系统快照(如有条件)
# 虚拟机快照
# 或使用 LiME 进行内存取证(需提前准备)
insmod lime.ko "path=/tmp/mem.lime format=lime"
2.3 重要文件备份
# 备份关键系统文件
tar -czvf /tmp/system_backup_$(date +%Y%m%d_%H%M%S).tar.gz \
/etc/passwd /etc/shadow /etc/sudoers \
/etc/ssh/sshd_config /etc/crontab /var/spool/cron/ \
/etc/init.d/ /etc/systemd/ /etc/rc.local
3. 威胁排查与定位
3.1 恶意进程排查
# 查看所有进程及其命令行参数
ps auxf
ps-eo pid,user,args --forest
# 查看进程打开的文件
lsof -p <PID>
# 查看进程的可执行文件路径
ls-l /proc/<PID>/exe
ls-l /proc/<PID>/cwd # 工作目录
ls-l /proc/<PID>/fd # 文件描述符
# 查看隐藏进程(对比 /proc 和 ps 输出)
ls /proc | grep-E'^[0-9]+$' | sort > /tmp/proc_pids.txt
ps-eo pid | tail -n+2 | sort > /tmp/ps_pids.txt
diff /tmp/proc_pids.txt /tmp/ps_pids.txt
3.2 网络连接排查
# 查看所有网络连接
netstat -antlp
ss -antlp
# 查看进程监听端口
lsof -i
# 查看特定端口的进程
lsof -i :<PORT>
netstat -antlp | grep <PORT>
# 检查可疑外连
netstat -antlp | grep ESTABLISHED
3.3 可疑文件排查
# 查找最近修改的文件
find / -type f -mtime-7-ls2>/dev/null
# 查找最近24小时内创建的文件
find / -type f -ctime-1-ls2>/dev/null
# 查找 SUID/SGID 文件(提权后门)
find / -perm-4000-type f -ls2>/dev/null
find / -perm-2000-type f -ls2>/dev/null
# 查找隐藏文件
find / -name".*"-type f 2>/dev/null
# 查找可疑脚本
find / \( -name"*.sh"-o-name"*.py"-o-name"*.pl"-o-name"*.php" \) \
-mtime-30-ls2>/dev/null
# 检查常见 Webshell 目录
find /var/www /home -type f -name"*.php"-mtime-72>/dev/null
3.4 定时任务排查
# 用户定时任务
for user in$(cut -f1 -d: /etc/passwd); do
echo"=== $user ==="
crontab -u$user-l2>/dev/null
done
# 系统定时任务
cat /etc/crontab
ls-la /etc/cron.d/
ls-la /etc/cron.daily/
ls-la /etc/cron.hourly/
ls-la /etc/cron.monthly/
ls-la /etc/cron.weekly/
ls-la /var/spool/cron/
# 检查 anacron
cat /etc/anacrontab
3.5 启动项排查
# Systemd 服务
systemctl list-unit-files --type=service--state=enabled
ls-la /etc/systemd/system/
ls-la /lib/systemd/system/
# Init.d 脚本
ls-la /etc/init.d/
# RC 本地启动
cat /etc/rc.local
ls-la /etc/rc.d/
# 用户自启动项
ls-la ~/.config/autostart/
ls-la /home/*/.config/autostart/
3.6 用户账户排查
# 检查特权用户
awk-F: '$3==0 {print $1}' /etc/passwd
# 检查有密码的用户
awk-F: '($2!="" && $2!="x") {print $1}' /etc/shadow
# 检查 sudo 权限
cat /etc/sudoers
ls-la /etc/sudoers.d/
# 检查 SSH 密钥
ls-la /root/.ssh/
cat /root/.ssh/authorized_keys
ls-la /home/*/.ssh/
cat /home/*/.ssh/authorized_keys 2>/dev/null
# 检查可疑账户
cat /etc/passwd | grep-v nologin | grep-vfalse
3.7 日志分析
# 系统日志
tail -100 /var/log/messages
tail -100 /var/log/syslog
# 安全日志(登录、sudo等)
tail -500 /var/log/secure # RHEL/CentOS
tail -500 /var/log/auth.log # Debian/Ubuntu
# SSH 日志
grep-i"failed\|accepted\|invalid" /var/log/secure
grep-i"failed\|accepted\|invalid" /var/log/auth.log
# 用户命令历史
cat ~/.bash_history
cat /home/*/.bash_history 2>/dev/null
# Web 服务器日志(如有)
tail -500 /var/log/nginx/access.log
tail -500 /var/log/apache2/access.log
grep-i"eval\|base64\|exec\|shell" /var/log/nginx/access.log
4. 威胁遏制与清除
4.1 隔离网络(视情况)
# 禁用网络接口
ifconfig eth0 down
# 或
ip link set eth0 down
# 配置防火墙阻断外连
iptables -A OUTPUT -d <恶意IP> -j DROP
iptables -A OUTPUT -p tcp --dport <恶意端口> -j DROP
# 保存防火墙规则
iptables-save > /tmp/iptables_backup.rules
4.2 终止恶意进程
# 终止进程
kill-9 <PID>
# 终止进程树
kill-9-$(ps -o pgid= -p <PID> | tr -d ' ')
# 防止进程重启(检查定时任务、启动项)
4.3 删除恶意文件
# 先备份可疑文件(用于后续分析)
mkdir-p /tmp/malware_backup
cp <可疑文件> /tmp/malware_backup/
# 计算文件哈希(用于威胁情报查询)
md5sum <可疑文件>
sha256sum <可疑文件>
# 删除恶意文件
rm-f <恶意文件路径>
# 删除恶意定时任务
crontab -e # 编辑删除
rm-f /etc/cron.d/<恶意任务文件>
# 删除恶意启动项
systemctl disable <恶意服务>
rm-f /etc/systemd/system/<恶意服务>.service
systemctl daemon-reload
# 删除恶意用户
userdel -r <恶意用户名>
4.4 清除后门
# 清除 SSH 后门密钥
vim /root/.ssh/authorized_keys
vim /home/*/.ssh/authorized_keys
# 清除 SUID 后门
chmod u-s <可疑SUID文件>
# 检查并清除内核模块后门
lsmod | grep <可疑模块名>
rmmod <可疑模块名>
5. 系统恢复与加固
5.1 修复漏洞
- 更新系统和软件包:
yum update/apt update && apt upgrade - 修复被利用的漏洞点(Web应用、弱密码等)
- 检查并关闭不必要的服务和端口
5.2 加固措施
# SSH 加固
vim /etc/ssh/sshd_config
# PermitRootLogin no
# PasswordAuthentication no
# Port <非默认端口>
# 配置防火墙白名单
iptables -A INPUT -s <信任IP> -j ACCEPT
iptables -A INPUT -j DROP
# 禁用不必要的服务
systemctl disable <服务名>
# 安装入侵检测工具(可选)
yum install -y rkhunter chkrootkit
rkhunter --check
chkrootkit
5.3 密码重置
- 重置所有可能泄露的密码
- 重置 SSH 密钥
- 重置数据库密码
5.4 监控与告警
# 安装监控工具
yum install -y aide # 文件完整性监控
aide --init
aide --check
# 配置日志监控
# 考虑部署 ELK、Wazuh 等 SIEM 系统
6. 事件总结与报告
6.1 事件报告内容
- 事件概述:发现时间、发现方式、影响范围
- 攻击时间线:入侵时间、攻击者行为、持续时间
- 攻击手段:利用的漏洞、植入的后门、持久化方式
- 影响评估:受影响系统、数据泄露情况、业务影响
- 处置措施:遏制措施、清除措施、加固措施
- 改进建议:预防措施、监控改进、流程优化
6.2 威胁情报共享
- 提交恶意文件样本到 VirusTotal、微步在线
- 提交恶意 IP/域名到威胁情报平台
- 内部知识库记录攻击特征
三、常用工具
1. 文件分析
# 文件类型识别
file <文件名>
# 字符串提取
strings <文件名>
# 文件哈希
md5sum <文件名>
sha256sum <文件名>
# 查看文件时间属性
stat <文件名>
2. 网络分析
# 抓包分析
tcpdump -i eth0 -w capture.pcap
tcpdump -i eth0 port <端口>
# 查看流量统计
iftop
nethogs
3. 进程分析
# 进程树
pstree -p
# 进程资源占用
pidstat -p <PID>
# 系统调用跟踪
strace -p <PID>
4. 专业工具
| 工具 | 用途 | | — | — | | Volatility | 内存取证 | | LiME | 内存采集 | | chkrootkit | Rootkit检测 | | rkhunter | Rootkit检测 | | ClamAV | 开源杀毒 | | YARA | 恶意代码识别 | | CrowdStrike | EDR平台 | | Wazuh | SIEM平台 |
📌 声明:本文仅供安全研究与学习使用,请勿用于非法用途。应急响应过程中请遵守相关法律法规,保护用户隐私和数据安全。
#
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:灰帽大于 灰帽大于 灰帽大于《Linux 病毒应急响应方案》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论