skills/analyzing-active-directory-acl-abuse/SKILL.md
使用 ldap3 检测 Active Directory 中危险的 ACL 配置错误,识别 GenericAll、WriteDACL 和 WriteOwner 等滥用路径
npx skillsauth add killvxk/cybersecurity-skills-zh analyzing-active-directory-acl-abuseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
活动目录(Active Directory)访问控制列表(ACL)通过包含访问控制条目(ACE)的自主访问控制列表(DACL)来定义 AD 对象的权限。配置错误的 ACE 可能赋予非特权用户对敏感对象(如 Domain Admins 组、域控制器或 GPO)的危险权限,包括 GenericAll(完全控制)、WriteDACL(修改权限)、WriteOwner(获取所有权)和 GenericWrite(修改属性)。
本技能使用 ldap3 Python 库连接到域控制器,查询包含 nTSecurityDescriptor 属性的对象,将二进制安全描述符解析为 SDDL(安全描述符定义语言)格式,并识别向非管理员主体授予危险权限的 ACE。这些配置错误正是 BloodHound 等工具发现的基于 ACL 的攻击路径的基础。
pip install ldap3)连接域控制器:使用 ldap3 通过 NTLM 或简单身份验证建立 LDAP 连接。在生产环境中使用 LDAPS(端口 636)进行加密连接。
查询目标对象:搜索目标 OU 或整个域,获取包括用户、组、计算机和 OU 在内的对象。请求 nTSecurityDescriptor、distinguishedName、objectClass 和 sAMAccountName 属性。
解析安全描述符:将二进制 nTSecurityDescriptor 转换为 SDDL 字符串表示。解析 DACL 中的每个 ACE,提取受托人 SID、访问掩码和 ACE 类型(允许/拒绝)。
将 SID 解析为主体:通过对域的 LDAP 查询,将安全标识符(SID)映射为可读的账户名。识别内置组的已知 SID。
检查危险权限:将每个 ACE 的访问掩码与危险权限位掩码进行比较:GenericAll(0x10000000)、WriteDACL(0x00040000)、WriteOwner(0x00080000)、GenericWrite(0x40000000),以及针对特定扩展权限的 WriteProperty。
过滤非管理员受托人:排除预期的管理员受托人(Domain Admins、Enterprise Admins、SYSTEM、Administrators),并标记非特权用户或组持有危险权限的 ACE。
映射攻击路径:对于每个发现,记录潜在的攻击链(例如,对用户的 GenericAll 允许重置密码,对组的 WriteDACL 允许将自身添加到组中)。
生成修复报告:输出包含所有危险 ACE、受影响对象、非管理员受托人及建议修复步骤的 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"
}
]
}
testing
设计并执行社会工程学渗透测试,包括钓鱼、语音钓鱼、短信钓鱼和物理借口活动,以衡量人员安全韧性并识别培训差距。
testing
主持结构化的事件后审查,以识别根本原因、记录有效和无效的措施,并提出可操作的改进建议以提升未来的事件响应能力。
testing
通过分析举报的邮件、提取指标、评估凭据受攻陷情况、在全组织范围隔离恶意邮件并修复受影响账号来响应网络钓鱼事件。涵盖邮件头分析、URL/附件沙箱检测和邮箱范围清除操作。适用于网络钓鱼响应、邮件事件、凭据钓鱼、鱼叉式网络钓鱼调查或钓鱼修复相关请求。
tools
票据传递(Pass-the-Ticket,PtT)是一种横向移动技术,使用窃取的 Kerberos 票据(TGT 或 TGS)在不知道用户密码的情况下向服务进行认证。通过从已控制的主机内存中提取 Kerberos 票据,攻击者可以将这些票据注入自己的会话以模拟票据所有者。