红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

admin 2025年4月21日22:05:47评论0 views字数 3878阅读12分55秒阅读模式

导语

在域渗透的过程中,获取域内其他机器的登录用户信息是一个非常重要的步骤。通过这一步骤,红队可以进一步扩展攻击面,识别潜在的横向移动路径,甚至发现高权限账户的踪迹。

本文将详细探讨如何通过 reg query 命令查询域内其他机器的登录用户信息,并分析其在域渗透中的战略价值。

技术核心

在 Windows 域环境中,每个登录到域的用户都会在本地机器上生成一个用户配置文件,这些配置文件的信息存储在注册表的 HKEY_USERS (HKU)下。通过查询 HKU,我们可以获取到当前机器上登录过的用户信息,这正是我们的侦察入口。

在域渗透中,如果我们能够以普通域用户的身份查询域内其他机器的 HKU,就可以获取到这些机器上登录过的用户信息。这些信息可以为后续的攻击提供重要的线索。

实战分析

1. 识别高权限账户

通过查询 HKU,可以获取域内机器上登录过的用户信息,包括用户的 SID(安全标识符) 和用户名。这些信息有助于快速识别高权限账户(如域管理员、企业管理员等)。

利用方法:

  • • 如果某台机器上登录过域管理员账户,可以将该机器作为高价值目标,优先进行横向移动。
  • • 通过分析多台机器的登录信息,识别出哪些账户在域内具有广泛权限。

2. 规划横向移动路径

通过查询 HKU,可以分析哪些机器上登录过哪些用户,我们可以识别出潜在的横向移动路径。

例如,如果某台机器上登录过多个用户的账户,那么这台机器可能是一个重要的“机器/跳板机”。

利用方法:

  • • 如果某个用户在多台机器上登录过,可以利用该用户的凭证或哈希在这些机器之间进行横向移动。
  • • 识别出哪些机器是“跳板机”(即被多个用户登录的机器),优先攻击这些机器。

3. 识别共享账户

如果多个机器上登录过同一个账户,那么这个账户可能是一个共享账户。

共享账户通常具有较高的权限,攻击者可以利用这些账户进行横向移动。

利用方法:

  • • 通过分析 HKU 数据,识别出哪些账户在多个机器上登录过,优先针对共享账户进行攻击,获取其凭证或哈希。

4. 为凭证窃取做准备

通过查询 HKU,可以帮助识别出哪些机器上登录过哪些用户,从而为凭证窃取提供目标。

利用方法:

  • • 如果某台机器上登录过多个用户,可以优先攻击这台机器,尝试获取内存中的凭证(如使用 Mimikatz)。
  • • 识别出哪些机器可能是凭证窃取的高价值目标。

HKU 解析

HKU 是什么?

注册表路径:HKEY_USERS(缩写为 HKU)是 Windows 注册表的核心根键之一。

作用:存储所有已加载的用户配置单元(User Profile Hive),包括:

  • • 当前登录的本地用户和域用户。
  • • 系统服务账户(如 SYSTEM、LOCAL SERVICE 等)。
  • • 其他通过 RegLoadKey 手动加载的配置单元。

HKU 下的数据结构

当用户登录到系统时,Windows 会将该用户的配置单元(文件 NTUSER.DAT)加载到 HKU 下,生成一个以“用户 SID”命名的子键。例如:HKUS-1-5-21-123456789-1234567890-123456789-1001

子键内容:

  • • Software:用户安装的应用程序配置(如浏览器设置、桌面主题等)。
  • • Environment:用户的环境变量。
  • • Volatile Environment:临时会话数据(如远程桌面连接的客户端名称)。

reg query HKU 的原理

1. 命令行为

目标:查询远程机器的 HKU 根键下所有已加载的用户配置单元。

预期输出:列出所有以 SID 命名的子键,例如:

reg query \目标机器HKU

S-1-5-18S-1-5-19S-1-5-20S-1-5-21-123456789-1234567890-123456789-1001

2. 如何关联到“已登录用户”?

SID 与用户的映射:

S-1-5-18 → SYSTEM(系统内置账户)。S-1-5-19 → LOCAL SERVICE。S-1-5-20 → NETWORK SERVICE。S-1-5-21-... → 普通用户或域用户(通过 SID 可反向查询用户名)。

HKU 注册表项的访问权限机制

1. 默认权限与访问范围

权限层级

  • • 查询 HKU 顶层列表:域用户默认拥有读取 HKEY_USERS (HKU) 下已加载的用户配置单元列表(如 S-1-5-21-... 的 SID 列表)的权限。这些信息被视为公开的非敏感数据,主要用于识别当前系统中加载的用户配置单元。
  • • 访问具体键值:查看子项(如 HKU<SID>Software)需要目标机器的本地管理员权限。这种权限限制旨在防止敏感数据泄露,确保只有授权用户能够访问和修改特定注册表项。

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

2. 技术原理

