EZTools实战系列(一):注册表取证与程序执行痕迹追踪

admin 2026-03-09 02:27:53 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了利用EZTools工具集进行Windows注册表取证与程序执行痕迹追踪的方法。详细讲解了使用RLA修复脏数据、通过AmcacheParser和AppCompatCacheParser分析程序执行历史及提取SHA1哈希等关键信息、以及利用RECmd批量扫描恶意自启动项的实操步骤。文章总结了一套科学的注册表取证工作流,帮助安全人员在应急响应中发现攻击者残留的隐蔽痕迹。 综合评分: 91 文章分类: 应急响应,安全工具,实战经验,终端安全


cover_image

EZ Tools 实战系列 (一):注册表取证与程序执行痕迹追踪

原创

凉城 凉城

ListSec

2026年3月6日 21:18 江西

EZ Tools 实战系列 (一):注册表取证与程序执行痕迹追踪

工具说明

| 工具名称 | 描述 | | — | — | | AmcacheParser | 解析 ‎Amcache.hve 文件,提取程序安装、执行等历史信息。支持处理被锁定的 Amcache 文件,可用于分析程序使用时间线。 | | AppCompatCacheParser | 解析 AppCompatCache / ShimCache,提取系统中曾经运行过的程序痕迹。常用于确认特定程序是否在某台机器上运行过。 | | RECmd | 强大的命令行注册表工具,可以:搜索多个注册表 hive;使用插件做规则化分析;导出结果为 CSV 等格式。 典型用法是编写或使用现有插件批量抽取取证关键项。 | | Registry Explorer | 图形界面版注册表查看与分析工具。支持多 hive 加载、搜索、插件解析,并能处理锁定的注册表文件。 | | RLA | 用于回放注册表事务日志(transaction logs),将脏 hive 更新为干净状态。在某些工具无法处理带事务日志的 hive 时,可先用 RLA 修复后再分析。 |


0x01、 引言:为什么注册表是攻击者的”照妖镜”?

在攻防对抗中,攻击者往往会在攻击成功后清理战场。可能会删除所有上传的恶意样本,清空服务器的系统日志,甚至采用”无文件落地”(Fileless)的高级技巧将恶意代码驻留在内存中。

然而,雁过拔毛,风过留声。只要一个程序(PE 文件)在 Windows 操作系统上运行过,哪怕它已经被彻底粉碎,操作系统的内核机制依然会在系统注册表的冰山之下,刻下难以抹除的历史痕迹。注册表,就是让隐秘黑客现形的”照妖镜”。

本文将带你使用 Eric Zimmerman 取证工具集(EZ Tools),通过 RLAAmcacheParserAppCompatCacheParserRECmd 等四大杀器,打通注册表取证的任督二脉,让隐秘的恶意程序无所遁形。


0x02、RLA (脏数据修复)

许多新手都会在一个地方栽跟头:直接去被黑主机的 C:\Windows\System32\config 目录下复制 SYSTEMSOFTWARE 等全局配置 Hive,或是去用户的个人家目录(如 C:\Users\用户名)下提取 NTUSER.DAT 文件。

场景痛点:在强行加载 NTUSER.DAT(如 C:\Users\用户名)时报错,或发现恶意活动记录缺失,这就是典型的”脏(Dirty)”数据问题。Windows 为了性能,注册表的最新更改会先缓存在内存和底层的事务日志(Transaction Logs,通常以后缀 .LOG1.LOG2 存在) 中,还没来得及落盘。如果强行拷贝正在被系统占用的主文件,你拿到的将是一个”残缺”的旧档。

有了 RLA,你就不必等计算机重启来完成数据同步,就可以自动回放重建注册表。

实操演示:假设我们收集到了受害者用户的 NTUSER.DAT,以及同目录下的 NTUSER.DAT.LOG1 和 .LOG2

附件来源

# 执行 RLA 回放修复,指定包含了日志和 DAT 文件的源目录
rla.exe -d "C:\Users\lca\Downloads\FlagYard\Forensics\Assets\C\Users\FlagYard" --out ./temp

执行完成后,temp 输出目录下便得到一个合并事务日志、修复成功的 DAT 文件。

