Windows 应急响应工具手册
适用场景:Windows 系统应急响应、恶意软件分析、安全事件调查
前言:应急响应工具的重要性
在安全事件发生后,快速、准确地获取现场信息是应急响应的关键。Windows 系统作为企业最常见的操作系统,掌握其应急响应工具体系至关重要。
应急响应核心目标:
发现异常 - 识别入侵痕迹和异常行为
保留证据 - 收集日志、内存、文件等关键证据
控制影响 - 阻止威胁扩散,保护关键资产
追溯溯源 - 分析攻击路径,定位攻击来源
第一章:工具分类总览
1.1 工具分类体系
Windows 应急响应工具按功能可分为以下几大类:
Windows 应急响应工具体系
│
├─ 进程与行为分析
│ ├─ Process Monitor
│ ├─ Process Explorer
│ ├─ Autoruns
│ └─ ProcDump
├─ 网络分析
│ ├─ Wireshark
│ ├─ TCPView
│ └─ 内置命令(netstat)
├─ 文件分析
│ ├─ VirusTotal
│ ├─ Strings
│ └─ Sigcheck
├─ 内存取证
│ ├─ Volatility
│ ├─ DumpIt
│ └─ WinPMEM
├─ 📝 日志分析
│ ├─ Event Log Explorer
│ ├─ LogParser
│ └─ WELA
├─ 持久化检测
│ ├─ Autoruns
│ ├─ RegRipper
│ └─ Persistence Ripper
├─ 恶意代码分析
│ ├─ IDA Pro / Ghidra
│ ├─ x64dbg
│ └─ YARA
├─ 威胁情报
│ ├─ 微步在线
│ ├─ VirusTotal
│ └─ MalwareBazaar
└─ 综合响应平台
├─ Velociraptor
├─ KAPE
├─ Eric Zimmerman工具集
└─ CyLR1.2 工具获取渠道
官方与可信来源:
| 来源 | 链接 | 说明 |
|---|---|---|
| Sysinternals | https://learn.microsoft.com/sysinternals | Microsoft官方工具集 |
| GitHub | https://github.com | 开源工具主站 |
| VirusTotal | https://www.virustotal.com | 在线恶意检测 |
| 微步在线 | https://x.threatbook.cn | 国内威胁情报 |
| Eric Zimmerman | https://ericzimmerman.github.io | Windows取证工具集 |
安全提示:所有工具必须从官方渠道下载,避免使用来源不明的工具。
第二章:Sysinternals 工具集详解
Sysinternals 是 Microsoft 官方的 Windows 高级工具集,是应急响应的必备工具包。
2.1 Process Monitor(实时行为监控)
功能:实时监控文件系统、注册表、进程/线程活动
下载地址:https://learn.microsoft.com/sysinternals/downloads/processmonitor
核心用途:
恶意软件行为分析
软件问题排查
权限问题诊断
应用程序行为审计
常用命令行启动方式:
# 后台监控并保存日志
procmon.exe /Minimized /Capture /BackingFile C:\Logs\capture.pml
# 加载配置文件启动
procmon.exe /LoadConfig filter.pmc /Capture
# 静默模式
procmon.exe /Quiet /AcceptEula /Capture关键过滤条件:
# 指定进程监控
Process Name is malware.exe → Include
# 失败操作监控(权限问题)
Result is ACCESS DENIED → Include
# 注册表监控
Path begins with HKLM\Software → Include
# 文件写入监控
Operation contains Write → Include2.2 Process Explorer(进程分析)
功能:进程树、DLL、句柄、网络连接分析
下载地址:https://learn.microsoft.com/sysinternals/downloads/processexplorer
核心用途:
- 查看进程父子关系
- 查看进程加载的DLL
- 检测DLL注入
- 查看进程网络连接
关键功能:
| 功能 | 用途 |
|---|---|
| Process Tree | 进程父子关系追踪 |
| DLL View | DLL加载检测 |
| Handles View | 句柄分析 |
| Properties | 进程详细信息 |
| VirusTotal Check | 快速恶意检测 |
与 Procmon 配合使用:
Process Explorer → 找到可疑进程
Process Monitor → 过滤该PID,分析行为2.3 Autoruns(自启动项分析)
功能:全面扫描 Windows 所有自启动位置
下载地址:https://learn.microsoft.com/sysinternals/downloads/autoruns
核心用途:
- 检测恶意持久化项目
- 审计合法启动项
- 发现隐藏的启动项
扫描位置(超过50个):
启动项位置
├─ 注册表
│ ├─ HKLM\Software\Microsoft\Windows\CurrentVersion\Run
│ ├─ HKCU\Software\Microsoft\Windows\CurrentVersion\Run
│ ├─ HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
│ ├─ HKLM\System\CurrentControlSet\Services
│ └─ WMI事件订阅
├─ 文件系统
│ ├─ Startup文件夹(用户/公用)
│ ├─ C:\Windows\Tasks
│ ├─ C:\Windows\System32\Tasks
│ └─ 浏览器扩展
├─ 其他
│ ├─ 计划任务
│ ├─ 服务
│ ├─ 驱动
│ ├─ Boot Execute
│ ├─ Image File Execution Options
│ └─ AppInit DLLs使用要点:
# 以管理员身份运行
autoruns.exe -a
# 验证文件签名
View → Verify Code Signatures
# 隐藏合法Microsoft条目
Options → Hide Microsoft Entries
# VirusTotal检测
右键条目 → Check VirusTotal2.4 ProcDump(进程内存dump)
功能:捕获进程内存dump
下载地址:https://learn.microsoft.com/sysinternals/downloads/procdump
核心用途:
- 捕获崩溃进程内存
- 恶意进程内存分析
- 应用程序问题诊断
常用命令:
# 按PID dump
procdump.exe -ma 1234 output.dmp
# 按进程名
procdump.exe -ma malware.exe output.dmp
# CPU异常时dump(CPU超过80%触发)
procdump.exe -ma -c 80 malware.exe output.dmp
# 持续dump(每5秒一次)
procdump.exe -ma -s 5 malware.exe output.dmp2.5 TCPView(网络连接监控)
功能:实时监控TCP/UDP连接
下载地址:https://learn.microsoft.com/sysinternals/downloads/tcpview
核心用途:
- 实时查看网络连接
- 查看连接对应的进程
- 监控异常网络活动
关键信息:
| 列 | 说明 |
|---|---|
| Process | 进程名 |
| PID | 进程ID |
| Protocol | TCP/UDP |
| Local Address | 本地地址端口 |
| Remote Address | 远程地址端口 |
| State | 连接状态 |
2.6 Strings(字符串提取)
功能:从文件中提取可打印字符串
下载地址:https://learn.microsoft.com/sysinternals/downloads/strings
核心用途:
- 从恶意文件提取关键信息
- 发现隐藏的URL、IP、命令
- 分析未知文件类型
常用命令:
# 提取所有字符串(默认4字符以上)
strings.exe malware.exe
# 指定最小字符长度
strings.exe -n 8 malware.exe
# 输出到文件
strings.exe -n 8 malware.exe > strings_output.txt
# 提取Unicode字符串
strings.exe -u malware.exe2.7 Sigcheck(文件签名验证)
功能:验证文件数字签名,查询VirusTotal
下载地址:https://learn.microsoft.com/sysinternals/downloads/sigcheck
核心用途:
- 验证文件是否被篡改
- 检测恶意文件签名状态
- 批量文件签名检查
常用命令:
# 检查单个文件签名
sigcheck.exe malware.exe
# VirusTotal检测
sigcheck.exe -vt malware.exe
# 批量检查目录
sigcheck.exe -vt -s C:\Windows\System32
# 查找未签名文件
sigcheck.exe -u C:\Program Files第三章:网络分析工具
3.1 Wireshark(流量抓包分析)
功能:网络流量捕获与分析
下载地址:https://www.wireshark.org/download.html
核心用途:
- 抓取网络流量
- 分析恶意通信内容
- 解密协议通信
应急响应场景:
场景一:分析恶意软件通信
1. 抓取流量:Capture → Start
2. 过滤IP:ip.addr == malicious_ip
3. 分析内容:右键 → Follow TCP Stream
4. 提取恶意数据
场景二:分析C2通信
1. 过滤端口:tcp.port == 4444
2. 查看通信模式
3. 分析心跳包特征
场景三:DNS异常分析
1. 过滤DNS:dns
2. 查看查询域名
3. 检测DNS隧道常用过滤规则:
# 按IP过滤
ip.addr == 192.168.1.100
# 按端口过滤
tcp.port == 443
# 按协议过滤
http || dns || ftp
# 按进程过滤(需配合其他工具)
# 通过TCPView找到PID和端口,Wireshark过滤端口3.2 内置网络命令
netstat:网络连接状态
# 显示所有连接
netstat -ano
# 只显示已建立连接
netstat -ano | findstr ESTABLISHED
# 显示监听端口
netstat -ano | findstr LISTENING
# 查看特定端口
netstat -ano | findstr :443
# 持续刷新显示
netstat -ano 1关键信息解读:
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:443 192.168.1.1:80 ESTABLISHED 1234
│ │ │ │ │
│ 本地端口 远程地址端口 连接状态 进程ID第四章:文件分析工具
4.1 VirusTotal(多引擎恶意检测)
功能:使用数十个杀毒引擎检测文件
核心用途:
- 快速检测恶意文件
- 查看文件基本信息(Hash、签名)
- 查看文件行为报告
- 检测URL、IP、域名
使用方式:
| 方式 | 说明 |
|---|---|
| 上传文件 | 上传可疑文件检测 |
| 输入Hash | 搜索已检测的样本 |
| 输入URL | 检测恶意链接 |
| 输入IP | 检测恶意IP |
检测结果解读:
Detection: 15/70
│ │
│ 15个引擎报毒 / 70个总引擎数
│
判定标准:
0/70 → 安全
1-3/70 → 可能误报,需人工确认
4+/70 → 确认恶意4.2 PE-bear(PE文件结构分析)
功能:PE文件(exe、dll)结构可视化分析
下载地址:https://github.com/hasherezade/pe-bear-releases
核心用途:
- 查看PE文件结构
- 分析导入/导出表
- 检测PE异常(注入、加壳)
关键PE结构:
PE文件结构
├─ DOS Header
├─ PE Header
│ ├─ Signature
│ ├─ File Header
│ └─ Optional Header
├─ Section Headers
│ ├─ .text(代码段)
│ ├─ .data(数据段)
│ ├─ .rdata(只读数据)
│ └─ .rsrc(资源)
├─ Import Table(导入函数)
├─ Export Table(导出函数)
└─ Resource Section(资源)4.3 Hash计算工具
内置命令计算Hash:
# CertUtil计算MD5
certutil -hashfile malware.exe MD5
# CertUtil计算SHA1
certutil -hashfile malware.exe SHA1
# CertUtil计算SHA256
certutil -hashfile malware.exe SHA256
# PowerShell计算Hash
Get-FileHash malware.exe -Algorithm SHA256第五章:内存取证工具
5.1 Volatility(内存分析框架)
功能:分析内存dump文件,提取关键信息
下载地址:https://github.com/volatilityfoundation/volatility
核心用途:
- 提取进程、网络连接
- 检测恶意代码、DLL注入
- 分析注册表、密码哈希
- 发现隐藏进程、Rootkit
关键命令:
# 查看进程列表
volatility -f memory.dmp --profile=Win10x64_19041 pslist
# 查看进程树
volatility -f memory.dmp --profile=Win10x64_19041 pstree
# 查看网络连接
volatility -f memory.dmp --profile=Win10x64_19041 netscan
# 查看DLL加载
volatility -f memory.dmp --profile=Win10x64_19041 dlllist
# 查看命令行历史
volatility -f memory.dmp --profile=Win10x64_19041 cmdscan
# 查看注册表
volatility -f memory.dmp --profile=Win10x64_19041 hivelist
# 查看密码哈希
volatility -f memory.dmp --profile=Win10x64_19041 hashdump
# 检测恶意代码
volatility -f memory.dmp --profile=Win10x64_19041 malfind
# 检测隐藏进程
volatility -f memory.dmp --profile=Win10x64_19041 psxviewProfile选择:
# 查看支持的Profile
volatility --info | grep Win
常见Profile:
├─ Win10x64_19041 ← Windows 10 2004+
├─ Win7x64 ← Windows 7
├─ Win8x64 ← Windows 8
├─ WinXPx86 ← Windows XP
└─ Win2019x64 ← Windows Server 20195.2 DumpIt / WinPMEM(内存dump工具)
功能:捕获完整物理内存
下载地址:
使用方法:
# DumpIt使用(简单)
DumpIt.exe
# WinPMEM使用
winpmem.exe output.dmp
# 带压缩输出
winpmem.exe -o output.dmp -c注意事项:
- 内存dump会暂停系统短暂时间
- dump文件大小接近物理内存大小
- 需要足够的磁盘空间
5.3 Memprocfs(内存文件系统)
功能:将内存映射为文件系统,方便浏览
下载地址:https://github.com/ufrisk/MemProcFS
核心用途:
- 直观浏览内存内容
- 提取进程、文件、注册表
- 实时分析内存
第六章:日志分析工具
6.1 Windows 安全日志关键事件
关键事件ID:
| 事件ID | 含义 |
|---|---|
| 4624 | 登录成功 |
| 4625 | 登录失败 |
| 4634 | 注销 |
| 4648 | 使用显式凭证登录 |
| 4672 | 特殊权限分配 |
| 4688 | 进程创建 |
| 4689 | 进程终止 |
| 4720 | 用户账户创建 |
| 4722 | 用户账户启用 |
| 4728 | 安全组添加成员 |
| 4732 | 本地组添加成员 |
| 4756 | 通用组添加成员 |
| 4768 | Kerberos TGT请求 |
| 4769 | Kerberos服务票证请求 |
| 1102 | 审计日志清除 |
6.2 内置日志命令
wevtutil:事件日志命令行工具
# 查看日志列表
wevtutil el
# 查询安全日志最近20条
wevtutil qe security /c:20 /rd:true /f:text
# 按事件ID查询
wevtutil qe security /q:"*[System[(EventID=4624)]]" /c:10 /f:text
# 导出日志
wevtutil epl security security.evtx
# 清除日志(需权限)
wevtutil cl securityPowerShell查询:
# 查询登录事件(最近24小时)
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624;StartTime=(Get-Date).AddHours(-24)} |
Select-Object TimeCreated,Id,Message
# 查询进程创建
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4688} -MaxEvents 100 |
Select-Object TimeCreated,Message
# 查询登录失败(暴力破解检测)
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4625} |
Select-Object TimeCreated,Message
# 查询所有登录类型10(远程桌面)
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} |
Where-Object {$_.Message -match "Logon Type: 10"} |
Select-Object TimeCreated,Message6.3 LogParser(日志分析工具)
功能:使用SQL语法分析各类日志
下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=24690
常用查询:
# 查询安全日志
LogParser.exe "SELECT TimeGenerated,EventID,Message FROM security WHERE EventID=4624" -i:EVT
# 按事件ID统计
LogParser.exe "SELECT EventID,COUNT(*) FROM security GROUP BY EventID ORDER BY COUNT(*) DESC" -i:EVT
# 查询登录失败来源IP
LogParser.exe "SELECT EXTRACT_TOKEN(Message,19,' ') AS SourceIP,COUNT(*) FROM security WHERE EventID=4625 GROUP BY SourceIP" -i:EVT
# 查询文本日志
LogParser.exe "SELECT * FROM C:\Logs\*.log WHERE Text LIKE '%error%'" -i:TEXTLINE6.4 Eric Zimmerman日志工具
下载地址:https://ericzimmerman.github.io
关键工具:
| 工具 | 用途 |
|---|---|
| EvtxECmd | EVTX日志解析与输出 |
| PECmd | Prefetch文件分析 |
| MFTECmd | MFT/MFTMirr/$J分析 |
| Registry Explorer | 注册表可视化分析 |
| LECmd | LNK文件分析 |
| JLECmd | JumpList分析 |
EvtxECmd使用:
# 解析单个EVTX
EvtxECmd.exe -f security.evtx --csv output.csv
# 批量解析目录
EvtxECmd.exe -d C:\Windows\System32\winevt\Logs --csv output.csv
# 添加自定义映射
EvtxECmd.exe -f security.evtx --csv output.csv --map custom_map.json第七章:持久化检测工具
7.1 Autoruns(持久化全面扫描)
已在第二章详细介绍,这里强调持久化检测重点:
重点关注位置:
# 高危持久化位置
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\System\CurrentControlSet\Services(隐藏服务)
计划任务(Task Scheduler)
Boot Execute(启动执行)
Image File Execution Options(IFEO劫持)
AppInit DLLs
Shell Extensions
Browser Helper Objects(BHO)
WMI事件订阅Autoruns使用技巧:
1. 以管理员身份运行
2. Options → Hide Microsoft Entries(隐藏合法条目)
3. View → Verify Code Signatures(验证签名)
4. 检查红色/黄色条目(无签名或可疑)
5. 右键 → Check VirusTotal(检测恶意)
6. 右键 → Jump to Entry(跳转到注册表/文件)7.2 RegRipper(注册表分析)
功能:注册表离线分析插件框架
下载地址:https://github.com/keydet89/RegRipper3.0
核心用途:
- 分析注册表hive文件
- 提取用户活动、系统配置
- 检测注册表恶意修改
常用插件:
| 插件 | 功能 |
|---|---|
| userassist | 用户执行程序记录 |
| recentdocs | 最近打开文档 |
| runkeys | 启动项分析 |
| services | 服务分析 |
| software | Software hive分析 |
| system | System hive分析 |
| ntuser | 用户配置分析 |
使用命令:
# 分析NTUSER.DAT
RegRipper.exe -r NTUSER.DAT -f ntuser
# 分析SYSTEM hive
RegRipper.exe -r SYSTEM -f system
# 输出到文件
RegRipper.exe -r NTUSER.DAT -f ntuser -o output.txt7.3 Persistence Ripper
功能:专注Windows持久化检测
下载地址:https://github.com/kacos2000/WindowsPersistence
检测内容:
├─ 注册表启动项
├─ 计划任务
├─ 服务
├─ WMI事件订阅
├─ DLL劫持
├─ AppInit_DLLs
├─ Image File Execution Options
├─ Shell扩展
└─ 其他隐藏持久化方式第八章:综合响应平台
8.1 Velociraptor(端点可见性平台)
功能:端点可见性与响应,远程收集和分析
下载地址:https://github.com/Velocidex/Velociraptor
核心用途:
- 远程端点监控
- 实时数据收集
- 恶意检测与响应
- 文件系统分析
关键VQL查询:
# 查看进程
SELECT * FROM pslist()
# 查看网络连接
SELECT * FROM netstat()
# 查看启动项
SELECT * FROM registry(key='HKLM\Software\Microsoft\Windows\CurrentVersion\Run')
# 收集文件
SELECT * FROM glob(globs='C:\Users\*\AppData\*.exe')
# 搜索恶意文件
SELECT * FROM glob(globs='C:\**\*.exe') WHERE Name LIKE '%malware%'8.2 KAPE(快速取证收集)
功能:快速收集取证数据和证据
下载地址:https://github.com/KapeFiles/KapeFiles
核心用途:
- 快速收集关键文件
- 自动化取证流程
- 减少现场停留时间
使用方法:
# 收取目标文件
KAPE.exe --target KapeTuples --source C: --output D:\KapeOutput
# 收取并处理
KAPE.exe --target KapeTuples --module Modules --source C: --output D:\KapeOutput
# 快速收集
KAPE.exe --target !SANS_Triage --source C: --output D:\KapeOutput8.3 CyLR(日志快速收集)
功能:快速收集关键日志和文件
下载地址:https://github.com/orlikoski/CyLR
核心用途:
- 📝 快速收集关键日志
- 💾 收集取证文件
- 🌐 支持网络传输
使用方法:
# 快速收集到本地
CyLR.exe -o output.zip
# 收集并上传到服务器
CyLR.exe -u https://server/upload -o output.zip
# 自定义收集目标
CyLR.exe -c custom_config.json -o output.zip第九章:应急响应实战流程
9.1 响应流程总览
应急响应流程
│
├─ Step 1: 初步研判
│ ├─ 确认事件类型
│ ├─ 评估影响范围
│ └─ 确定响应优先级
├─ Step 2: 现场保护
│ ├─ 避免重启(保留内存证据)
│ ├─ 断开网络(阻止扩散)
│ └─ 保护日志(防止清除)
├─ Step 3: 证据收集
│ ├─ 内存dump(Volatility)
│ ├─ 日志收集(Event Log)
│ ├─ 进程信息(Procmon/Procexp)
│ ├─ 网络连接(TCPView/netstat)
│ ├─ 文件系统(Autoruns/Strings)
│ ├─ 注册表(Autoruns/RegRipper)
│ └─ MFT/Prefetch(Eric Zimmerman)
├─ Step 4: 初步分析
│ ├─ 进程分析(Procexp)
│ ├─ 行为分析(Procmon)
│ ├─ 网络分析(Wireshark/TCPView)
│ ├─ 文件分析(VirusTotal/Strings)
│ ├─ 持久化分析(Autoruns)
│ └─ 日志分析(LogParser)
├─ Step 5: 深度分析
│ ├─ 内存分析(Volatility)
│ ├─ 代码逆向(IDA/Ghidra)
│ ├─ 流量分析(Wireshark)
│ └─ 威胁情报(微步/VirusTotal)
├─ Step 6: 阻断处置
│ ├─ 结束恶意进程
│ ├─ 断开恶意连接
│ ├─ 删除持久化项目
│ ├─ 清理恶意文件
│ └─ 重置凭证密码
├─ Step 7: 系统恢复
│ ├─ 系统完整性检查
│ ├─ 补丁更新
│ ├─ 安全加固
│ ├─ 监控部署
│ └─ 用户培训
└─ Step 8: 报告总结
├─ 事件时间线
├─ 攻击路径分析
├─ IOC提取
├─ 影响评估
├─ 经验教训
└─ 加固建议9.2 证据收集顺序
重要原则:易失性数据优先收集
易失性数据收集顺序(按易失性从高到低)
│
├─ 1. 内存数据(最易失)
│ ├─ DumpIt/WinPMEM dump内存
│ └─ ProcDump dump进程内存
├─ 2. 网络连接
│ ├─ netstat -ano
│ ├─ TCPView截图
│ └─ Wireshark抓包
├─ 3. 进程信息
│ ├─ tasklist /v
│ ├─ Process Explorer导出
│ └─ Procmon日志
├─ 4. 注册表数据
│ ├─ Autoruns导出
│ └─ RegRipper分析
├─ 5. 文件系统
│ ├─ Prefetch文件
│ ├─ MFT记录
│ ├─ $J日志
│ └─ 用户目录文件
├─ 6. Windows日志(较稳定)
│ ├─ Security.evtx
│ ├─ System.evtx
│ ├─ Application.evtx
│ ├─ PowerShell日志
│ └─ Task Scheduler日志
└─ 7. 静态文件(最稳定)
├─ 恶意文件样本
├─ 配置文件
└─ 用户文档9.3 快速响应脚本示例
一键收集脚本(PowerShell):
# 应急响应一键收集脚本
# 输出目录
$outputDir = "C:\IR_Collection_" + (Get-Date -Format 'yyyyMMdd_HHmmss')
New-Item -ItemType Directory -Path $outputDir | Out-Null
# 1. 收集网络连接
netstat -ano | Out-File -FilePath "$outputDir\netstat.txt"
netstat -ano | findstr ESTABLISHED | Out-File -FilePath "$outputDir\netstat_established.txt"
# 2. 收集进程信息
tasklist /v | Out-File -FilePath "$outputDir\tasklist.txt"
Get-Process | Select-Object Name,Id,Path,StartTime | Export-Csv -FilePath "$outputDir\processes.csv" -NoTypeInformation
# 3. 收集服务信息
Get-Service | Where-Object {$_.Status -eq "Running"} | Select-Object Name,DisplayName,Status | Export-Csv -FilePath "$outputDir\services.csv" -NoTypeInformation
# 4. 收集启动项
Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" | Out-File -FilePath "$outputDir\run_hklm.txt"
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" | Out-File -FilePath "$outputDir\run_hkcu.txt"
# 5. 收集用户账户
net user | Out-File -FilePath "$outputDir\users.txt"
net localgroup administrators | Out-File -FilePath "$outputDir\admin_users.txt"
# 6. 收集计划任务
Get-ScheduledTask | Where-Object {$_.State -eq "Ready"} | Select-Object TaskName,TaskPath,State | Export-Csv -FilePath "$outputDir\scheduled_tasks.csv" -NoTypeInformation
# 7. 收集日志
Copy-Item "C:\Windows\System32\winevt\Logs\Security.evtx" -Destination "$outputDir\"
Copy-Item "C:\Windows\System32\winevt\Logs\System.evtx" -Destination "$outputDir\"
Copy-Item "C:\Windows\System32\winevt\Logs\Application.evtx" -Destination "$outputDir\"
Copy-Item "C:\Windows\System32\winevt\Logs\Microsoft-Windows-PowerShell%4Operational.evtx" -Destination "$outputDir\" -ErrorAction SilentlyContinue
# 8. 收集Prefetch
Copy-Item "C:\Windows\Prefetch\*" -Destination "$outputDir\Prefetch\" -Recurse -ErrorAction SilentlyContinue
# 9. 收集最近修改的文件(24小时内)
Get-ChildItem C:\Users\ -Recurse -Include *.exe,*.dll,*.ps1,*.bat -ErrorAction SilentlyContinue |
Where-Object {$_.LastWriteTime -gt (Get-Date).AddHours(-24)} |
Select-Object FullName,LastWriteTime,Length |
Export-Csv -FilePath "$outputDir\recent_files.csv" -NoTypeInformation
# 输出完成
Write-Host "收集完成,输出目录: $outputDir"第十章:工具使用最佳实践
10.1 工具准备建议
应急响应工具包准备清单:
USB应急响应工具包
│
├─ Sysinternals套件
│ ├─ procmon.exe
│ ├─ procexp.exe
│ ├─ autoruns.exe
│ ├─ procdump.exe
│ ├─ tcpview.exe
│ ├─ strings.exe
│ └─ sigcheck.exe
├─ 网络分析
│ ├─ Wireshark便携版
│ └─ nmap便携版
├─ 内存取证
│ ├─ DumpIt.exe
│ ├─ WinPMEM.exe
│ └─ Volatility便携版
├─ 日志分析
│ ├─ LogParser.exe
│ └─ Eric Zimmerman工具集
├─ 注册表分析
│ ├─ RegRipper
│ └─ Registry Explorer
├─ 恶意检测
│ ├─ VirusTotal链接
│ ├─ 微步在线链接
│ └─ YARA规则
├─ 综合平台
│ ├─ Velociraptor便携版
│ ├─ KAPE
│ └─ CyLR.exe
└─ 脚本与配置
├─ 一键收集脚本
├─ 常用过滤配置
├─ Procmon配置文件
└─ Autoruns配置10.2 环境隔离建议
分析环境搭建:
隔离环境要求
├─ 物理隔离机
│ ├─ 断网环境
│ ├─ 可清空重装
│ └─ 专用取证机器
├─ 虚拟机分析环境
│ ├─ VMware/VirtualBox
│ ├─ 快照备份
│ ├─ 网络隔离模式
│ └─ 共享文件夹控制
└─ 沙箱环境
├─ Sandboxie
├─ Windows Sandbox
└─ 在线沙箱(Any.Run、Hybrid Analysis)10.3 证据保全建议
证据保全原则:
证据保全要点
│
├─ 1. 原始证据保护
│ ├─ 计算Hash(MD5/SHA256)
│ ├─ 记录收集时间
│ ├─ 记录收集人员
│ └─ 记录收集方法
├─ 2. 证据链记录
│ ├─ 证据编号
│ ├─ 时间戳记录
│ ├─ 操作记录
│ ├─ Hash校验
│ └─ 存储位置
├─ 3. 存储要求
│ ├─ 专用存储介质
│ ├─ 加密存储
│ ├─ 备份副本
│ └─ 访问控制
└─ 4. 分析要求
├─ 使用副本分析
├─ 保留原始证据
├─ 记录分析过程
└─ 验证Hash一致性附录:工具速查表
Sysinternals工具速查
| 工具 | 功能 | 关键命令 |
|---|---|---|
| Process Monitor | 实时监控 | procmon.exe /Capture /BackingFile log.pml |
| Process Explorer | 进程分析 | 查看DLL、句柄、网络 |
| Autoruns | 启动项扫描 | autoruns.exe -a |
| ProcDump | 内存dump | procdump.exe -ma PID output.dmp |
| TCPView | 网络连接 | 实时监控TCP/UDP |
| Strings | 字符串提取 | strings.exe -n 8 file.exe |
| Sigcheck | 签名验证 | sigcheck.exe -vt file.exe |
内存取证命令速查
# Volatility关键命令
volatility -f memory.dmp --profile=Win10x64 pslist # 进程列表
volatility -f memory.dmp --profile=Win10x64 netscan # 网络连接
volatility -f memory.dmp --profile=Win10x64 malfind # 恶意代码
volatility -f memory.dmp --profile=Win10x64 hashdump # 密码哈希日志查询速查
# 关键日志事件ID
4624 - 登录成功
4625 - 登录失败
4688 - 进程创建
# PowerShell查询
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} -MaxEvents 100网络命令速查
# netstat关键命令
netstat -ano | findstr ESTABLISHED # 已建立连接
netstat -ano | findstr LISTENING # 监听端口
netstat -ano | findstr :443 # 特定端口文档版本:v1.0
创建日期:2026-07-09
适用场景:Windows 系统应急响应、恶意软件分析、安全事件调查
安全提示:应急响应工具仅用于合法安全调查,不得用于非法入侵或破坏活动。所有分析应在隔离环境中进行,避免对生产系统造成影响。
学习建议:建议搭建专用实验环境(虚拟机),定期演练应急响应流程,熟悉各类工具的使用方法和场景。
参考链接
- https://learn.microsoft.com/sysinternals
- https://github.com
- https://www.virustotal.com
- https://x.threatbook.cn
- https://ericzimmerman.github.io
- https://learn.microsoft.com/sysinternals/downloads/processmonitor
- https://learn.microsoft.com/sysinternals/downloads/processexplorer
- https://learn.microsoft.com/sysinternals/downloads/autoruns
- https://learn.microsoft.com/sysinternals/downloads/procdump
- https://learn.microsoft.com/sysinternals/downloads/tcpview
- https://learn.microsoft.com/sysinternals/downloads/strings
- https://learn.microsoft.com/sysinternals/downloads/sigcheck
- https://www.wireshark.org/download.html
- https://www.virustotal.com
- https://github.com/hasherezade/pe-bear-releases
- https://github.com/volatilityfoundation/volatility
- https://github.com/thimotee/DumpIt
- https://github.com/Velocidex/WinPmem
- https://github.com/ufrisk/MemProcFS
- https://www.microsoft.com/en-us/download/details.aspx?id=24690
- https://ericzimmerman.github.io
- https://github.com/keydet89/RegRipper3.0
- https://github.com/kacos2000/WindowsPersistence
- https://github.com/Velocidex/Velociraptor
- https://github.com/KapeFiles/KapeFiles
- https://github.com/orlikoski/CyLR

