应急响应入门实战
字数 4566 2025-08-18 11:39:11

应急响应入门实战教学文档

第一章 应急响应基础

1.1 应急响应整体流程

  1. 准备阶段:建立应急响应团队、制定预案、准备工具
  2. 检测阶段:识别安全事件、确认事件性质
  3. 遏制阶段:隔离受影响系统、防止扩散
  4. 根除阶段:清除威胁、修复漏洞
  5. 恢复阶段:系统恢复、验证安全性
  6. 总结阶段:事件分析、经验总结、改进措施

1.2 应急响应整体思路

  • 取证优先:保护现场证据
  • 影响最小化:减少业务中断
  • 快速响应:及时控制事态发展
  • 全面排查:不遗漏任何潜在威胁
  • 溯源分析:追踪攻击路径和源头

1.3 常见安全事件类型

  1. 恶意程序攻击:病毒、蠕虫、木马、勒索软件
  2. Web恶意代码:网页挂马、后门植入
  3. 信息泄露:数据外泄、配置信息暴露
  4. 拒绝服务攻击:DDoS、资源耗尽攻击
  5. 权限提升:提权漏洞利用
  6. 网络钓鱼:社会工程学攻击

第二章 系统入侵排查

2.1 Linux系统排查要点

  1. 用户账户检查

    • /etc/passwd/etc/shadow异常
    • 检查/etc/sudoers文件
    • 查看lastlastlogw命令输出
  2. 进程检查

    • ps -aux查看异常进程
    • top查看资源占用情况
    • lsof -p <PID>查看进程打开文件
  3. 网络连接检查

    • netstat -antp查看网络连接
    • ss -tulnp替代netstat
    • iftop查看实时流量
  4. 文件系统检查

    • find / -mtime -2查找最近修改的文件
    • find / -name "*.php" -mtime -1查找特定类型文件
    • ls -alt /tmp检查临时目录
  5. 计划任务检查

    • crontab -l查看当前用户计划任务
    • 检查/etc/cron*目录
  6. 日志分析

    • /var/log/auth.log认证日志
    • /var/log/syslog系统日志
    • journalctl查看systemd日志

2.2 Windows系统排查要点

  1. 账户检查

    • 查看本地用户和组
    • 检查远程桌面用户
    • 审核事件日志(Event Viewer)
  2. 进程检查

    • 任务管理器查看异常进程
    • tasklist /svc查看进程服务
    • wmic process get name,executablepath,processid获取进程详细信息
  3. 网络连接检查

    • netstat -ano查看网络连接
    • netsh advfirewall show allprofiles查看防火墙状态
  4. 文件系统检查

    • 检查系统目录异常文件
    • 查看最近修改的文件
    • 检查启动项(msconfig)
  5. 服务检查

    • services.msc查看异常服务
    • sc query获取服务状态
  6. 日志分析

    • 安全事件日志(Event ID 4624/4625登录事件)
    • 系统日志
    • PowerShell日志

2.3 常用工具及命令

  1. Linux工具

    • chkrootkit:rootkit检测
    • rkhunter:Rootkit Hunter
    • clamav:病毒扫描
    • tcpdump:网络抓包
    • strace:系统调用跟踪
  2. Windows工具

    • Autoruns:启动项检查
    • Process Explorer:进程检查
    • Process Monitor:进程监控
    • Wireshark:网络抓包
    • Sysinternals Suite:微软官方工具集
  3. 跨平台工具

    • Volatility:内存取证
    • LogParser:日志分析
    • ELK Stack:日志收集分析

第三章 Linux木马案例分析

3.1 无动态链接库木马

  1. 特征

    • 静态编译,不依赖系统库
    • 文件大小较大
    • 无外部库依赖
  2. 检测方法

    • ldd命令检查动态链接
    • file命令查看文件类型
    • strings查看可打印字符
  3. 清除方法

    • 终止相关进程
    • 删除恶意文件
    • 检查启动项和计划任务

3.2 有动态链接库木马

  1. 特征

    • 依赖系统库
    • 可能替换系统库文件
    • 使用LD_PRELOAD注入
  2. 检测方法

    • 检查LD_PRELOAD环境变量
    • 对比系统库md5值
    • 检查/etc/ld.so.preload文件
  3. 清除方法

    • 恢复被替换的系统库
    • 清理环境变量
    • 更新系统补丁

