样本初筛的目标
初筛(Triage)的目标是用最低成本把样本的关键特征取出来,决定后续分析路径,而不是急着丢进沙箱。典型流程是四步:识别真实文件类型、计算哈希、看头部与结构化信息(可执行文件的节区、导入表、数字签名、编译时间)、抽取字符串作为线索。整个过程在隔离环境进行,产出是一份特征清单,供与情报比对和后续动态分析使用。初筛取得的信息虽然浅,但决定了后面要不要花几十分钟做动态验证。
基本信息
| 适用平台 | Linux 分析机(file、strings、binutils)或 Windows 分析机(配套工具) |
|---|---|
| 执行环境 | 必须隔离:断网或网络受限的虚拟机,不与生产网互通 |
| 核心步骤 | 识别类型 → 计算哈希 → 结构与签名 → 字符串抽样 |
| 记录内容 | 命令与参数、工具版本、关键输出、样本哈希 |
| 产出 | 特征清单(含哈希、类型、关键字符串与可疑行为线索) |
典型使用场景
- 收到告警样本后先判断是不是真正的可执行载荷
- 在大批样本中快速分类,把有限的分析精力放在高价值样本上
- 提取关键特征去情报平台比对,尽早获得家族信息
- 为沙箱分析做准备:确定运行环境与需要监控的行为点
- 为报告准备基础事实:文件类型、大小、哈希与字符串线索
初筛命令
初筛命令
# 1) 真实类型与哈希(不要只看扩展名)
file sample.bin
sha256sum sample.bin
# 2) 结构化线索:头部可读信息与节区名
strings -n 6 sample.bin | head -40
# 3) 关注行为相关关键字(下载、执行、持久化)
strings -n 8 sample.bin | grep -Ei 'http|cmd|powershell|schtasks|reg add|temp' | head -20
# 4) 提取可疑 URL 做情报比对
strings -n 6 sample.bin | grep -Eo 'https?://[^" ]+' | sort -u | head -20
# 5) 所有输出与命令原样留档,记录样本哈希与工具版本检查项对照
| 检查项 | 能回答的问题 | 注意点 |
|---|---|---|
| 文件类型 | 真实格式是否与扩展名一致 | 不一致是最高优先级的风险信号 |
| 哈希 | 是否与已知样本一致 | 建议同时记录 SHA-256 与文件大小 |
| 签名信息 | 是否由可信发布者签名 | 无签名不等于恶意,需结合上下文 |
| 节区与导入表 | 程序使用了哪些能力 | 加密或异常节区名需要进一步查看 |
| 字符串 | 包含哪些路径、域名与命令 | 命中只是线索,不能当作行为结论 |
初筛在隔离环境进行,产出特征清单供后续比对;不要把初筛结论直接写进报告当行为定性,动态验证或代码分析才是定性的依据。
大文件先按段抽样看字符串,避免在无价值的片段上消耗大量时间;同时记录抽样方式,便于他人复核。