首页/安全/取证与溯源速查/Amcache 使用痕迹
Windows 取证55 条

Amcache 使用痕迹

Amcache 存储本机出现过的可执行文件与安装信息:文件首次出现时间与 SHA1 常被用作横向比对线索。

取证与溯源速查安全更新于 2026-10-13

Amcache 记录了什么

Amcache.hve 位于 C:\Windows\AppCompat\Programs 下,是应用兼容性组件维护的注册表配置单元,记录了本机出现过的可执行文件与安装信息,常见字段包含文件路径、文件大小、产品名称与文件的 SHA1 摘要。它在调查中的主要价值是“某程序曾经出现在这台机器上”,并给出可与其他样本库比对的哈希。措辞上要精确:Amcache 反映的是程序出现(被登记)的事实,不能直接当作执行证据,执行痕迹需要结合 Prefetch、进程创建日志与用户活动记录。

基本信息

适用平台Windows 7 及以上(Win7 中的结构与 Win8+ 差异较大)
文件位置C:\Windows\AppCompat\Programs\Amcache.hve
主要分支Root\InventoryApplicationFile(文件条目)、Root\InventoryApplication(安装条目)等
关键字段文件路径、SHA1、产品与发布者信息、键的最后写入时间
解析工具AmcacheParser(Windows);Linux 侧可用注册表配置单元读取类工具处理副本

典型使用场景

  • 确认某个可疑程序的路径与哈希,用于跨主机与样本库比对
  • 为“程序曾出现在该主机”提供路径级证据,补充 Prefetch 与事件日志
  • 发现从临时目录或用户目录运行的可执行文件条目
  • 与安装记录(Uninstall 键)互相印证,区分安装程序与绿色程序
  • 为事件时间线提供条目的最后写入时间作为参考锚点

解析与筛选

解析与筛选
# Windows 侧:导出为 CSV 后筛选
AmcacheParser.exe -f Amcache.hve --csv out/ --csvf amcache.csv
# 关注位于用户目录与临时目录的条目
find out -name '*.csv' -exec grep -i -E '\\\\Users\\\\|\\\\Temp\\\\|\\\\ProgramData\\\\' {} + | head -20
# 关注带 SHA1 的条目,用于样本库比对
grep -i -E ';[0-9a-f]{40};' out/amcache.csv | head -10
# 离线分析副本:先复制 Amcache.hve(含 .LOG 文件)再解析,避免影响主机

字段读法

字段含义判读要点
文件路径程序出现的完整位置用户目录、临时目录优先深挖
SHA1文件摘要可与样本库比对,但并非所有条目都有
产品与发布者登记的程序信息可被伪造,仅作辅助
最后写入时间键的更新时间反映登记时间,不等于首次运行时间
条目类型文件条目或安装条目两类信息的来源与含义不同,分开统计
报告措辞要用“该程序曾出现在这台主机上”,而不是“在该主机上运行过”:前者有 Amcache 支撑,后者需要执行痕迹佐证。
Amcache.hve 属于注册表配置单元,解析要离线进行:先复制文件(含同目录的日志文件)再分析,不要在生产主机上原地加载修改。

易错点

  • 把“出现过”写成“运行过”:措辞一旦越界,整段结论会被质疑,需明确证据边界
  • 在生产主机上直接加载配置单元:加载动作会改变键状态与时间,分析必须在副本上进行
  • 忽略日志伴随文件:配置单元的 .LOG 文件包含未合并的近期变更,缺失会导致条目不全
  • 把产品信息当可信证据:发布者与产品名可被伪造,应以路径与哈希为主要判断依据
  • 不同版本混用同一套解析规则:Win7 与 Win8+ 的结构差异较大,需按版本选择对应解析方式

数据来源与参考

  • Zimmerman AmcacheParser 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