内网---> WriteDacl权限滥用
目录✏️ WriteDacl权限全面扩展解析 WriteDacl底层原理详解⚔️ 内网渗透中的关联与利用场景️ 详细利用步骤以WriteDacl对高权限用户/组为例 MemberOf权限全面扩展解析 MemberOf底层原理详解⚔️ 内网渗透中的关联与利用场景️ 详细利用步骤间接利用MemberOf - 添加自己到组 典型实际案例StreamIO HTB中的WriteDacl与MemberOf利用✏️ WriteDacl权限全面扩展解析WriteDacl是Active Directory中最危险的扩展权限之一允许主体直接修改目标对象的DACLDiscretionary Access Control List自主访问控制列表。拥有此权限相当于完全掌控目标对象的安全描述符可任意授予或剥夺权限。 WriteDacl底层原理详解AD安全描述符结构每个AD对象都有一个Security Descriptor包括Owner、DACL和SACL。DACL决定“谁能做什么”允许/拒绝访问SACL负责审计日志。WriteDacl扩展权限GUID固定为00000000-0000-0000-0000-000000000001实际上是全零但文档中常以此表示属于最高级Extended Right。权限生效机制WriteDacl允许主体添加、删除或修改DACL中的ACEAccess Control Entry。一旦授予可给自己或他人添加FullControl、DCSync、WriteOwner等任意权限。硬编码特性即使对象有显式Deny条目WriteDacl仍可覆盖。Owner隐式拥有WriteDacl但WriteDacl可独立授予。BloodHound识别SharpHound查询对象ACL中包含WriteDacl的ACE生成WriteDacl边。高价值目标包括域对象、管理员组、GPO等。⚔️ 内网渗透中的关联与利用场景WriteDacl是“万能钥匙”权限常用于直接提权或持久化。直接完全控制给自己添加FullControl实现Owns级别支配。特权权限授予添加DCSync域复制、ReadLAPSPassword、ForceChangePassword等实现无声提权。后门与持久化添加隐蔽账户到管理员组或删除审计ACE隐藏痕迹。防御绕过可移除安全工具的监控权限或添加Deny给防御账号。链式攻击常与其他路径结合如WriteOwner后进一步WriteDacl。️ 详细利用步骤以WriteDacl对高权限用户/组为例假设攻击者控制普通用户并在BloodHound中发现该用户 → WriteDacl → AdministratorSTREAMIO.HTB。确认权限使用PowerView验证WriteDacl ACE存在。准备工具上传PowerView.ps1或使用AD模块。授予自己FullControl核心提权步骤。进一步滥用添加DCSync或加入高权限组。清理痕迹可选删除审计日志ACE。#/* --------------------- 间接利用MemberOf - 添加自己到高权限组PowerView示例 参数1-Identity目标组如Administrators或Domain Admins 参数2-Members要添加的攻击者账户 1. 通过GenericWrite或WriteDacl权限修改member属性 2. 实现MemberOf关系建立权限继承 3. 验证组成员变更 ---------------- */ # 步骤1导入PowerView Import-Module .\PowerView.ps1 # 步骤2将攻击者账户添加到目标组核心步骤 Add-DomainGroupMember -Identity Administrators -Members ATTACKER_USER # ATTACKER_USER成为成员 # 步骤3验证MemberOf关系建立 Get-DomainGroupMember -Identity Administrators | Select MemberName # 查看新成员列表 # 步骤4测试继承权限如读取LAPS Get-ADComputer -Filter * -Properties ms-Mcs-AdmPwd # 若组有ReadLAPSPassword应成功读取 MemberOf权限全面扩展解析MemberOf是BloodHound中最常见的边表示主体是目标组的直接成员从而继承该组的所有委托权限和ACE。它不是“权限”而是关系边但却是权限传播的核心机制。 MemberOf底层原理详解组成员存储组对象的member属性多值属性存储成员DNDistinguished Name。成员变更立即生效。权限继承机制AD通过组嵌套和委托实现权限传播。成员自动继承组的所有ACE包括Extended Rights和委托权限。嵌套与传递支持组嵌套如A组成员是B组继承B组权限。BloodHound会展开显示最终继承路径。BloodHound收集SharpHound直接读取member属性生成MemberOf边常作为查询起点如“所有Domain Admins成员”。与其它边的关系MemberOf是权限的“终点”攻击者常通过WriteOwner/WriteDacl/GenericWrite等方式间接实现“添加自己到组”。⚔️ 内网渗透中的关联与利用场景MemberOf本身不可直接滥用需写权限才能修改member属性但作为路径终点极具价值。权限继承起点普通用户是高权限组成员 → 直接提权。攻击目标通过其他权限如GenericWrite添加自己到目标组。路径分析BloodHound最短路径常以MemberOf高权限组结束。持久化攻击者加入管理员组后即使原始入口失效仍保留权限。️ 详细利用步骤间接利用MemberOf - 添加自己到组MemberOf本身不可直接利用但常见方式是通过GenericWrite或WriteDacl添加成员。以下以GenericWrite为例常见于滥用。发现路径BloodHound显示攻击者控制用户 → GenericWrite → 高权限组。执行添加使用PowerView修改member属性。验证继承检查新权限生效。#/* --------------------- 间接利用MemberOf - 添加自己到高权限组PowerView示例 参数1-Identity目标组如Administrators或Domain Admins 参数2-Members要添加的攻击者账户 1. 通过GenericWrite或WriteDacl权限修改member属性 2. 实现MemberOf关系建立权限继承 3. 验证组成员变更 ---------------- */ # 步骤1导入PowerView Import-Module .\PowerView.ps1 # 步骤2将攻击者账户添加到目标组核心步骤 Add-DomainGroupMember -Identity Administrators -Members ATTACKER_USER # ATTACKER_USER成为成员 # 步骤3验证MemberOf关系建立 Get-DomainGroupMember -Identity Administrators | Select MemberName # 查看新成员列表 # 步骤4测试继承权限如读取LAPS Get-ADComputer -Filter * -Properties ms-Mcs-AdmPwd # 若组有ReadLAPSPassword应成功读取 典型实际案例StreamIO HTB中的WriteDacl与MemberOf利用WriteDacl场景攻击者通过前期路径获得对Administrator用户或高权限组的WriteDacl权限。直接提权使用Add-DomainObjectAcl授予自己FullControl或DCSync实现域对象完全控制。MemberOf场景攻击者通过WriteDacl/WriteOwner等方式将自己添加到Administrators或CORE STAFF组MARTIN原本是成员。完整链路前期HasSession横向到域控 → WriteOwner/Owns提权到CORE STAFF → 继承ReadLAPSPassword → 结合MemberOf关系读取域控LAPS → 本地Administrator登录 → 最终通过MemberOf Domain Admins或直接WriteDacl添加实现域接管。案例关键MARTIN作为Administrators组成员继承高权限但攻击者通过WriteDacl绕过直接在Administrator对象上植入后门避免依赖原始成员关系。此路径展示了WriteDacl的毁灭性一旦获得几乎无解MemberOf则是权限继承的自然结果常作为攻击终点被蓝队重点监控。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2412099.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!