修复后就可以通过 Registry Explorer 工具图形化加载输出的 DAT 文件了。

修复 Hive 文件后再加载

如果你是直接从正在运行的系统上,企图直接拷贝、加载家目录下的 DAT 或系统 System 文件,则会报错被占用,或提示需管理员权限。

此时可以通过 rla 绕过层级直接进行提取(注意:运行 rla 提取一样需要管理员权限)。

# 强行提取并修复
rla.exe -f "C:\Users\lca\NTUSER.DAT" --out ./temp

然后再将生成的干净文件拖入前端正常加载:


依据Eric Zimmerman(EZ Tools)取证工具大全中的黄金法则,使用 kape 提取注册表信息,可以将当前系统的注册表信息提取出来,方便分析。kape提取的信息很完整,方便复现,如下所示。


0x03、 AmcacheParser

Amcache.hve 最初是为了在 Windows 8 中实现兼容性功能而引入的。它的威力在于:不仅能告诉你某个漏洞利用工具(哪怕现在已经被删除了)是否在这台机器上出现过,还能顺藤摸瓜提取出该程序的 SHA1 哈希值 、文件的精确外来安装与首次执行时间

实操:

1、首先使用KAPE提取amcache文件,用这个来做演示。

2、导出后的位置如下

# 解析提取到的 Amcache.hve,并将结果批量转化为易读的 CSV 格式
C:\Users\lca\Desktop\ez tools>AmcacheParser.exe -f C:\Users\lca\Downloads\templ\C\Windows\AppCompat\Programs\Amcache.hve --csv "C:\Users\lca\Desktop\ez tools\temp" --csvf amcache-result.csv

| 文件名称 | 描述 | | — | — | | amchache-result_UnassociatedFileEntries.csv | 未关联的文件条目(重点关注),记录了系统中出现过、被执行过,但并没有通过正规安装程序(没有写入“卸载/更改程序”列表)注册的独立可执行文件(如 .exe.dll.sys)。 | | amchache-result_DevicePnps.csv | 即插即用(Plug and Play, PnP)设备记录。(USB溯源) | | amchache-result_DeviceContainers.csv | 设备容器记录,DevicePnps的补充 | | amchache-result_ShortCuts.csv | 快捷方式(LNK 文件)记录。 | | amchache-result_DriverPackages.csv | 驱动程序包记录。 | | amchache-result_DriveBinaries.csv | 驱动程序二进制文件记录。 |

研判提示:

打开amchache-result_UnassociatedFileEntries.csv文件,全盘搜索你怀疑的黑客工具名(如 mimikatz.exe 或 fscan.exe),重点盯住三个字段:

  • • FileKeyLastWriteTimestamp:立刻锁定恶意工具首次被运行的绝对时间戳。
  • • FullPath:该文件在磁盘上的绝对路径。
  • • SHA1:文件hash值,你可以直接把这个值丢到微步在线 (ThreatBook)、VirusTotal 等威胁情报平台上查询,一秒钟就能知道它是不是木马、勒索软件或黑客工具。

FileKeyLastWriteTimestamp排序,重点看你发现服务器异常的那两三天内,出现了哪些 Unassociated 的文件。

0x04、AppCompatCacheParser

能查什么?

如果说 Amcache 是安装记录册,那 AppCompatCache (俗称 ShimCache) 就是系统底层的兼容性安检通道。ShimCache 是 Windows 系统为了保证旧版程序在新系统上能兼容运行而设计的一个缓存机制。只要一个可执行文件(如 .exe, .sys, .dll)在系统中被浏览过、属性被读取过或被执行过,系统就会把它记录到 ShimCache 中。

实操与研判提示:ShimCache 的数据藏在主 SYSTEM 注册表下。

1、使用KAPE抓取system注册表内容。

2、AppCompatCacheParser解析

# 解析修复后的 SYSTEM hive 导出历史运行痕迹
AppCompatCacheParser.exe -f "C:\Users\lca\Downloads\templ\C\Windows\System32\config\SYSTEM" --csv "C:\Users\lca\Desktop\ez tools\temp" --csvf shimcache.csv

