“服务器被黑了怎么办?”“怎么查入侵路径?”“WebShell怎么查杀?”
这些问题是每个安全从业者都会遇到的。但很多人第一次碰到真实入侵事件时,脑子里一片空白,不知道从哪里下手。
我第一次独立处理入侵事件时,也是手忙脚乱。一会儿查日志,一会儿看进程,东一榔头西一棒子,差点把关键证据搞没了。后来在大大小小几十次应急事件中摸爬滚打,才把整个流程跑顺。
今天我把应急响应的完整流程拆成6个阶段,每个阶段都讲清楚做什么、用什么命令、注意什么坑。不管你是安全运营、想转应急方向,还是只是想了解应急响应,这篇都能帮到你。

⚠️ 注意:应急响应最重要的原则是"先保护现场,再分析"。操作不当可能破坏证据,导致无法溯源。
应急响应全流程总览
1. 入侵发现 → 2. 现场保护 → 3. 入侵分析 → 4. 威胁清除 → 5. 恢复加固 → 6. 报告输出
↓ ↓ ↓ ↓ ↓ ↓
告警触发 断网隔离 日志分析 木马查杀 系统恢复 事件报告
人工发现 内存镜像 进程分析 后门清除 漏洞修复 复盘总结
主动检测 磁盘镜像 网络分析 账号清理 安全加固 改进建议
💡 提示:实际应急中不是严格的线性流程,很多工作可以并行。但保护现场必须是第一步!
阶段一:入侵发现
目标:确认入侵事件,初步判断影响范围
常见入侵发现方式
| 安全设备告警 | WAF/IDS/EDR/SIEM告警 | ★★★★★ |
| 人工发现 | 页面被篡改、服务器异常 | ★★★★★ |
| 业务异常 | 网站卡顿、数据异常、CPU飙升 | ★★★★ |
| 主动巡检 | 安全扫描、日志审计发现异常 | ★★★ |
| 外部通报 | 监管部门、白帽子通报 | ★★★★★ |
初步判断清单
□ 是否能复现入侵现象?(页面篡改、异常文件等)
□ 受影响的系统有哪些?(一台还是多台)
□ 业务是否受到影响?(服务是否可用)
□ 是否有数据泄露的迹象?(数据库异常访问)
□ 入侵是内部还是外部发起的?
□ 时间范围大概是什么时候?
□ 当前系统是否还在被攻击中?
⚠️ 注意:如果入侵还在进行中(比如攻击者还在操作),第一时间断网隔离,不要打草惊蛇但也不能让攻击者继续搞破坏。
阶段二:现场保护
目标:保存现场证据,防止证据被破坏或丢失
保护顺序(从易失到稳定)
| 1 | CPU寄存器 | 最易失 | 内存dump会包含 |
| 2 | 内存数据 | 关机即丢失 | 内存镜像 |
| 3 | 网络连接 | 断网即丢失 | 先保存网络状态 |
| 4 | 进程信息 | 重启即丢失 | 进程列表dump |
| 5 | 临时文件 | 可能被清理 | 文件备份 |
| 6 | 系统日志 | 可能被覆盖 | 日志备份 |
| 7 | 磁盘数据 | 相对稳定 | 磁盘镜像 |
Linux现场保护命令
# 1. 保存网络连接状态
netstat -antp > /tmp/netstat.txt 2>&1
ss -antp > /tmp/ss.txt 2>&1
# 2. 保存进程信息
ps auxf > /tmp/ps.txt 2>&1
top -b -n 1 > /tmp/top.txt 2>&1
# 3. 保存计划任务
crontab -l > /tmp/crontab.txt 2>&1
cat /etc/crontab > /tmp/etc_crontab.txt 2>&1
ls -la /etc/cron.d/ > /tmp/cron_d.txt 2>&1
ls -la /var/spool/cron/ > /tmp/spool_cron.txt 2>&1
# 4. 保存用户信息
cat /etc/passwd > /tmp/passwd.txt 2>&1
cat /etc/shadow > /tmp/shadow.txt 2>&1
w > /tmp/w.txt 2>&1
last > /tmp/last.txt 2>&1
lastb > /tmp/lastb.txt 2>&1
# 5. 保存历史命令
history > /tmp/history.txt 2>&1
cat ~/.bash_history > /tmp/bash_history.txt 2>&1
cat /root/.bash_history > /tmp/root_history.txt 2>&1
# 6. 备份日志
cp -r /var/log /tmp/log_backup/
# 7. 内存镜像(需要工具)
# 使用LiME工具dump内存
# insmod lime.ko "path=/tmp/memory.raw format=raw"
Windows现场保护命令
# 1. 网络连接
netstat –ano > C:\\temp\\netstat.txt
# 2. 进程信息
tasklist /svc > C:\\temp\\tasklist.txt
wmic process get processid,parentprocessid,executablepath,commandline > C:\\temp\\wmic_process.txt
# 3. 计划任务
schtasks /query /fo LIST /v > C:\\temp\\schtasks.txt
# 4. 用户信息
net user > C:\\temp\\net_user.txt
net localgroup administrators > C:\\temp\\admin_group.txt
query user > C:\\temp\\query_user.txt
# 5. 服务信息
net start > C:\\temp\\services.txt
wmic service get name,displayname,pathname,startmode > C:\\temp\\wmic_service.txt
# 6. 注册表信息(启动项)
reg export HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run C:\\temp\\run_hklm.reg
reg export HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run C:\\temp\\run_hkcu.reg
# 7. 日志备份
# 使用wevtutil导出事件日志
wevtutil epl System C:\\temp\\system.evtx
wevtutil epl Security C:\\temp\\security.evtx
wevtutil epl Application C:\\temp\\application.evtx
⚠️ 注意:所有备份操作尽量写到外部存储或只读介质,避免覆盖磁盘上的证据。
阶段三:入侵分析
目标:找到入侵路径、确定影响范围、定位攻击者
分析路径一:Web入侵排查
# 1. 查找WebShell
# 扫描可疑文件
find /var/www/ -name "*.php" -mtime -7 # 最近7天修改的PHP文件
find /var/www/ -name "*.jsp" -mtime -7
find /tmp/ -name "*.php" -o -name "*.jsp" -o -name "*.asp"
# 2. 搜索WebShell特征
grep -r "eval(" /var/www/ 2>/dev/null
grep -r "assert(" /var/www/ 2>/dev/null
grep -r "base64_decode" /var/www/ 2>/dev/null
grep -r "system(" /var/www/ 2>/dev/null
grep -r "cmd=" /var/www/ 2>/dev/null
# 3. 分析访问日志
# 查看POST请求(WebShell通常是POST)
grep "POST" /var/log/nginx/access.log | head -50
# 查看异常User-Agent
grep -v "Mozilla" /var/log/nginx/access.log | head -50
# 查看返回200的可疑路径
grep " 200 " /var/log/nginx/access.log | grep -E "\\.(php|jsp|asp)" | head -50
# 4. 查看文件上传痕迹
grep "upload" /var/log/nginx/access.log
grep "multipart" /var/log/nginx/access.log
分析路径二:进程与后门排查
# 1. 查找异常进程
# 占用CPU高的进程
ps aux –sort=-%cpu | head -20
# 不在标准路径的进程
ps aux | grep -v "/usr\\|/sbin\\|/bin" | grep -v grep
# 2. 检查隐藏进程
# 对比ps和/proc目录
ls /proc/ | grep -E "^[0-9]+$" | sort > /tmp/proc_pids.txt
ps -eo pid | grep -E "^[0-9]+$" | sort > /tmp/ps_pids.txt
diff /tmp/proc_pids.txt /tmp/ps_pids.txt
# 3. 检查网络连接中的异常
# 连接到境外IP的进程
netstat -antp | grep ESTABLISHED | grep -v "127.0.0.1"
# 异常端口监听
netstat -antp | grep LISTEN | grep -v "127.0.0.1"
# 4. 检查SSH后门
# SSH公钥
cat ~/.ssh/authorized_keys
cat /root/.ssh/authorized_keys
# SSH配置文件
grep -i "PermitRootLogin\\|PasswordAuthentication" /etc/ssh/sshd_config
分析路径三:日志溯源
# 1. SSH登录日志
grep "Accepted" /var/log/auth.log # 成功登录
grep "Failed" /var/log/auth.log # 失败登录
grep "Invalid" /var/log/auth.log # 无效用户
# 2. sudo使用记录
grep "sudo" /var/log/auth.log | grep -i "command"
# 3. su切换记录
grep "su:" /var/log/auth.log
# 4. Web访问日志分析
# 按时间范围查看
awk '$4 >= "[20/Sep/2026:00:00:00" && $4 <= "[21/Sep/2026:00:00:00"' /var/log/nginx/access.log
# 按IP统计访问量
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
# 5. 查看攻击者的操作时间线
# 从日志中提取攻击者IP的所有访问记录
grep "攻击者IP" /var/log/nginx/access.log > /tmp/attacker_access.log
分析路径四:横向移动排查
# 1. 检查是否有横向移动的痕迹
# SMB连接
grep "smbd" /var/log/samba/ 2>/dev/null
# 2. 检查最近登录的用户
lastlog
last
# 3. 检查异常的远程连接
netstat -antp | grep ":3389\\|:445\\|:3306\\|:22"
# 4. 检查计划任务中的横向脚本
crontab -l
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.hourly/
ls -la /etc/cron.daily/
💡 提示:日志分析是溯源的关键。养成好习惯,把关键日志都往集中日志系统(ELK/SIEM)送,事后排查效率会高很多。
阶段四:威胁清除
目标:彻底清除攻击者留下的木马、后门、账号
清除清单
| WebShell | 扫描+人工确认删除 | 确认备份,别误删正常文件 |
| 木马/僵尸程序 | 结束进程+删除文件 | 注意隐藏进程和rootkit |
| 后门账号 | 删除异常用户 | 检查/etc/passwd、影子账号 |
| SSH公钥 | 清理authorized_keys | 检查所有用户的SSH目录 |
| 计划任务后门 | 清理异常cron | 检查所有cron目录 |
| 启动项后门 | 清理自启动 | 检查rc.local、systemd服务 |
| 后门端口 | 关闭异常监听 | 结合防火墙阻断 |
| 被篡改文件 | 从备份恢复 | 确认备份是干净的 |
WebShell查杀工具
| D盾 | Windows | 国产WebShell查杀 |
| 河马 | Linux/Windows | 专业WebShell查杀 |
| 云锁 | 服务器端 | 防护+查杀 |
| find+grep | Linux | 手动查杀 |
| ClamAV | Linux | 开源杀毒软件 |
# ClamAV安装和使用
apt install clamav clamav-daemon
freshclam # 更新病毒库
clamscan -r /var/www/ # 扫描Web目录
clamscan -r / –remove # 全盘扫描并删除
⚠️ 注意:威胁清除后一定要做"确认清除"——重新扫描、重新检查,确保没有遗漏的后门。很多入侵事件因为漏了一个后门,没过几天又被黑了。
阶段五:恢复与加固
目标:恢复业务正常运行,防止再次被入侵
恢复优先级
| P0 | 核心业务系统 | 确保业务可用 |
| P1 | 数据库 | 确保数据完整性 |
| P2 | Web应用 | 从干净备份恢复 |
| P3 | 中间件/服务器 | 补丁加固 |
| P4 | 安全设备 | 调整防护策略 |
安全加固清单
□ 系统补丁:更新所有系统和应用的安全补丁
□ 密码重置:所有相关账号密码全部重置
□ 权限收敛:关闭不必要的服务和端口
□ 防火墙:加固防火墙规则,只允许必要的访问
□ 登录加固:SSH禁用密码登录、启用密钥登录
□ 日志审计:开启详细日志并定期审计
□ 备份策略:确保备份是干净的、定期验证备份
□ WAF规则:更新WAF规则,拦截已知攻击向量
□ 安全监控:部署EDR/HIDS,加强监控告警
□ 漏洞修复:修复被利用的漏洞点
💡 提示:恢复前一定要确认备份是干净的!如果备份里就有后门,恢复等于白干。
阶段六:报告输出
目标:输出完整的应急响应报告,总结经验教训
报告结构
1. 事件概述
– 事件时间线
– 事件类型
– 影响范围
– 严重程度评估
2. 事件分析
– 入侵入口(怎么进来的)
– 攻击路径(进来后做了什么)
– 影响评估(哪些系统/数据受影响)
– 攻击者画像(手法、工具、时间)
3. 处置过程
– 应急响应团队
– 处置时间线
– 采取的措施
4. 修复与加固
– 已完成的修复
– 建议的长期加固措施
5. 经验教训
– 本次事件的根本原因
– 可以改进的地方
– 后续行动计划
💡 提示:好的应急报告不仅记录"发生了什么",更重要的是"为什么会发生"和"以后怎么避免"。
应急响应必备工具箱
| 进程分析 | ps、top、htop、Process Hacker | 进程查看和分析 |
| 网络分析 | netstat、ss、tcpdump、Wireshark | 网络连接和流量分析 |
| 日志分析 | grep、awk、sed、ELK | 日志检索和分析 |
| WebShell查杀 | 河马、D盾、ClamAV | WebShell和病毒查杀 |
| 内存取证 | Volatility、LiME | 内存镜像和分析 |
| 磁盘取证 | dd、FTK Imager | 磁盘镜像和分析 |
| 文件分析 | file、strings、md5sum | 文件类型和哈希校验 |
| 后门检测 | rkhunter、chkrootkit | Rootkit检测 |
学习资源
2026年最新版本,全网最全的网安视频教程。耗时半年打造,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。

总共200多节视频,200多G的资源,不用担心学不全。(包含攻击与防守、漏洞挖掘、CTF比赛等技术点)
1、知识库价值
深度:本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。
广度:面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性:知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。
2、部分核心内容展示
独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。
内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。
网络安全意识

Linux操作系统

WEB架构基础与HTTP协议

Web渗透测试

渗透测试案例分享

渗透测试实战技巧

攻防对战实战

CTF之MISC实战讲解

3、适合学习的人群
一、基础适配人群
零基础转型者:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链;
开发/运维人员:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展或者转行就业;
应届毕业生:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期;
二、能力提升适配
1、技术爱好者:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者;
2、安全从业者:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力;
3、合规需求者:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员;
因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传,戳下面拿:
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:

————————————————
网硕互联帮助中心






评论前必须登录!
注册