从受感染主机收集易失性证据
适用场景
- 已确认安全事件并识别出受感染主机
- 在系统隔离、关机或修复开始之前
- 怀疑存在驻留内存的恶意软件(无文件攻击)
- 需要捕获网络连接、运行进程和系统状态
- 法律程序可能要求保留取证证据
- 事件需要结合易失性数据进行根本原因分析
先决条件
- U 盘或网络共享上的取证收集工具包(可信工具)
- 用于内存获取的 WinPmem/LiME
- 用于磁盘镜像的写阻止器或取证工作站
- 证据链文档表单
- 具有完整性验证功能的安全证据存储
- 取证收集授权(内部人员案件需获得法律/HR 审批)
工作流程
步骤 1:准备收集环境
# 挂载取证 U 盘工具包(切勿在受感染系统上安装工具)
# 验证工具包完整性
sha256sum /mnt/forensic_usb/tools/* > /tmp/toolkit_hashes.txt
diff /mnt/forensic_usb/tools/known_good_hashes.txt /tmp/toolkit_hashes.txt
# 创建带时间戳的证据输出目录
EVIDENCE_DIR="/mnt/evidence/$(hostname)_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$EVIDENCE_DIR"
echo "Collection started: $(date -u)" > "$EVIDENCE_DIR/collection_log.txt"
echo "Collector: $(whoami)" >> "$EVIDENCE_DIR/collection_log.txt"
echo "System: $(hostname)" >> "$EVIDENCE_DIR/collection_log.txt"
步骤 2:捕获系统内存(最高易失性)
# Windows - WinPmem 内存获取
winpmem_mini_x64.exe "$EVIDENCE_DIR\memdump_$(hostname).raw"
# Linux - LiME 内核模块内存获取
insmod /mnt/forensic_usb/lime.ko "path=$EVIDENCE_DIR/memdump_$(hostname).lime format=lime"
# Linux - 使用 /proc/kcore 的替代方案
dd if=/proc/kcore of="$EVIDENCE_DIR/kcore_dump.raw" bs=1M
# macOS - osxpmem
osxpmem -o "$EVIDENCE_DIR/memdump_$(hostname).aff4…