Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

查询注册表 (T1012)

一句话通俗理解

就像翻看Windows系统的大辞典——攻击者查看注册表来获取系统配置、安装的软件和各种秘密信息。

30秒速查卡

维度你需要知道的
这是什么?攻击者使用 reg query 或 PowerShell Get-ItemProperty 查询注册表关键路径,获取系统版本、已安装软件、安全产品配置、自动启动项等信息
为什么危险?注册表是 Windows 的配置数据库,攻击者通过查询能识别安全产品(调整规避策略)、定位自动启动路径(持久化)、获取网络配置(规划横向移动)
谁需要关心?SOC分析师、Windows管理员、威胁狩猎团队、任何需要检测早期侦察行为的安全人员
你的第一步防御监控对安全产品注册表路径(Security CenterWindows Defender)的异常查询,建立正常注册表访问频率基线
如果只做一件事对非IT人员的电脑上出现的注册表查询命令立即告警,特别是查询安全产品配置或自动启动项的行为

难度等级

  • ⭐⭐ 中级(需要一定基础)

技术描述

查询注册表(T1012)是MITRE ATT&CK框架中的一种发现技术。

通俗解释: Windows注册表就像一个巨大的数据库,记录了系统和所有软件的配置信息——电脑的序列号、安装了哪些程序、启动时自动运行什么等。攻击者入侵后可以像翻字典一样查询注册表,找到大量有用的信息。

技术原理:

  1. 攻击者使用 reg query 命令或 RegOpenKeyEx/RegQueryValueEx API打开注册表的特定键路径
  2. 读取键值中的数据,这些数据可能是字符串、数字或二进制格式
  3. 攻击者关注的关键注册表路径包括:系统信息、已安装软件列表、自动启动项、网络配置、安全产品设置
  4. 注册表查询可以通过本地或远程方式(reg query \\target\path)执行

用途与影响: 攻击者查询注册表可以:定位自动启动路径用于持久化;获取系统详细信息;发现已安装的安全产品;获取网络配置、代理设置;查找存储的密码和敏感配置信息。

子技术列表

该技术没有子技术。

攻击流程

典型攻击流程

访问系统 --> 查询关键注册表路径 --> 分析信息 --> 利用发现结果
graph TD
    A["访问系统"] --> B["打开注册表路径"]
    B --> C{"查询目标键值"}
    C -->|"HKLM\\SOFTWARE\\Microsoft"| D["获取系统版本信息"]
    C -->|"HKLM\\CurrentControlSet"| E["获取网络配置"]
    C -->|"HKLM\\Run"| F["获取自动启动项"]
    C -->|"Security Center"| G["获取安全产品信息"]
    D --> H["利用发现的配置信息"]
    E --> H
    F --> H
    G --> H

步骤详解:

  1. 打开注册表路径

    • 通俗描述:攻击者使用命令打开注册表的某个目录
    • 技术细节:reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
    • 常用工具:reg.exe、PowerShell
  2. 读取键值

    • 通俗描述:读取具体配置项的值
    • 技术细节:reg query <path> /v &lt;valuename&gt;
    • 常用工具:reg.exe、PowerShell
  3. 分析信息

    • 通俗描述:从配置信息中提取有用的内容
    • 技术细节:解析注册表值字符串,匹配关键信息
    • 常用工具:自动化脚本
  4. 利用结果

    • 通俗描述:根据发现的信息规划后续行动
    • 技术细节:如找到自动启动路径后用于持久化
    • 常用工具:配合其他攻击工具

真实案例

案例1:APT29 - 注册表查询系统指纹

  • 时间: 2020年-2024年
  • 目标: 美国政府机构、IT公司
  • 攻击组织: APT29 (Cozy Bear)
  • 手法: APT29在SolarWinds供应链攻击后续活动中通过BEACON后门执行注册表查询收集系统指纹信息。攻击者查询 HKLM\HARDWARE\DESCRIPTION\System 获取硬件信息,HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 获取操作系统版本,HKLM\SOFTWARE\Microsoft\Cryptography 获取机器GUID。这些信息被编码在C2通信元数据中。
  • 影响: 数千个政府和企业系统被长期渗透
  • 参考链接: Mandiant - APT29 Analysis

案例2:RansomHub - 注册表发现配置信息

  • 时间: 2024年-2025年
  • 目标: 全球企业网络
  • 攻击组织: RansomHub
  • 手法: RansomHub附属组织入侵后通过查询注册表获取环境配置信息。攻击者查询 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 确认系统版本,查询 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 枚举已安装软件特别是备份软件。这些信息帮助选择加密策略。
  • 影响: 多行业组织遭受勒索加密
  • 参考链接: The DFIR Report - RansomHub 2025

案例3:TrickBot - 注册表获取安全产品信息

  • 时间: 2019年-2022年
  • 目标: 全球银行客户
  • 攻击组织: Wizard Spider
  • 手法: TrickBot读取 HKLM\SOFTWARE\Microsoft\Security Center 及防病毒产品的注册表路径检测安装了哪些安全产品。它还查询服务注册表键判断安全产品运行状态。根据发现结果动态调整行为。
  • 影响: 数百万用户银行凭证被窃取
  • 参考链接: Trend Micro - TrickBot Analysis