3.3 Linux木马隐藏方式

  1. 进程隐藏

    • 修改进程名
    • 内核模块rootkit
  2. 文件隐藏

    • 使用点号文件(.)
    • 内核级文件隐藏
  3. 网络隐藏

    • 端口复用
    • ICMP隧道
    • DNS隧道
  4. 权限维持

    • SSH后门
    • SUID文件
    • 计划任务

第四章 Linux应急案例:php-fpm DOS攻击

4.1 攻击特征

  • 大量php-fpm进程占用资源
  • CPU使用率异常高
  • 网站响应缓慢或不可用

4.2 排查步骤

  1. top查看资源占用
  2. netstat -antp查看连接
  3. 检查php-fpm日志
  4. 分析访问日志

4.3 解决方案

  1. 限制php-fpm子进程数
  2. 配置请求速率限制
  3. 启用WAF防护
  4. 优化php-fpm配置

第五章 Windows应急案例:页面篡改

5.1 常见挂马类型

  1. iframe挂马

    • 特征:页面插入iframe标签
    • 检测:查看页面源代码
    • 清除:删除iframe代码,修复漏洞
  2. Global.asax挂马

    • 特征:ASP.NET应用程序全局文件被修改
    • 检测:检查Global.asax文件
    • 清除:恢复原始文件,检查上传漏洞
  3. js挂马

    • 特征:js文件被插入恶意代码
    • 检测:检查js文件修改时间
    • 清除:恢复原始js文件
  4. URL重写挂马

    • 特征:URL重写规则被篡改
    • 检测:检查web.config或.htaccess
    • 清除:恢复重写规则
  5. 篡改DLL挂马

    • 特征:系统DLL被替换
    • 检测:检查DLL签名和哈希
    • 清除:恢复原始DLL

5.2 处理流程

  1. 取证保留证据
  2. 下线受影响系统
  3. 分析攻击路径
  4. 清除恶意代码
  5. 修复漏洞
  6. 恢复系统
  7. 加强防护

第六章 溯源排查方法

6.1 实例分析

  1. 攻击时间线重建

    • 分析日志时间戳
    • 确定攻击起始时间
    • 追踪攻击步骤
  2. 攻击路径分析

    • 入口点分析
    • 横向移动路径
    • 权限提升方式
  3. 攻击工具识别

    • 分析恶意文件特征
    • 识别攻击工具指纹
    • 关联已知攻击模式

6.2 攻击行为刻画

  1. 攻击者画像

    • 技术水平评估
    • 攻击动机分析
    • 攻击资源评估
  2. 攻击手法分析

    • 漏洞利用方式
    • 隐蔽手段
    • 持久化方法
  3. 攻击影响评估

    • 数据泄露范围
    • 系统破坏程度
    • 业务影响评估

6.3 攻击IP确认

  1. IP信誉检查

    • 查询威胁情报
    • 检查黑名单
    • 历史行为分析
  2. IP归属分析

    • 地理位置
    • ISP信息
    • 代理/VPN判断
  3. 关联分析

    • 同源攻击分析
    • 攻击模式匹配
    • 时间关联性

第七章 Web日志分析