研判提示:

打开这张表,检索可疑后缀名,重点关注LastModifiedTimeUTC字段。这意味着在那个精准的时间点,该恶意文件与操作系统的执行底层发生过真实的交互。

0x05、 RECmd (注册表命令行大杀器)

在 Windows 数字取证(DFIR)领域,如果你已经掌握了 Amcache 和 ShimCache(用于追踪程序执行),那么接下来进入 RECmd (Registry Explorer Command-line) 就是非常顺理成章且极其关键的一步。

RECmd是图形化注册表工具 Registry Explorer 的命令行版本。

场景

通过调查,你已经知道了黑客什么时候来的。现在核心问题是:黑客为了确保持久权限,在暗地里留了后门没有?

你打开 Registry Explorer 图形化界面,面对着 RunRunOnce、WMI 驻留、IFEO 劫持等成千上万个可能藏污纳垢的自启动注册表节点。一个个翻看不仅容易看瞎眼,漏报率也极高。

RECmd 绝对不仅仅只是一个普通的命令行搜索工具,它支持挂载**批量规则插件。

全球取证社区的大牛们已经用血泪经验写好了几百个专用于扫描”恶意自启动项”、“影子隐藏账户键值”、“RDP 被黑劫持记录”的配置字典(.reb 文件)。 用 RECmd 搭配这些脚本,就相当于给全系统的注册表做一次”核磁共振”。

reb文件

实战

1、提取所有注册表信息

2、导出的文件

3、执行RECmd程序分析

# 使用内置的已知恶意后门驻留规则集(RECmd_Batch_MC.reb),开启全盘扫黑猎杀
C:\Users\lca\Desktop\ez tools\RECmd>RECmd.exe -d "C:\Users\lca\Downloads\templ\C" --bn BatchExamples\RECmd_Batch_MC.reb --csv "C:\Users\lca\Desktop\ez tools\temp"

输出的文件

RECmd 就会像秋风扫落叶一样,并发横扫传入目录下的所有种类 Hive 文件(Software, System, NTUSER 等)。并且会将那些触碰了各类已知安全高压线(如可疑的伪装启动键、隐藏的后门服务项)提取到csv中。

可以用TimelineExplorer批量打开csv文件,逐个分析

五、 总结与实战工作流

在真实的应急实战中,我们并不是拿着工具乱敲一气,科学的”注册表取证三步曲”大概流程:

1、使用RLA修复无法打开的文件。 2、借用 AmcacheParser 和 AppCompatCacheParser分析。 3、使用RECmd全局搜索注册表信息,借助TimelineExplorer查看csv文件。 4、借助KAPE可以导出注册表信息。


补充:

知识扩展:hive 文件与 DAT 文件有什么区别?

  1. 1. Hive 文件(注册表配置单元)
  • • 定义:在 Windows 中,Hive(配置单元) 是注册表的一个逻辑分支。在物理硬盘上,Windows 将注册表数据分割成多个文件来存储,这些没有扩展名的核心文件及其附属的日志文件统称为 Hive 文件。
  • • 常见例子:C:\Windows\System32\config\SAM、SOFTWARE、SYSTEM 等。特点是通常没有文件后缀名。
  1. 2. DAT 文件(数据文件)
  • • 定义:.dat 是 Data(数据)的缩写,是一个通用的文件扩展名。
  • • 在注册表中的关联:用户的个人配置由于按用户隔离,保存在带有后缀的 NTUSER.DAT 文件中。

核心区别与联系:NTUSER.DAT 核心本质上依然是一个 Hive 格式文件。概念层级上,“Hive” 指的是一种内部注册表数据结构,而 “.DAT” 只是基于命名约定的通用后缀。在取证软件眼里,它们的解析方式并无一二。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:ListSec 凉城 凉城《EZ Tools 实战系列 (一):注册表取证与程序执行痕迹追踪》

英语学习随想 网络安全文章

英语学习随想

文章总结: 作者从语言设计者视角重新解读英语语法本质逻辑,提出时态用于表达状态、事件和结果三种情况,认为begoingto、wantto、haveto并非固定词
评论:0   参与:  0