十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Anthropic-Cybersecurity-Skills 实战:基于 ESAE 的 Active Directory 分层管理模型配置与审计指南

Anthropic-Cybersecurity-Skills 实战:基于 ESAE 的 Active Directory 分层管理模型配置与审计指南 Anthropic-Cybersecurity-Skills 实战基于 ESAE 的 Active Directory 分层管理模型配置与审计指南【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills导读本文以 Anthropic-Cybersecurity-Skills 仓库中的 configuring-active-directory-tiered-model 技能为核心完整讲解 Microsoft Enhanced Security Admin EnvironmentESAE分层管理模型的落地方法如何将域内资产与管理员账户划分为 Tier 0 / Tier 1 / Tier 2如何借助 ldap3 自动化审计 Tier 0 特权账户、检测跨层违规并核查特权访问工作站PAW部署情况。读完本文你将掌握分层模型的关键组、SID、UserAccountControl 标志位等核心参考数据并能直接运行仓库提供的审计脚本产出合规报告。一、技能背景为什么需要分层管理模型在传统 Active Directory 环境中域管理员Domain Admins等高权限账户通常直接在普通工作站上登录并执行日常操作这会让拥有管理员权限的工作站成为横向移动与凭据窃取Pass-the-Hash、Kerberoasting、Golden Ticket的跳板——攻击者只要攻破一台运行着 DA 会话的工作站就等于拿到了整个域。Microsoft ESAEEnhanced Security Admin Environment分层管理模型正是为收敛这一风险而设计其核心思想是将系统与账户按受控级别分层高权限账户只在高安全级别的环境中使用为每层配备专用的特权访问工作站PAW阻断凭据在不同信任级别之间的流动配套管理林administrative forest设计、认证策略隔离authentication policy silos等机制进一步限制高权限凭据的可用范围。在本仓库中该技能被归类为identity-access-management领域并映射到 NIST CSF 的 PR.AA-01、PR.AA-02、PR.AA-05、PR.AA-06 以及 MITRE ATTCK 的 T1078.002、T1550.002、T1550.003、T1003.001、T1021 等攻防技术点见 SKILL.md 头部元数据覆盖了凭据窃取、凭据传递等横向移动技术的主要防御场景。二、核心参考数据Tier 0 / 1 / 2 分层定义分层模型将 AD 环境划分为三个信任层级各层级承载的资产与管理员账户完全不同。api-reference.md 给出了标准定义层级资产管理员账户Tier 0域控制器、Active Directory、PKI、ADFSDomain Admins、Enterprise AdminsTier 1成员服务器、应用程序服务器管理员、应用管理员Tier 2工作站、终端用户帮助台、工作站管理员而仓库配套的审计脚本 scripts/agent.py 在此基础上进一步扩展为可机读的TIER_DEFINITIONS字典其中 Tier 0 组包括Domain Admins、Enterprise Admins、Schema Admins、Administrators、Account Operators、Backup OperatorsTier 1 组为Server Operators、Print OperatorsTier 2 组为Help Desk、Workstation AdminsTIER_DEFINITIONS { Tier 0: { description: Domain controllers, AD admin accounts, PKI, ADFS, groups: [Domain Admins, Enterprise Admins, Schema Admins, Administrators, Account Operators, Backup Operators], }, Tier 1: { description: Member servers, server admin accounts, applications, groups: [Server Operators, Print Operators], }, Tier 2: { description: Workstations, standard user accounts, help desk, groups: [Help Desk, Workstation Admins], }, }设计要点同一用户若需要管理不同层级的资产必须使用独立的专用账户而不是让一个 DA 账户既登录工作站又登录服务器。这一原则正是后续跨层违规检测的逻辑基础。三、Tier 0 关键组与其 SID 后缀Tier 0 是整个分层模型的信任根其内置组的成员权限可以直接或间接控制域控制器。api-reference.md 列出了 6 个必须重点监控的 Tier 0 组及其 RIDSID 后缀组SID 后缀说明Domain Admins-512域内最高管理权限可完全控制域Enterprise Admins-519林范围管理员可影响林中所有域Schema Admins-518可修改 AD 架构schemaAdministrators-544本机/域内置管理员组Account Operators-548可创建/修改域用户与组Backup Operators-551可绕过访问控制备份/还原数据这些组的 RID 是安全监控与 SIEM 规则编写中的硬编码锚点例如检测S-1-5-21-域SID-512的成员变更即可覆盖 Domain Admins 的持久化行为。审计脚本正是通过遍历这些组并枚举其member属性来完成 Tier 0 账户盘点。四、UserAccountControl 标志位识别高风险账户属性UserAccountControlUAC是 AD 用户对象的位掩码属性一个账户可以同时置多个标志位。审计与加固中最常用的三个标志如下来自 api-reference.md标志值描述ACCOUNTDISABLE0x2账户已禁用DONT_EXPIRE_PASSWORD0x10000密码永不过期NOT_DELEGATED0x100000账户对委派敏感禁止被 Kerberos 委派在 scripts/agent.py 中脚本通过位与运算解析这些标志从而对 Tier 0 账户打上风险标签uac int(str(user.userAccountControl)) if hasattr(user, userAccountControl) else 0 findings.append({ account: str(user.sAMAccountName), group: group_name, tier: Tier 0, password_never_expires: bool(uac 0x10000), account_disabled: bool(uac 0x2), admin_count: True, })实战意义DONT_EXPIRE_PASSWORD置位的 Tier 0 账户意味着密码策略对其无效是凭据泄露风险的高发区应优先整改NOT_DELEGATED则是对抗 Kerberos 委派滥用对应 MITRE T1550.003 与 T1003.001 等横向移动技术的关键加固标志。五、自动化审计工具链ldap3 与 pyad分层模型落地后需要持续审计api-reference.md 推荐使用两个 Python 库库安装方式用途ldap3pip install ldap3LDAP 查询用于 AD 组与账户枚举pyadpip install pyadWindows 上的 AD 对象操作其中 ldap3 的核心方法如下方法说明Connection(server, user, password, authenticationNTLM)以 NTLM 认证建立 LDAP 绑定conn.search(base_dn, filter, attributes)搜索 AD 对象conn.entries返回搜索结果条目注意pyad依赖 Windows Active Directory 环境而ldap3是跨平台的因此在 Linux/容器化审计场景中通常优先使用 ldap3。仓库的审计代理即选用 ldap3并在缺少依赖时给出明确的安装提示try: import ldap3 from ldap3 import Server, Connection, ALL, NTLM except ImportError: print(Install: pip install ldap3) sys.exit(1)六、直接可运行的审计脚本agent.py 全解析仓库在 scripts/agent.py 中提供了一个可直接复用的 AD 分层模型审计代理覆盖三大检查维度。6.1 命令行用法python3 skills/configuring-active-directory-tiered-model/scripts/agent.py \ --server 192.168.1.10 \ --domain corp.example.com \ --username svc_audit \ --password Pssw0rd \ --output report.json参数必填说明--server是域控制器 IP--domain是AD 域名如corp.example.com--username是具备读权限的管理员账户--password是对应密码--output否将报告保存为 JSON 文件脚本通过args parser.parse_args()解析参数见 agent.py未提供--output时结果仅打印到控制台。6.2 LDAP 绑定与 base DN 构造审计入口run_audit()使用 NTLM 认证绑定域控并根据域名自动推导 base DNserver Server(server_ip, get_infoALL) conn Connection(server, userf{domain}\\{username}, passwordpassword, authenticationNTLM, auto_bindTrue) base_dn ,.join([fDC{p} for p in domain.split(.)])例如corp.example.com会被转换为DCcorp,DCexample,DCcom。get_infoALL会在绑定时抓取服务器根 DSE 信息便于后续查询。审计完成后调用conn.unbind()释放连接。6.3 维度一Tier 0 账户盘点audit_tier0_accounts对每个 Tier 0 组执行两次搜索先按((objectClassgroup)(cn组名))定位组并取回member属性再对每个成员 DN 反向查询其sAMAccountName、lastLogonTimestamp、userAccountControl、adminCount。输出中会为满足条件的账户追加PWD_NEVER_EXPIRES标志提示例如--- TIER 0 ACCOUNTS (12) --- admin_zhang in Domain Admins PWD_NEVER_EXPIRES svc_adfs in Enterprise Admins6.4 维度二跨层违规检测check_tier_violations这是本技能最具实战价值的检测逻辑用((objectClassuser)(adminCount1)(!(userAccountControl:1.2.840.113556.1.4.803:2)))找出所有adminCount1且未禁用的账户其中1.2.840.113556.1.4.803是 LDAP 的位掩码匹配 OID:803:表示按位与随后判断同一账户是否同时出现在 Tier 0 组与 Tier 1 组中tier0 any(Domain Admins in str(g) or Enterprise Admins in str(g) for g in groups) tier1 any(Server in str(g) for g in groups) if tier0 and tier1: violations.append({ account: str(entry.sAMAccountName), violation: Account spans Tier 0 and Tier 1, severity: CRITICAL, recommendation: Create separate accounts per tier, })违反分层隔离的账户会被标记为CRITICAL修复建议是为每层创建独立账户——这正是 ESAE 模型的核心要求。6.5 维度三PAW 合规核查check_paw_compliance通过((objectClasscomputer)(cnPAW*))搜索主机名以PAW开头的计算机对象统计 PAW 数量并据此判定合规状态compliant: len(paws) 0, recommendation: Deploy PAWs for all Tier 0 admin accounts if not paws else PAWs detected,若环境中没有任何 PAW脚本会明确提示需要为所有 Tier 0 管理员账户部署特权访问工作站。6.6 审计报告输出脚本末尾将三项检查结果汇总为结构化字典并可序列化为 JSONreturn {tier0_accounts: accounts, violations: violations, paw: paw}{ tier0_accounts: [], violations: [], paw: {paw_count: 2, compliant: true} }该 JSON 可直接作为合规证据喂给 SIEM、工单系统或内部风险看板。七、从参考数据到实现底层原理印证对照 api-reference.md 与 scripts/agent.py 可以发现两者高度一致形成参考数据 → 可执行实现的完整闭环分层定义api-reference 的 Tier 0/1/2 资产与账户表被 agent.py 的TIER_DEFINITIONS字典逐项落地Tier 0 组清单api-reference 列出的 6 个 Tier 0 组Domain Admins、Enterprise Admins、Schema Admins、Administrators、Account Operators、Backup Operators与 agent.py 中TIER_DEFINITIONS[Tier 0][groups]完全对应SID 后缀可作为监控规则锚点UAC 标志位api-reference 的DONT_EXPIRE_PASSWORD (0x10000)、ACCOUNTDISABLE (0x2)被 agent.py 以位与运算直接用于账户风险判定。这意味着你既可以手工依据 api-reference 的表单执行清单化整改也可以直接运行脚本做批量自动化审计两者互为印证。八、落地流程与验证清单参照 SKILL.md 的目标与验证要求推荐按以下流程实施盘点分层枚举全部特权组与成员按本文第三、四节的标准将账户归入 Tier 0/1/2拆分账户为跨层账户建立独立的专用管理账户移除其在其他层级的组成员资格部署 PAW为 Tier 0/1 管理员配置专用工作站限制其登录来源加固属性对 Tier 0 账户清理DONT_EXPIRE_PASSWORD置位NOT_DELEGATED持续审计以 agent.py 周期性运行并导出 JSON接入 SIEM 告警生成合规证据将 NIST 800-53 控制项AC-2 账户管理、AC-3 访问强制、AC-6 最小权限、AU-3 审计日志、IA-2 身份标识的落实情况整理为文档。最终对照验证清单逐项确认来自 SKILL.mdImplementation tested in non-production environmentSecurity policies configured and enforcedAudit logging enabled and forwarding to SIEMDocumentation and runbooks completeCompliance evidence generated九、延伸阅读技能主文档SKILL.md含 NIST CSF / MITRE ATTCK 映射与安全控制表API 参考references/api-reference.md审计脚本scripts/agent.py许可协议LICENSEApache-2.0本仓库所有技能统一索引见 index.jsonATTCK 覆盖总览见 ATTACK_COVERAGE.mdATTCK Navigator 层文件见 mappings/attack-navigator-layer.json提示所有审计操作应在获得明确授权的测试或实验环境中执行生产域内的高权限查询请遵循最小权限原则使用只读审计账户。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表