7.1 Apache日志分析

  1. 日志位置

    • /var/log/apache2/access.log
    • /var/log/apache2/error.log
  2. 关键字段

    • 客户端IP
    • 请求时间
    • 请求方法
    • 状态码
    • User-Agent
  3. 攻击特征

    • SQL注入:SELECT, UNION, ' OR 1=1 --
    • XSS:<script>, alert(
    • 目录遍历:../, /etc/passwd
    • 文件包含:php://input, file=

7.2 Nginx日志分析

  1. 日志位置

    • /var/log/nginx/access.log
    • /var/log/nginx/error.log
  2. 分析工具

    • grep过滤特定请求
    • awk提取特定字段
    • goaccess可视化分析
  3. 异常请求识别

    • 异常User-Agent
    • 高频相同请求
    • 扫描器特征

7.3 Tomcat日志分析

  1. 日志位置

    • catalina.out
    • localhost_access_log
  2. JSP攻击特征

    • JSP后门上传
    • 反序列化攻击
    • Struts2漏洞利用

7.4 IIS日志分析

  1. 日志位置

    • %SystemDrive%\inetpub\logs\LogFiles\W3SVC1
  2. 分析工具

    • Log Parser
    • 事件查看器
  3. 攻击特征

    • ASP.NET漏洞利用
    • IIS组件漏洞
    • Web.config篡改

第八章 应急响应最佳实践

8.1 事前准备

  1. 建立响应团队:明确角色职责
  2. 制定响应预案:不同类型事件处理流程
  3. 准备工具包:取证工具、分析工具
  4. 建立联系列表:关键人员联系方式

8.2 事中响应

  1. 快速评估:确定事件范围和影响
  2. 证据收集:日志、内存、文件取证
  3. 遏制措施:隔离受影响系统
  4. 根除威胁:清除恶意代码、修复漏洞
  5. 系统恢复:验证后恢复业务

8.3 事后总结

  1. 事件报告:详细记录事件过程
  2. 经验教训:分析不足和改进点
  3. 加固措施:防止类似事件再次发生
  4. 法律合规:满足监管报告要求

第九章 进阶技术

9.1 内存取证

  1. 内存获取

    • LiME (Linux Memory Extractor)
    • WinPmem (Windows内存获取)
  2. 分析工具

    • Volatility框架
    • Rekall
  3. 关键分析

    • 进程列表
    • 网络连接
    • 内核模块
    • 用户凭证

9.2 恶意代码分析

  1. 静态分析

    • 文件哈希
    • 字符串提取
    • 反汇编
  2. 动态分析

    • 沙箱执行
    • API监控
    • 行为分析
  3. 工具推荐

    • IDA Pro
    • Ghidra
    • Cuckoo Sandbox

9.3 网络流量分析

  1. 流量捕获

    • tcpdump
    • Wireshark
    • Zeek (原Bro)
  2. 异常流量识别

    • 命令控制(C2)流量
    • 数据外泄
    • 异常协议
  3. 分析工具

    • NetworkMiner
    • Moloch
    • Suricata

第十章 法律与合规

10.1 法律要求

  1. 数据保护法:个人信息处理要求
  2. 网络安全法:关键信息基础设施保护
  3. 事件报告:法定报告时限和要求

10.2 证据保全

  1. 取证规范:保证证据完整性
  2. 链式保管:证据流转记录
  3. 时间同步:确保日志时间准确

10.3 合规建议

  1. 建立流程:符合监管要求的响应流程
  2. 文档记录:完整记录响应过程
  3. 定期演练:测试响应能力

附录:应急响应检查清单

Linux系统检查清单

  1. [ ] 检查用户账户和权限
  2. [ ] 分析运行进程
  3. [ ] 检查网络连接
  4. [ ] 审查计划任务
  5. [ ] 分析系统日志
  6. [ ] 检查SUID/SGID文件
  7. [ ] 验证系统文件完整性

Windows系统检查清单

  1. [ ] 检查用户和组
  2. [ ] 分析进程和服务
  3. [ ] 检查网络活动
  4. [ ] 审查启动项
  5. [ ] 分析事件日志
  6. [ ] 检查注册表异常
  7. [ ] 验证系统文件签名

Web应用检查清单

  1. [ ] 检查文件修改时间
  2. [ ] 分析Web日志
  3. [ ] 查找Webshell
  4. [ ] 检查数据库异常
  5. [ ] 验证配置文件
  6. [ ] 检查第三方组件漏洞

本教学文档基于FreeBuf课程《应急响应入门实战》整理,涵盖了应急响应的核心知识点和实用技术,可作为安全工程师进行应急响应工作的参考指南。建议结合实际操作和案例分析进行深入学习,并定期更新知识以应对不断变化的安全威胁。

应急响应入门实战教学文档 第一章 应急响应基础 1.1 应急响应整体流程 准备阶段 :建立应急响应团队、制定预案、准备工具 检测阶段 :识别安全事件、确认事件性质 遏制阶段 :隔离受影响系统、防止扩散 根除阶段 :清除威胁、修复漏洞 恢复阶段 :系统恢复、验证安全性 总结阶段 :事件分析、经验总结、改进措施 1.2 应急响应整体思路 取证优先 :保护现场证据 影响最小化 :减少业务中断 快速响应 :及时控制事态发展 全面排查 :不遗漏任何潜在威胁 溯源分析 :追踪攻击路径和源头 1.3 常见安全事件类型 恶意程序攻击 :病毒、蠕虫、木马、勒索软件 Web恶意代码 :网页挂马、后门植入 信息泄露 :数据外泄、配置信息暴露 拒绝服务攻击 :DDoS、资源耗尽攻击 权限提升 :提权漏洞利用 网络钓鱼 :社会工程学攻击 第二章 系统入侵排查 2.1 Linux系统排查要点 用户账户检查 : /etc/passwd 和 /etc/shadow 异常 检查 /etc/sudoers 文件 查看 last 、 lastlog 、 w 命令输出 进程检查 : ps -aux 查看异常进程 top 查看资源占用情况 lsof -p <PID> 查看进程打开文件 网络连接检查 : netstat -antp 查看网络连接 ss -tulnp 替代netstat iftop 查看实时流量 文件系统检查 : find / -mtime -2 查找最近修改的文件 find / -name "*.php" -mtime -1 查找特定类型文件 ls -alt /tmp 检查临时目录 计划任务检查 : crontab -l 查看当前用户计划任务 检查 /etc/cron* 目录 日志分析 : /var/log/auth.log 认证日志 /var/log/syslog 系统日志 journalctl 查看systemd日志 2.2 Windows系统排查要点 账户检查 : 查看本地用户和组 检查远程桌面用户 审核事件日志(Event Viewer) 进程检查 : 任务管理器查看异常进程 tasklist /svc 查看进程服务 wmic process get name,executablepath,processid 获取进程详细信息 网络连接检查 : netstat -ano 查看网络连接 netsh advfirewall show allprofiles 查看防火墙状态 文件系统检查 : 检查系统目录异常文件 查看最近修改的文件 检查启动项( msconfig ) 服务检查 : services.msc 查看异常服务 sc query 获取服务状态 日志分析 : 安全事件日志(Event ID 4624/4625登录事件) 系统日志 PowerShell日志 2.3 常用工具及命令 Linux工具 : chkrootkit :rootkit检测 rkhunter :Rootkit Hunter clamav :病毒扫描 tcpdump :网络抓包 strace :系统调用跟踪 Windows工具 : Autoruns:启动项检查 Process Explorer:进程检查 Process Monitor:进程监控 Wireshark:网络抓包 Sysinternals Suite:微软官方工具集 跨平台工具 : Volatility:内存取证 LogParser:日志分析 ELK Stack:日志收集分析 第三章 Linux木马案例分析 3.1 无动态链接库木马 特征 : 静态编译,不依赖系统库 文件大小较大 无外部库依赖 检测方法 : ldd 命令检查动态链接 file 命令查看文件类型 strings 查看可打印字符 清除方法 : 终止相关进程 删除恶意文件 检查启动项和计划任务 3.2 有动态链接库木马 特征 : 依赖系统库 可能替换系统库文件 使用LD_ PRELOAD注入 检测方法 : 检查 LD_PRELOAD 环境变量 对比系统库md5值 检查 /etc/ld.so.preload 文件 清除方法 : 恢复被替换的系统库 清理环境变量 更新系统补丁 3.3 Linux木马隐藏方式 进程隐藏 : 修改进程名 内核模块rootkit 文件隐藏 : 使用点号文件(.) 内核级文件隐藏 网络隐藏 : 端口复用 ICMP隧道 DNS隧道 权限维持 : SSH后门 SUID文件 计划任务 第四章 Linux应急案例:php-fpm DOS攻击 4.1 攻击特征 大量php-fpm进程占用资源 CPU使用率异常高 网站响应缓慢或不可用 4.2 排查步骤 top 查看资源占用 netstat -antp 查看连接 检查php-fpm日志 分析访问日志 4.3 解决方案 限制php-fpm子进程数 配置请求速率限制 启用WAF防护 优化php-fpm配置 第五章 Windows应急案例:页面篡改 5.1 常见挂马类型 iframe挂马 : 特征:页面插入iframe标签 检测:查看页面源代码 清除:删除iframe代码,修复漏洞 Global.asax挂马 : 特征:ASP.NET应用程序全局文件被修改 检测:检查Global.asax文件 清除:恢复原始文件,检查上传漏洞 js挂马 : 特征:js文件被插入恶意代码 检测:检查js文件修改时间 清除:恢复原始js文件 URL重写挂马 : 特征:URL重写规则被篡改 检测:检查web.config或.htaccess 清除:恢复重写规则 篡改DLL挂马 : 特征:系统DLL被替换 检测:检查DLL签名和哈希 清除:恢复原始DLL 5.2 处理流程 取证保留证据 下线受影响系统 分析攻击路径 清除恶意代码 修复漏洞 恢复系统 加强防护 第六章 溯源排查方法 6.1 实例分析 攻击时间线重建 : 分析日志时间戳 确定攻击起始时间 追踪攻击步骤 攻击路径分析 : 入口点分析 横向移动路径 权限提升方式 攻击工具识别 : 分析恶意文件特征 识别攻击工具指纹 关联已知攻击模式 6.2 攻击行为刻画 攻击者画像 : 技术水平评估 攻击动机分析 攻击资源评估 攻击手法分析 : 漏洞利用方式 隐蔽手段 持久化方法 攻击影响评估 : 数据泄露范围 系统破坏程度 业务影响评估 6.3 攻击IP确认 IP信誉检查 : 查询威胁情报 检查黑名单 历史行为分析 IP归属分析 : 地理位置 ISP信息 代理/VPN判断 关联分析 : 同源攻击分析 攻击模式匹配 时间关联性 第七章 Web日志分析 7.1 Apache日志分析 日志位置 : /var/log/apache2/access.log /var/log/apache2/error.log 关键字段 : 客户端IP 请求时间 请求方法 状态码 User-Agent 攻击特征 : SQL注入: SELECT , UNION , ' OR 1=1 -- XSS: <script> , alert( 目录遍历: ../ , /etc/passwd 文件包含: php://input , file= 7.2 Nginx日志分析 日志位置 : /var/log/nginx/access.log /var/log/nginx/error.log 分析工具 : grep 过滤特定请求 awk 提取特定字段 goaccess 可视化分析 异常请求识别 : 异常User-Agent 高频相同请求 扫描器特征 7.3 Tomcat日志分析 日志位置 : catalina.out localhost_access_log JSP攻击特征 : JSP后门上传 反序列化攻击 Struts2漏洞利用 7.4 IIS日志分析 日志位置 : %SystemDrive%\inetpub\logs\LogFiles\W3SVC1 分析工具 : Log Parser 事件查看器 攻击特征 : ASP.NET漏洞利用 IIS组件漏洞 Web.config篡改 第八章 应急响应最佳实践 8.1 事前准备 建立响应团队 :明确角色职责 制定响应预案 :不同类型事件处理流程 准备工具包 :取证工具、分析工具 建立联系列表 :关键人员联系方式 8.2 事中响应 快速评估 :确定事件范围和影响 证据收集 :日志、内存、文件取证 遏制措施 :隔离受影响系统 根除威胁 :清除恶意代码、修复漏洞 系统恢复 :验证后恢复业务 8.3 事后总结 事件报告 :详细记录事件过程 经验教训 :分析不足和改进点 加固措施 :防止类似事件再次发生 法律合规 :满足监管报告要求 第九章 进阶技术 9.1 内存取证 内存获取 : LiME (Linux Memory Extractor) WinPmem (Windows内存获取) 分析工具 : Volatility框架 Rekall 关键分析 : 进程列表 网络连接 内核模块 用户凭证 9.2 恶意代码分析 静态分析 : 文件哈希 字符串提取 反汇编 动态分析 : 沙箱执行 API监控 行为分析 工具推荐 : IDA Pro Ghidra Cuckoo Sandbox 9.3 网络流量分析 流量捕获 : tcpdump Wireshark Zeek (原Bro) 异常流量识别 : 命令控制(C2)流量 数据外泄 异常协议 分析工具 : NetworkMiner Moloch Suricata 第十章 法律与合规 10.1 法律要求 数据保护法 :个人信息处理要求 网络安全法 :关键信息基础设施保护 事件报告 :法定报告时限和要求 10.2 证据保全 取证规范 :保证证据完整性 链式保管 :证据流转记录 时间同步 :确保日志时间准确 10.3 合规建议 建立流程 :符合监管要求的响应流程 文档记录 :完整记录响应过程 定期演练 :测试响应能力 附录:应急响应检查清单 Linux系统检查清单 [ ] 检查用户账户和权限 [ ] 分析运行进程 [ ] 检查网络连接 [ ] 审查计划任务 [ ] 分析系统日志 [ ] 检查SUID/SGID文件 [ ] 验证系统文件完整性 Windows系统检查清单 [ ] 检查用户和组 [ ] 分析进程和服务 [ ] 检查网络活动 [ ] 审查启动项 [ ] 分析事件日志 [ ] 检查注册表异常 [ ] 验证系统文件签名 Web应用检查清单 [ ] 检查文件修改时间 [ ] 分析Web日志 [ ] 查找Webshell [ ] 检查数据库异常 [ ] 验证配置文件 [ ] 检查第三方组件漏洞 本教学文档基于FreeBuf课程《应急响应入门实战》整理,涵盖了应急响应的核心知识点和实用技术,可作为安全工程师进行应急响应工作的参考指南。建议结合实际操作和案例分析进行深入学习,并定期更新知识以应对不断变化的安全威胁。