用途限制声明,本文仅用于网络安全技术研究、教育与知识分享。文中涉及的渗透测试方法与工具,严禁用于未经授权的网络攻击、数据窃取或任何违法活动。任何因不当使用本文内容导致的法律后果,作者及发布平台不承担任何责任。渗透测试涉及复杂技术操作,可能对目标系统造成数据损坏、服务中断等风险。读者需充分评估技术能力与潜在后果,在合法合规前提下谨慎实践。
这次我们讲述第三个权限维持技术,域控制器权限持久化以及防范。
在我以前的文章中,我也讲述了内网渗透的重要一步,权限提升内网后渗透攻击过程(实验环境)--2、权限提升_域用户无法显示delegation token-优快云博客
假设通过一系列的操作成功获得域控制器权限
1、域控制器权限持久化以及防范
定义: 指攻击者在获得Active Directory域管理员权限后,在域控制器或Active Directory数据库层面植入的机制,确保即使初始入侵点被清除、管理员密码被更改,攻击者仍能快速恢复对整个域的控制权。这些技术通常影响整个域环境。接下来就是讲述几个常见的域控制器权限持久化的方法
1)DSRM域后门
简述:DSRM(Directory Services Restore Mode,目录服务恢复模式)是 Windows Server 域控制器的一种特殊启动模式,主要用于 Active Directory(AD)数据库损坏、误操作等场景下的修复或还原。而 “DSRM 域后门” 则是攻击者利用 DSRM 机制的特性,通过篡改配置或同步密码等方式,实现对域控制器的持久化、隐蔽性控制的技术手段。
DSRM 域后门的本质是打破 “DSRM 账户仅在 DSRM 模式可用” 的限制,让攻击者能在正常模式下使用 DSRM 账户登录域控制器,从而实现持久化控制。其核心思路有两个:
篡改 DSRM 登录行为配置
Windows 通过注册表项DSRMAdminLogonBehavior
控制 DSRM 账户在正常模式下的登录权限,该键值位于:
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\DSRMAdminLogonBehavior
2. 同步 DSRM 账户与域管理员密码哈希
DSRM 账户的密码哈希存储在本地 SAM 数据库,而域管理员密码哈希存储在 AD 数据库。攻击者可通过工具将域管理员的密码哈希同步到 DSRM 账户,使两者密码一致(或保持 DSRM 密码不变)。
修改DSRM密码的方法
利用ntdsutil
工具(域控制器自带)可将指定域账户的密码哈希同步到 DSRM 账户,实现密码 “绑定”:
# 1. 打开命令行,输入ntdsutil进入交互模式
ntdsutil
# 2. 进入DSRM密码设置模块
set dsrm password
# 3. 同步指定域管理员账户的密码哈希到DSRM账户(需当前账户有管理员权限)
sync from domain account [域管理员用户名] # 例如:sync from domain account admin
# 4. 退出
quit
quit
执行后,DSRM 账户的密码哈希将与指定域管理员一致,后续即使域管理员密码修改,DSRM 密码仍保持同步时的状态(除非再次同步)。
DSRM域后门的方法
1)使用mimikatz查看本地管理员的ntlm hash
2)将DSRM账号与Administrator的ntlm hash同步
NTDSUTIL
SET DSRM PASSWORD
SYNC FROM DOMAIN account Administrator
4)查看DSRM的NTLM Hash是否同步
5)修改DSRM的登陆方式
注册表路径:
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\DSRMAdminLogonBehavior
键值含义:
- 0(默认值):仅允许在 DSRM 模式下登录,正常模式无法使用 DSRM 账户。
- 1:允许在正常模式下通过本地控制台登录,但需先停止 Active Directory 服务(
net stop ntds
)。 - 2:允许在正常模式下通过远程方式(如 RDP、PowerShell 远程)直接登录,无需停止服务。
我们要通过DSRM账号通过网络登录域控制,所以需要将值设为2,命令如下
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v DSRMAdminLogonBehavior /t REG_DWORD /d 2 /f
6)使用DSRM账号通过网络远程登录域控制器
7)使用mimikatz的dcysnc功能远程转储Administrator的ntlm hash
lsadump::dcsync /domain:hack.com /dc:dc /user:Administrator
DSRM域后门的防御措施
默认情况下,DSRM 账号仅能在域控制器启动至 “目录服务恢复模式” 时使用。攻击者常通过修改注册表,允许 DSRM 账号在正常模式下登录域控制器(即 “DSRM 后门” 的核心手段),因此需严格限制其使用场景。
-
禁用 DSRM 账号的 “被禁用后仍可登录” 特性
- 攻击者可能修改注册表项
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\fAllowToBeDisabled
(REG_DWORD),使其值为1
(允许 DSRM 账号被禁用后仍能登录)。 - 安全值:
0
(默认值,禁用此特性),需定期检查并确保未被篡改。
- 攻击者可能修改注册表项
- 定期修改域中所有域控制器的DSRM账号
- 经常检查ID为4794的日志。
2)SSP维持域控权限
简介:在域渗透中,SSP(Security Support Provider,安全支持提供程序) 是 Windows 系统中负责处理身份验证、凭证管理、会话安全等核心安全功能的模块。攻击者可通过植入恶意 SSP,实现对域控(Domain Controller)权限的长期维持,核心原理是记录或劫持系统中的敏感凭证(如明文密码、NTLM 哈希等),从而持续获取域内权限。
原理:SSP 与系统凭证流程
Windows 的身份验证流程依赖于LSA(Local Security Authority,本地安全机构),而 SSP 是 LSA 的关键组件(如默认的msv1_0.dll
负责 NTLM 验证、kerberos.dll
负责 Kerberos 验证)。所有凭证的生成、验证、存储过程都会经过 SSP 模块。
若攻击者将恶意 SSP DLL注入到 LSA 进程(lsass.exe
)中,该 DLL 会被系统加载并参与凭证处理流程,从而实现:
- 记录用户登录时的明文密码、NTLM 哈希、Kerberos 票据等;
- 甚至修改凭证验证逻辑,劫持合法用户的身份。
通过以下步骤利用 SSP 维持域控权限:
1. 准备恶意 SSP DLL
最典型的恶意 SSP 是 Mimikatz 中的memssp.dll
(内存 SSP),其功能是记录所有经过 LSA 的明文密码和 NTLM 哈希,并写入日志文件。