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工具集
    └─ CyLR

1.2 工具获取渠道

官方与可信来源:

来源链接说明
Sysinternalshttps://learn.microsoft.com/sysinternalsMicrosoft官方工具集
GitHubhttps://github.com开源工具主站
VirusTotalhttps://www.virustotal.com在线恶意检测
微步在线https://x.threatbook.cn国内威胁情报
Eric Zimmermanhttps://ericzimmerman.github.ioWindows取证工具集

安全提示:所有工具必须从官方渠道下载,避免使用来源不明的工具。


第二章: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 → Include

2.2 Process Explorer(进程分析)

功能:进程树、DLL、句柄、网络连接分析

下载地址:https://learn.microsoft.com/sysinternals/downloads/processexplorer

核心用途:

  • 查看进程父子关系
  • 查看进程加载的DLL
  • 检测DLL注入
  • 查看进程网络连接

关键功能:

功能用途
Process Tree进程父子关系追踪
DLL ViewDLL加载检测
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 VirusTotal

2.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.dmp

2.5 TCPView(网络连接监控)

功能:实时监控TCP/UDP连接

下载地址:https://learn.microsoft.com/sysinternals/downloads/tcpview

核心用途:

  • 实时查看网络连接
  • 查看连接对应的进程
  • 监控异常网络活动

关键信息:

列说明
Process进程名
PID进程ID
ProtocolTCP/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.exe

2.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(多引擎恶意检测)

功能:使用数十个杀毒引擎检测文件

网址:https://www.virustotal.com

核心用途:

  • 快速检测恶意文件
  • 查看文件基本信息(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 psxview

Profile选择:

# 查看支持的Profile
volatility --info | grep Win
常见Profile:
├─ Win10x64_19041  ← Windows 10 2004+
├─ Win7x64         ← Windows 7
├─ Win8x64         ← Windows 8
├─ WinXPx86        ← Windows XP
└─ Win2019x64      ← Windows Server 2019

5.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通用组添加成员
4768Kerberos TGT请求
4769Kerberos服务票证请求
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 security

PowerShell查询:

# 查询登录事件(最近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,Message

6.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:TEXTLINE

6.4 Eric Zimmerman日志工具

下载地址:https://ericzimmerman.github.io

关键工具:

工具用途
EvtxECmdEVTX日志解析与输出
PECmdPrefetch文件分析
MFTECmdMFT/MFTMirr/$J分析
Registry Explorer注册表可视化分析
LECmdLNK文件分析
JLECmdJumpList分析

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服务分析
softwareSoftware hive分析
systemSystem 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.txt

7.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:\KapeOutput

8.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内存dumpprocdump.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 系统应急响应、恶意软件分析、安全事件调查

安全提示:应急响应工具仅用于合法安全调查,不得用于非法入侵或破坏活动。所有分析应在隔离环境中进行,避免对生产系统造成影响。

学习建议:建议搭建专用实验环境(虚拟机),定期演练应急响应流程,熟悉各类工具的使用方法和场景。

参考链接

  1. https://learn.microsoft.com/sysinternals
  2. https://github.com
  3. https://www.virustotal.com
  4. https://x.threatbook.cn
  5. https://ericzimmerman.github.io
  6. https://learn.microsoft.com/sysinternals/downloads/processmonitor
  7. https://learn.microsoft.com/sysinternals/downloads/processexplorer
  8. https://learn.microsoft.com/sysinternals/downloads/autoruns
  9. https://learn.microsoft.com/sysinternals/downloads/procdump
  10. https://learn.microsoft.com/sysinternals/downloads/tcpview
  11. https://learn.microsoft.com/sysinternals/downloads/strings
  12. https://learn.microsoft.com/sysinternals/downloads/sigcheck
  13. https://www.wireshark.org/download.html
  14. https://www.virustotal.com
  15. https://github.com/hasherezade/pe-bear-releases
  16. https://github.com/volatilityfoundation/volatility
  17. https://github.com/thimotee/DumpIt
  18. https://github.com/Velocidex/WinPmem
  19. https://github.com/ufrisk/MemProcFS
  20. https://www.microsoft.com/en-us/download/details.aspx?id=24690
  21. https://ericzimmerman.github.io
  22. https://github.com/keydet89/RegRipper3.0
  23. https://github.com/kacos2000/WindowsPersistence
  24. https://github.com/Velocidex/Velociraptor
  25. https://github.com/KapeFiles/KapeFiles
  26. https://github.com/orlikoski/CyLR
Last modification:September 29th, 2026 at 04:21 pm
如果觉得我的文章对你有用,请随意赞赏