Windows 通过远程注册表服务(Remote Registry Service)暴露 HKU 的顶层信息,默认允许域用户通过 reg query 命令查询。该服务仅开放元数据(如配置单元的加载状态),而不授权深度访问。这种设计在保证功能性的同时,兼顾了安全性。

3. 为什么不需要高权限?

1. 公开信息

HKU 中已加载的用户配置单元列表是公开的,操作系统默认允许域用户访问。这些信息不包含敏感数据,主要用于系统管理和用户配置的识别。

2. 远程注册表服务的默认配置

Windows 的远程注册表服务默认配置允许域用户查询 HKU 的顶层信息。这种配置在提供必要功能的同时,限制了深度访问,确保系统安全。

3. 安全性限制

虽然域用户可以查询 HKU 的列表,但访问具体的注册表键值需要更高的权限(如本地管理员权限)。这种权限分级机制在安全性和功能性之间实现了平衡,防止未经授权的用户访问敏感数据。

4. 实战中的注意事项

1. 查询结果有限

reg query HKU 只能查询已加载的用户配置单元。未加载的配置单元(例如未登录用户的配置单元)无法通过这种方式查询。

2. 权限提升

如果需要查询具体的注册表键值(例如 HKU<SID>Software),则需要管理员权限。

3. 示例:查询 HKU 的权限要求

  1. 1. 查询 HKU 列表:只需要域用户权限。reg query \<ComputerName>HKU
  2. 2. 查询具体键值:需要管理员权限。reg query \<ComputerName>HKU<SID>Software

5. 总结

HKU 注册表项的访问权限机制采用分层设计,默认情况下,域用户可以通过 reg query HKU 查询其他主机的已加载用户配置单元列表,这是 Windows 为支持域管理功能设计的公开信息,且不涉及敏感数据;然而,若要访问具体的注册表键值,则需要更高的权限,这种机制在提供必要功能的同时,有效保护了敏感数据的安全。

关键限制

在使用 reg query 查询域内其他机器的登录用户信息时,有几个关键的限制和前提条件需要特别注意。这些限制可能会影响查询的成功率和结果的完整性,因此在实际操作中需要谨慎处理。

1. 远程注册表服务(Remote Registry Service)必须启用

reg query 命令依赖于远程注册表服务来访问目标机器的注册表。如果目标机器的 Remote Registry 服务未启用,reg query 将无法执行,导致查询失败。

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

2. 防火墙配置

目标机器的防火墙配置可能会阻止远程注册表访问。如果防火墙启用了入站规则,默认情况下会阻止远程注册表查询。

然而在实战中发现,部分 Windows Server 版本似乎不受影响这可能是因为服务器系统在设计上更倾向于支持远程管理功能)。

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径
红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径
红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径
红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

3. HKU 仅显示当前已加载的配置单元

HKU 仅显示当前已加载的用户配置单元。如果用户已注销,其配置单元会从 HKU 卸载,对应的 SID 子键会消失,因此无法查询到已注销用户的登录信息。

4. 目标机器的操作系统版本

不同版本的 Windows 操作系统在注册表结构和访问权限上可能存在差异,这可能会影响 reg query 命令的执行效果。

5. 域环境配置

在某些域环境中,可能存在额外的安全策略或配置,限制了对注册表的远程访问。例如,域策略可能禁止远程注册表服务或限制普通用户的注册表访问权限。

实战演示

域内通过普通域用户 wanglei 查看域控机器的登录的用户信息。

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

工具化实现

在大型域环境渗透中,基于 reg query 的单机查询模式存在“战术级缺陷”,这里采用 PowerShell 实现自动化。

利用 PowerShell 的核心优势在于:原生兼容性,通过 .NET CLR 能够调用 Windows API 实现无第三方依赖的注册表访问。

效果图如下

powershell -exec bypass .Invoke-HKUDump.ps1

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

关注回复 Invoke-HKUDump.ps1 获取完整 PowerShell 脚本工具。

🌟 温馨提示:微信推送规则调整后,设为星标的公众号才能第一时间看到大图推送哦!

为了避免错过干货文章,请点击右上角「…」→ 选择「设为星标」
红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

欢迎关注我的公众号“倍果科技”,专注于红队攻防技术的分享。我们定期分享红队实战的思路与打法,以及最新的0day、1day漏洞消息,助你掌握最前沿的红队攻防技术。

欢迎加入我们的技术交流群,共同探讨与成长!

红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

免责声明

本文章仅供学习和研究用途。请勿将文章中的技术用于任何非法活动。因使用本文提供的信息或工具所导致的任何直接或间接后果与损失,均由使用者自行承担,作者及平台对此不承担任何责任。

文章中的信息和工具均收集自互联网,使用者需自行验证其真实性与安全性。如有侵权行为,请联系以便及时删除。

再次提醒,任何非法使用与本文章作者和平台无关,责任由使用者自行承担。

原文始发于微信公众号(倍果科技):红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月21日22:05:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队进阶:通过 HKU 快速锁定高权限账户与横向移动路径https://cn-sec.com/archives/3981222.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息