analyzing-active-directory-acl-abuse — скилл для Claude Code
Читает DACL объектов Active Directory через ldap3, разбирает их в SDDL и показывает ACE, где GenericAll, WriteDACL или WriteOwner достались не админам.
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-active-directory-acl-abuse -a claude-codeЧто делает analyzing-active-directory-acl-abuse
Скилл подключается к контроллеру домена по LDAP и запрашивает у объектов атрибут nTSecurityDescriptor. Бинарный дескриптор он переводит в строку SDDL, проходит по ACE в DACL и сверяет маски доступа с опасными: GenericAll (0x10000000), WriteDACL (0x00040000), WriteOwner (0x00080000), GenericWrite (0x40000000). SID доверенных лиц отдельно сопоставляются с именами учётных записей домена, чтобы в отчёте стояли люди и группы, а не числа.
Штатных администраторов из выдачи выбрасывает: Domain Admins, Enterprise Admins, SYSTEM, Administrators. Остаются записи, где право держит непривилегированная учётка. По каждой находке скилл описывает цепочку — GenericAll на пользователе даёт сброс пароля, WriteDACL на группе позволяет добавить себя в неё. На выходе JSON с объектами, доверенными лицами, путями атаки и рекомендациями по правке.
Заранее нужны Python 3.9 и библиотека ldap3, учётка домена с правом чтения объектов AD и сеть до контроллера по 389 или 636. Для продакшена в описании скилла советуется LDAPS. Понимание модели безопасности AD и формата SDDL тоже требуется: без него отчёт читается тяжело, так что разбирать его лучше вместе с тем, кто держит домен. Права скилл не меняет, он только смотрит и советует.
Какие задачи решает
- найти ACE, где непривилегированная группа держит
GenericAllна привилегированном объекте - проверить целевой OU на
WriteDACLиWriteOwnerу обычных учёток - разобрать
nTSecurityDescriptorв SDDL без ручного парсинга бинарника - сопоставить SID из DACL с именами пользователей и групп домена
- собрать JSON-отчёт по находкам с путями атаки и шагами правки
Примеры запросов агенту
- Прогони анализ ACL в домене
corp.example.comи покажи ACE, гдеGenericAllдержит не админ. - Проверь целевой OU на
WriteDACLиWriteOwnerу непривилегированных учёток. - Разбери пути атаки по найденным ACE и скажи, какие права править первыми.
Как установить analyzing-active-directory-acl-abuse
1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-active-directory-acl-abuse -a claude-code2Вручную: положить файлы
~/.claude/skills/analyzing-active-directory-acl-abuse/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/analyzing-active-directory-acl-abuse/
1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-active-directory-acl-abuse -a codex2Вручную: положить файлы
.agents/skills/analyzing-active-directory-acl-abuse/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-active-directory-acl-abuse -a cursor2Вручную: положить файлы
.cursor/skills/analyzing-active-directory-acl-abuse/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install mukul975/Anthropic-Cybersecurity-Skills analyzing-active-directory-acl-abuse2Вручную: положить файлы
.github/skills/analyzing-active-directory-acl-abuse/SKILL.md1Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-active-directory-acl-abuse -a gemini-cli2Командой платформы
gemini skills install https://github.com/mukul975/Anthropic-Cybersecurity-Skills --path skills/analyzing-active-directory-acl-abuseВручную: положить файлы
.devin/skills/analyzing-active-directory-acl-abuse/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-active-directory-acl-abuse -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора89
Похожие
Рядом в теме «Безопасность»
Всё по теме «Безопасность» →Вопросы о analyzing-active-directory-acl-abuse
Как установить analyzing-active-directory-acl-abuse в Claude Code?
Выполните npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-active-directory-acl-abuse -a claude-code. Файл скилла окажется по пути ~/.claude/skills/analyzing-active-directory-acl-abuse/SKILL.md.
Что делает analyzing-active-directory-acl-abuse?
Ищет в DACL объектов Active Directory опасные разрешения у непривилегированных учётных записей и объясняет, как из них строится путь атаки. Результат — JSON с находками и рекомендациями.
Что нужно, чтобы скилл заработал?
Python 3.9 или новее с установленной библиотекой ldap3, учётка домена с правом чтения объектов AD и доступ к контроллеру домена по порту 389 или 636.
Исходный текст
SKILL.md · Apache-2.0
---
name: analyzing-active-directory-acl-abuse
description: Detect dangerous ACL misconfigurations in Active Directory using ldap3
to identify GenericAll, WriteDACL, and WriteOwner abuse paths
domain: cybersecurity
subdomain: identity-security
tags:
- active-directory
- acl-abuse
- ldap
- privilege-escalation
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- PR.AA-01
- PR.AA-05
- PR.AA-06
mitre_attack:
- T1098
- T1098.007
- T1484.001
- T1222.001
- T1078.002
---
# Analyzing Active Directory ACL Abuse
## Overview
Active Directory Access Control Lists (ACLs) define permissions on AD objects through Discretionary Access Control Lists (DACLs) containing Access Control Entries (ACEs). Misconfigured ACEs can grant non-privileged users dangerous permissions such as GenericAll (full control), WriteDACL (modify permissions), WriteOwner (take ownership), and GenericWrite (modify attributes) on sensitive objects like Domain Admins groups, domain controllers, or GPOs.
This skill uses the ldap3 Python library to connect to a Domain Controller, query objects with their nTSecurityDescriptor attribute, parse the binary security descriptor into SDDL (Security Descriptor Definition Language) format, and identify ACEs that grant dangerous permissions to non-administrative principals. These misconfigurations are the basis for ACL-based attack paths discovered by tools like BloodHound.
## When to Use
- When investigating security incidents that require analyzing active directory acl abuse
- When building detection rules or threat hunting queries for this domain
- When SOC analysts need structured procedures for this analysis type
- When validating security monitoring coverage for related attack techniques
## Prerequisites
- Python 3.9 or later with ldap3 library (`pip install ldap3`)
- Domain user credentials with read access to AD objects
- Network connectivity to Domain Controller on port 389 (LDAP) or 636 (LDAPS)
- Understanding of Active Directory security model and SDDL format
## Steps
1. **Connect to Domain Controller**: Establish an LDAP connection using ldap3 with NTLM or simple authentication. Use LDAPS (port 636) for encrypted connections in production.
2. **Query target objects**: Search the target OU or entire domain for objects including users, groups, computers, and OUs. Request the `nTSecurityDescriptor`, `distinguishedName`, `objectClass`, and `sAMAccountName` attributes.
3. **Parse security descriptors**: Convert the binary nTSecurityDescriptor into its SDDL string representation. Parse each ACE in the DACL to extract the trustee SID, access mask, and ACE type (allow/deny).
4. **Resolve SIDs to principals**: Map security identifiers (SIDs) to human-readable account names using LDAP lookups against the domain. Identify well-known SIDs for built-in groups.
5. **Check for dangerous permissions**: Compare each ACE's access mask against dangerous permission bitmasks: GenericAll (0x10000000), WriteDACL (0x00040000), WriteOwner (0x00080000), GenericWrite (0x40000000), and WriteProperty for specific extended rights.
6. **Filter non-admin trustees**: Exclude expected administrative trustees (Domain Admins, Enterprise Admins, SYSTEM, Administrators) and flag ACEs where non-privileged users or groups hold dangerous permissions.
7. **Map attack paths**: For each finding, document the potential attack chain (e.g., GenericAll on user allows password reset, WriteDACL on group allows adding self to group).
8. **Generate remediation report**: Output a JSON report with all dangerous ACEs, affected objects, non-admin trustees, and recommended remediation steps.
## Expected Output
```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"
}
]
}
```
© mahipal · Apache-2.0 · mukul975/Anthropic-Cybersecurity-Skills