案例4:Lazarus Group - 注册表持久化路径查询

  • 时间: 2021年-2024年
  • 目标: 加密货币交易所
  • 攻击组织: Lazarus Group
  • 手法: Lazarus通过查询注册表 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 枚举所有自动启动项,判断是否有其他恶意软件已实现持久化,以及是否有安全产品的启动监控组件。
  • 影响: 多国加密货币平台被入侵
  • 参考链接: Securelist - Lazarus MATA Framework

红队视角

⚠️ 免责声明:以下内容仅用于合法的安全测试、渗透测试和教育目的。未经授权对他人系统进行测试是违法行为。

实战技巧

  1. 远程查询注册表 使用 reg query \\target\path 远程查询其他系统的注册表。配合域凭证可批量收集环境信息。

  2. 关注安全产品注册表路径 查询 HKLM\SOFTWARE\Microsoft\Security CenterHKLM\SOFTWARE\Microsoft\Windows Defender 等路径。

  3. 查找存储的密码 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 可能包含自动登录密码。

常用工具

工具名称用途平台链接
reg.exeWindows注册表命令行工具Windows内置命令
PowerShell Registry通过PSDrive访问注册表Windows内置
Regedit图形化注册表编辑器Windows内置
RegRipper注册表取证分析工具跨平台GitHub

注意事项

  • 远程注册表查询需要目标开启Remote Registry服务
  • 非管理员用户对注册表的访问受限
  • 高频查询可能触发EDR告警

蓝队视角

检测要点

  1. reg.exe的异常执行

    • 日志来源:Windows Security Event ID 4688
    • 关注字段:命令行参数包含query
    • 异常特征:非管理员用户执行reg.exe
  2. 注册表远程连接

    • 日志来源:Windows Security Event ID 5140
    • 关注字段:对IPC$共享的访问
    • 异常特征:来自非管理主机的远程注册表访问
  3. PowerShell注册表访问

    • 日志来源:PowerShell ScriptBlock Logging (Event ID 4104)
    • 关注字段:脚本包含Get-ItemProperty -Path HKLM:
    • 异常特征:对安全产品注册表路径的频繁读取

监控建议

  • 启用注册表审计策略
  • 配置Sysmon Event ID 12-14监控注册表事件
  • 监控非标准工具对安全产品注册表路径的读取

检测建议

网络层检测

监控SMB协议中的远程注册表访问流量。

主机层检测

Windows事件ID:

  • 事件ID 4656:注册表对象句柄请求
  • 事件ID 4663:注册表对象访问
  • Sysmon Event ID 12-14:注册表事件

应用层检测

用人话说: 这条规则在监控有人用命令行查询安全产品的注册表配置。攻击者为什么要查这个?因为如果知道你装了什么杀毒软件、EDR 是不是开着,他们就能选择对应的规避手段。正常情况下,普通用户和大多数 IT 运维人员不会直接用命令行去查 Security CenterWindows Defender 的注册表路径。如果你看到有人这么做,而且不是在做安全审计或故障排查,那很可能是攻击者在“踩点“,为后续的恶意操作做准备。

Sigma规则示例:

title: Registry Query for Security Product Information
status: experimental
description: Detects registry queries targeting security product configuration
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains:
            - 'Security Center'
            - 'Windows Defender'
    condition: selection
level: medium
tags:
    - attack.t1012

缓解措施

优先级1:关键措施

措施名称: 限制注册表远程访问

具体实施步骤:

  1. 禁用Remote Registry服务
  2. 通过防火墙阻止非管理子网的SMB访问
  3. 配置注册表ACL限制关键路径访问

优先级2:重要措施

措施名称: 配置注册表审计策略

具体实施步骤:

  1. 启用高级审计策略中的注册表子类别
  2. 配置敏感注册表路径的SACL
  3. 将注册表审计日志发送到SIEM

优先级3:建议措施

措施名称: 限制PowerShell注册表访问

具体实施步骤:

  1. 使用JEA限制PowerShell注册表Provider访问
  2. 设置ConstrainedLanguage模式
  3. 监控所有对注册表的查询操作

MITRE ATT&CK 缓解措施映射

缓解措施ID缓解措施名称适用性说明
M1026Privileged Account Management适用限制注册表访问权限
M1035Limit Access to Resource Over Network适用限制远程注册表访问
M1041Encrypt Sensitive Information部分适用加密注册表中的敏感信息

动手实验

⚠️ 重要提示:所有实验必须在隔离的实验室环境中进行,禁止对未授权的真实系统进行测试。

实验环境准备

所需工具: Windows VM、reg.exe(内置)、PowerShell(内置)

实验1:本地注册表查询(初级)

实验目标: 学习使用reg.exe查询注册表信息。

实验步骤:

  1. 查询Windows版本信息:
    reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName
    
  2. 查询自动启动程序列表:
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    

预期结果: 看到注册表中存储的系统配置信息。

学习要点: 理解关键注册表路径和reg.exe的基本使用。

实验2:PowerShell注册表查询(中级)

实验目标: 使用PowerShell查询注册表信息。

实验步骤:

  1. 查询已安装软件列表:
    Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion
    

预期结果: 获取已安装软件的详细列表。

学习要点: 使用PowerShell进行注册表信息收集。

术语解释

术语英文原名通俗解释
注册表RegistryWindows的配置信息数据库
Key注册表中的目录/文件夹
Value注册表中具体的一项配置数据
HKEYHandle to Key注册表的根键名称
SACLSystem Access Control List注册表路径的审计规则
命名管道Named PipeWindows中进程通信的通道

参考资料

官方文档

安全报告

工具与资源