analyzing-active-directory-acl-abuse
使用 ldap3 检测 Active Directory 中危险的 ACL 配置错误,识别 GenericAll、WriteDACL 和 WriteOwner 等滥用路径
Best use case
analyzing-active-directory-acl-abuse is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
使用 ldap3 检测 Active Directory 中危险的 ACL 配置错误,识别 GenericAll、WriteDACL 和 WriteOwner 等滥用路径
Teams using analyzing-active-directory-acl-abuse should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/analyzing-active-directory-acl-abuse/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How analyzing-active-directory-acl-abuse Compares
| Feature / Agent | analyzing-active-directory-acl-abuse | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
使用 ldap3 检测 Active Directory 中危险的 ACL 配置错误,识别 GenericAll、WriteDACL 和 WriteOwner 等滥用路径
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## 概述
活动目录(Active Directory)访问控制列表(ACL)通过包含访问控制条目(ACE)的自主访问控制列表(DACL)来定义 AD 对象的权限。配置错误的 ACE 可能赋予非特权用户对敏感对象(如 Domain Admins 组、域控制器或 GPO)的危险权限,包括 GenericAll(完全控制)、WriteDACL(修改权限)、WriteOwner(获取所有权)和 GenericWrite(修改属性)。
本技能使用 ldap3 Python 库连接到域控制器,查询包含 nTSecurityDescriptor 属性的对象,将二进制安全描述符解析为 SDDL(安全描述符定义语言)格式,并识别向非管理员主体授予危险权限的 ACE。这些配置错误正是 BloodHound 等工具发现的基于 ACL 的攻击路径的基础。
## 前置条件
- Python 3.9 或更高版本,并安装 ldap3 库(`pip install ldap3`)
- 具有 AD 对象读取权限的域用户凭据
- 域控制器端口 389(LDAP)或 636(LDAPS)的网络连接
- 了解 Active Directory 安全模型和 SDDL 格式
## 步骤
1. **连接域控制器**:使用 ldap3 通过 NTLM 或简单身份验证建立 LDAP 连接。在生产环境中使用 LDAPS(端口 636)进行加密连接。
2. **查询目标对象**:搜索目标 OU 或整个域,获取包括用户、组、计算机和 OU 在内的对象。请求 `nTSecurityDescriptor`、`distinguishedName`、`objectClass` 和 `sAMAccountName` 属性。
3. **解析安全描述符**:将二进制 nTSecurityDescriptor 转换为 SDDL 字符串表示。解析 DACL 中的每个 ACE,提取受托人 SID、访问掩码和 ACE 类型(允许/拒绝)。
4. **将 SID 解析为主体**:通过对域的 LDAP 查询,将安全标识符(SID)映射为可读的账户名。识别内置组的已知 SID。
5. **检查危险权限**:将每个 ACE 的访问掩码与危险权限位掩码进行比较:GenericAll(0x10000000)、WriteDACL(0x00040000)、WriteOwner(0x00080000)、GenericWrite(0x40000000),以及针对特定扩展权限的 WriteProperty。
6. **过滤非管理员受托人**:排除预期的管理员受托人(Domain Admins、Enterprise Admins、SYSTEM、Administrators),并标记非特权用户或组持有危险权限的 ACE。
7. **映射攻击路径**:对于每个发现,记录潜在的攻击链(例如,对用户的 GenericAll 允许重置密码,对组的 WriteDACL 允许将自身添加到组中)。
8. **生成修复报告**:输出包含所有危险 ACE、受影响对象、非管理员受托人及建议修复步骤的 JSON 报告。
## 预期输出
```json
{
"domain": "corp.example.com",
"objects_scanned": 1247,
"dangerous_aces_found": 8,
"findings": [
{
"severity": "critical",
"target_object": "CN=Domain Admins,CN=Users,DC=corp,DC=example,DC=com",
"target_type": "group",
"trustee": "CORP\\helpdesk-team",
"permission": "GenericAll",
"access_mask": "0x10000000",
"ace_type": "ACCESS_ALLOWED",
"attack_path": "GenericAll on Domain Admins group allows adding arbitrary members",
"remediation": "Remove GenericAll ACE for helpdesk-team on Domain Admins"
}
]
}
```Related Skills
performing-directory-traversal-testing
通过操控文件路径参数,测试 Web 应用程序中允许读取或写入服务器任意文件的路径遍历漏洞。
performing-active-directory-vulnerability-assessment
使用 PingCastle、BloodHound 和 Purple Knight 评估 Active Directory 安全态势,识别错误配置、权限提升路径和攻击向量。
performing-active-directory-forest-trust-attack
使用 impacket 枚举和审计 Active Directory 林信任关系,进行 SID 过滤分析、信任密钥提取、跨林 SID 历史滥用检测和跨域 Kerberos 票据评估。
performing-active-directory-compromise-investigation
通过分析认证日志、复制元数据、组策略变更和 Kerberos 票据异常,调查 Active Directory 攻陷事件,识别攻击者持久化机制和横向移动路径。
performing-active-directory-bloodhound-analysis
使用 BloodHound 和 SharpHound 枚举活动目录(Active Directory)关系,从已控制的用户识别到域管理员的攻击路径。
implementing-api-abuse-detection-with-rate-limiting
使用令牌桶、滑动窗口和自适应速率限制算法实现API滥用检测,防止DDoS、暴力破解和凭据填充攻击。
exploiting-constrained-delegation-abuse
利用活动目录中的 Kerberos 约束委派(Constrained Delegation)错误配置,通过 S4U2self 和 S4U2proxy 扩展模拟特权用户,实现横向移动和权限提升。
exploiting-active-directory-with-bloodhound
BloodHound 是基于图论的活动目录侦察工具,使用图论揭示 AD 环境中隐藏的和意外的关系。红队使用 BloodHound 识别从已控制账户到域管理员等高价值目标的攻击路径。
exploiting-active-directory-certificate-services-esc1
在授权红队评估中,利用活动目录证书服务(AD CS)的 ESC1 错误配置漏洞,以高权限用户身份申请证书并提升域权限。
executing-active-directory-attack-simulation
对 Active Directory 环境执行授权攻击模拟,识别错误配置、弱凭据、危险特权路径以及可导致域沦陷的可利用信任关系。测试人员使用 BloodHound 进行攻击路径分析,使用 Mimikatz 进行凭据提取,使用 Impacket 进行协议级攻击,包括 Kerberoasting、AS-REP Roasting 和委派滥用。适用于 Active Directory 渗透测试、AD 攻击模拟、域沦陷测试或 Kerberos 攻击评估等请求场景。
detecting-t1548-abuse-elevation-control-mechanism
通过监控注册表修改、进程提升标志和异常的父子进程关系,检测提升控制机制滥用,包括 UAC 绕过、sudo 利用和 setuid/setgid 操纵。
detecting-service-account-abuse
通过检测异常交互式登录、权限提升、横向移动和未授权访问模式,发现服务账户滥用行为。