analyzing-active-directory-acl-abuse

使用 ldap3 检测 Active Directory 中危险的 ACL 配置错误,识别 GenericAll、WriteDACL 和 WriteOwner 等滥用路径

9 stars

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

$curl -o ~/.claude/skills/analyzing-active-directory-acl-abuse/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/analyzing-active-directory-acl-abuse/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/analyzing-active-directory-acl-abuse/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How analyzing-active-directory-acl-abuse Compares

Feature / Agentanalyzing-active-directory-acl-abuseStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

9
from killvxk/cybersecurity-skills-zh

通过操控文件路径参数,测试 Web 应用程序中允许读取或写入服务器任意文件的路径遍历漏洞。

performing-active-directory-vulnerability-assessment

9
from killvxk/cybersecurity-skills-zh

使用 PingCastle、BloodHound 和 Purple Knight 评估 Active Directory 安全态势,识别错误配置、权限提升路径和攻击向量。

performing-active-directory-forest-trust-attack

9
from killvxk/cybersecurity-skills-zh

使用 impacket 枚举和审计 Active Directory 林信任关系,进行 SID 过滤分析、信任密钥提取、跨林 SID 历史滥用检测和跨域 Kerberos 票据评估。

performing-active-directory-compromise-investigation

9
from killvxk/cybersecurity-skills-zh

通过分析认证日志、复制元数据、组策略变更和 Kerberos 票据异常,调查 Active Directory 攻陷事件,识别攻击者持久化机制和横向移动路径。

performing-active-directory-bloodhound-analysis

9
from killvxk/cybersecurity-skills-zh

使用 BloodHound 和 SharpHound 枚举活动目录(Active Directory)关系,从已控制的用户识别到域管理员的攻击路径。

implementing-api-abuse-detection-with-rate-limiting

9
from killvxk/cybersecurity-skills-zh

使用令牌桶、滑动窗口和自适应速率限制算法实现API滥用检测,防止DDoS、暴力破解和凭据填充攻击。

exploiting-constrained-delegation-abuse

9
from killvxk/cybersecurity-skills-zh

利用活动目录中的 Kerberos 约束委派(Constrained Delegation)错误配置,通过 S4U2self 和 S4U2proxy 扩展模拟特权用户,实现横向移动和权限提升。

exploiting-active-directory-with-bloodhound

9
from killvxk/cybersecurity-skills-zh

BloodHound 是基于图论的活动目录侦察工具,使用图论揭示 AD 环境中隐藏的和意外的关系。红队使用 BloodHound 识别从已控制账户到域管理员等高价值目标的攻击路径。

exploiting-active-directory-certificate-services-esc1

9
from killvxk/cybersecurity-skills-zh

在授权红队评估中,利用活动目录证书服务(AD CS)的 ESC1 错误配置漏洞,以高权限用户身份申请证书并提升域权限。

executing-active-directory-attack-simulation

9
from killvxk/cybersecurity-skills-zh

对 Active Directory 环境执行授权攻击模拟,识别错误配置、弱凭据、危险特权路径以及可导致域沦陷的可利用信任关系。测试人员使用 BloodHound 进行攻击路径分析,使用 Mimikatz 进行凭据提取,使用 Impacket 进行协议级攻击,包括 Kerberoasting、AS-REP Roasting 和委派滥用。适用于 Active Directory 渗透测试、AD 攻击模拟、域沦陷测试或 Kerberos 攻击评估等请求场景。

detecting-t1548-abuse-elevation-control-mechanism

9
from killvxk/cybersecurity-skills-zh

通过监控注册表修改、进程提升标志和异常的父子进程关系,检测提升控制机制滥用,包括 UAC 绕过、sudo 利用和 setuid/setgid 操纵。

detecting-service-account-abuse

9
from killvxk/cybersecurity-skills-zh

通过检测异常交互式登录、权限提升、横向移动和未授权访问模式,发现服务账户滥用行为。