)
解析 Windows 注册表取证伪影regipy API 与 RegRipper 实战参考Anthropic-Cybersecurity-Skills【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills本篇文章围绕 Anthropic-Cybersecurity-Skills 仓库中analyzing-windows-registry-for-artifacts技能及其 API 参考文档 展开系统讲解如何用 regipy、RegRipper 等工具从取证镜像中提取 Windows 注册表伪影覆盖持久化入口、用户活动重建、USB 设备历史等场景。读完本文你将掌握注册表 hive 的定位与提取、regipy 编程式解析 API、UserAssist 数据手工解码以及 RegRipper 插件式批量提取的完整实战方法。一、背景为什么注册表是 Windows 取证的伪影金矿Windows 注册表以二进制 hive 文件形式存储系统配置与用户行为痕迹是数字取证DFIR中信息密度最高的数据源之一。无论是调查恶意软件持久化、重建用户活动时间线还是追踪 USB 设备与已安装软件注册表都能提供关键证据。在该技能中注册表取证被映射到多个权威框架SKILL.md的 frontmatter 声明了 NIST CSF 的RS.AN-03分析、DE.AE-02事件分析、RS.MA-01缓解与 MITRE ATTCK 的T1012查询注册表、T1547.001注册表运行键/启动文件夹、T1112修改注册表、T1003.002注册表安全账户管理器、T1025可移动介质中的文件。其中 T1547Boot or Logon Autostart Execution在仓库的 MITRE ATTCK 覆盖总结 中被明确列入该技能的覆盖范围——这正是注册表在持久化取证中的核心价值体现。二、API 参考核心用 regipy 打开注册表 HiveAPI 参考文档 给出了 regipy 的两个基础用法它们也是仓库配套 agent.py 中所有提取函数的底层基石。2.1 打开 hive 并读取键值RegistryHive是 regipy 的入口类接收 hive 文件的路径如NTUSER.DAT。get_key()按路径定位键iter_values()迭代键下的所有值from regipy.registry import RegistryHive reg RegistryHive(/path/to/NTUSER.DAT) key reg.get_key(Software\\Microsoft\\Windows\\CurrentVersion\\Run) print(key.header.last_modified) for val in key.iter_values(): print(val.name, val.value)key.header.last_modified即注册表键的Last Write Time——这是取证中极其重要的时间戳记录了键最后一次被修改的时刻可用于与恶意软件执行时间线做交叉比对。2.2 迭代子键枚举软件列表枚举某键下的所有子键例如 Uninstall 键下的每个已安装软件条目key reg.get_key(Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall) for subkey in key.iter_subkeys(): print(subkey.name, subkey.header.last_modified)在 agent.py 的extract_installed_software()中正是用iter_subkeys()遍历Microsoft\Windows\CurrentVersion\Uninstall的每个子键再过滤DisplayName、DisplayVersion、Publisher、InstallDate等字段生成软件清单key reg.get_key(Microsoft\\Windows\\CurrentVersion\\Uninstall) for subkey in key.iter_subkeys(): entry {key: subkey.name} for val in subkey.iter_values(): if val.name in (DisplayName, DisplayVersion, Publisher, InstallDate): entry[val.name] str(val.value)三、关键取证注册表路径速查表API 参考文档 提供了一张核心路径表按 hive 与伪影类型组织。表中路径均省略了顶层前缀HKLM\SOFTWARE、HKCU\Software等PathHiveArtifactMicrosoft\Windows\CurrentVersion\RunSOFTWARE / NTUSERAutostart entriesMicrosoft\Windows\CurrentVersion\RunOnceSOFTWARE / NTUSEROne-time autostartCurrentVersion\Explorer\UserAssistNTUSERProgram execution (ROT13)CurrentVersion\Explorer\RecentDocsNTUSERRecently opened documentsCurrentVersion\Explorer\TypedPathsNTUSERExplorer address bar historyControlSet00X\Enum\USBSTORSYSTEMUSB device historyMountedDevicesSYSTEMDrive letter assignmentsCurrentVersion\UninstallSOFTWAREInstalled softwareControlSet00X\Control\ComputerNameSYSTEMComputer nameControlSet00X\Control\TimeZoneInformationSYSTEMSystem timezone实操提示ControlSet00X中的00X是控制集编号如ControlSet001需结合 SYSTEM hive 的Select\Current值确定当前生效的控制集。这一点在 agent.py 的extract_system_info()中有直接体现——先读取Select键的Current值再动态拼接ControlSet{current:03d}路径来定位 ComputerName 与 TimeZoneInformation 键。四、UserAssist 解码还原程序执行历史UserAssist 是记录用户程序启动次数与最后执行时间的隐藏数据源其值名使用 ROT13 编码混淆值二进制结构内嵌计数与 FILETIME 时间戳。API 参考文档 给出了手工解码的核心片段import codecs, struct from datetime import datetime, timedelta decoded_name codecs.decode(rot13_name, rot_13) run_count struct.unpack_from(I, data, 4)[0] timestamp struct.unpack_from(Q, data, 60)[0] ts datetime(1601, 1, 1) timedelta(microsecondstimestamp // 10)关键点说明名称解码codecs.decode(name, rot_13)还原 ROT13 编码的应用程序路径运行次数偏移 4 处的 4 字节小端无符号整数上次运行时间偏移 60 处的 8 字节 FILETIME100ns 为单位的 1601-01-01 纪元除以 10 转为微秒后加上纪元即得 UTC 时间。仓库配套脚本 agent.py 的extract_userassist()将该逻辑工程化遍历UserAssist下的 GUID 子键进入其Count子键逐值解码同时校验len(data) 68保证时间戳字段存在并格式化输出运行次数 最后运行时间。这与SKILL.md中UserAssist 是带时间戳的 ROT13 编码程序执行记录的概念定义完全对应。五、RegRipper 插件命令行批量提取当目标不是编程式定制而是快速批量出报告时RegRipper 的插件体系是最佳选择。API 参考文档 列出了常见插件的调用方式# NTUSER.DAT analysis rip.pl -r NTUSER.DAT -p userassist rip.pl -r NTUSER.DAT -p recentdocs rip.pl -r NTUSER.DAT -p typedurls # SYSTEM hive rip.pl -r SYSTEM -p compname rip.pl -r SYSTEM -p usbstor rip.pl -r SYSTEM -p shutdown-r指定 hive 文件-p指定插件名。除上述插件外SKILL.md 的完整工作流还覆盖了更全面的插件组合例如nic2网络接口配置SYSTEM hivenetworklist无线网络连接历史SOFTWARE hivetimezone系统时区SYSTEM hiveuninstall已安装软件SOFTWARE hivetypedpaths资源管理器地址栏输入历史NTUSER.DAT。六、完整实战工作流从镜像到报告SKILL.md 给出了端到端的六步流程是 API 参考文档的最佳应用场景。核心要点如下。6.1 从取证镜像提取 hive只读挂载镜像后复制系统 hiveSAM、SYSTEM、SOFTWARE、SECURITY、DEFAULT、用户 hiveUsers/*/NTUSER.DAT、Users/*/AppData/Local/Microsoft/Windows/UsrClass.dat以及用于脏 hive恢复的日志文件*.LOG*最后用sha256sum记录所有 hive 的哈希以维持证据链完整。6.2 一键式自动化仓库配套 Agent 脚本仓库为整个技能配套了可直接运行的 agent.py它把上述所有提取逻辑封装为命令行工具支持以下参数python3 scripts/agent.py \ --system-hive /cases/case-2024-001/registry/SYSTEM \ --software-hive /cases/case-2024-001/registry/SOFTWARE \ --ntuser /cases/case-2024-001/registry/NTUSER.DAT \ --output-dir ./registry_analysis \ --action full_analysis--action可选autorun、userassist、recent_docs、system_info、installed_software、full_analysis默认输出 JSON 报告registry_report.json包含系统信息、软件与用户自启动项、UserAssist 执行历史、最近文档、已安装软件等。该脚本还内置了可疑项初筛逻辑flag_suspicious_autorun()agent.py对自启动条目值做小写化后匹配\temp\、\appdata\、\programdata\、\public\、powershell、cmd等特征路径命中即标记suspicious: True并给出原因——这直接呼应了SKILL.md输出格式示例中updater.exe-C:\ProgramData\svc\updater.exe被标为可疑的研判逻辑。6.3 典型应用场景SKILL.md归纳了四类高频场景可直接套用恶意软件持久化调查提取 SOFTWARE 与 NTUSER.DAT检查所有 Run/RunOnce 键结合服务与计划任务键交叉比对将自启动时间戳与恶意软件执行时间线关联用户活动重建UserAssist执行历史 RecentDocs访问文件 TypedPaths导航历史 ShellBags文件夹访问模式构建事件窗口内的时间线未授权软件检测解析 Uninstall 键并与软件基线比对结合 BAM/DAM 与 AppCompatCache 捕捉卸载后仍有执行痕迹的可疑程序USB 数据外泄调查SYSTEM hive 的 USBSTOR 关联 MountedDevices配合 NTUSER.DAT 的 MountPoints2 与 SetupAPI 日志还原设备首次连接时间。七、输出报告与关键概念清单SKILL.md建议以结构化摘要形式输出分析结论包含系统信息计算机名、时区、最后关机时间、自启动条目统计含可疑项、用户活动统计、USB 设备清单与已安装软件数量。报告中应明确标注每条关键发现的来源键路径与 Last Write Time便于后续复核。在解读报告前需要掌握以下核心概念详见 SKILL.md 的关键概念表ConceptDescriptionRegistry hive存储注册表分区的二进制文件SAM、SYSTEM、SOFTWARE、NTUSER.DAT 等MRU (Most Recently Used)记录最近访问的文件、命令与搜索词UserAssistROT13 编码、带时间戳的程序执行记录ShimCache应用兼容性缓存记录已执行程序AmCache含可执行文件 SHA-1 哈希的详细执行历史BAM/DAMWin10 的后台/桌面活动调节器追踪程序执行Last Write Time键的最后修改时间戳Transaction logs支持非正常关机后恢复注册表状态的日志文件常用工具矩阵同样值得归档RegRipper插件化批量提取、Registry ExplorerEric Zimmerman 图形化交互分析、python-registry编程式解析、RECmd命令行分析、yarp、AppCompatCacheParser、AmcacheParser 与 ShellBags Explorer专项伪影解析。其中 regipy 即 python-registry 生态的现代替代品本文 API 参考部分即以它为主线。八、小结结合 API 参考文档 与 SKILL.md、agent.py 三份材料可以看到Windows 注册表取证的完整链路是只读提取 hive → 定位关键路径 → 插件批量出报告 / 编程式精细提取 → 时间线与可疑项研判。regipy 负责提供稳定的编程接口RegRipper 负责快速覆盖通用伪影而仓库的 agent.py 则将两者经验固化为可复用的自动化工具让 AI Agent 也能按 MITRE ATTCKT1012/T1547/T1112 等框架指引完成一次规范的注册表取证分析。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考