实战复盘:一次从PTH到PTT的完整内网横向移动(附Mimikatz、Kekeo命令实录)

张开发
2026/4/20 14:37:00 15 分钟阅读

分享文章

实战复盘:一次从PTH到PTT的完整内网横向移动(附Mimikatz、Kekeo命令实录)
域渗透实战哈希与票据传递技术的攻防全景解析当安全工程师第一次拿到域内某台主机的控制权时眼前展开的往往是一个错综复杂的网络迷宫。如何从这台跳板机出发逐步扩大控制范围直至域控服务器这就像在黑暗森林中寻找一条隐蔽的小径而哈希与票据传递技术正是攻击者最常用的夜视仪。1. 域环境下的认证机制基础想象一下你刚拿到一台域内Windows服务器的控制权桌面上开着Mimikatz屏幕上滚动着各种哈希值。这些看似随机的字符串实际上是企业内网的万能钥匙。但要正确使用它们首先需要理解Windows认证的底层逻辑。Kerberos认证流程可以简化为三个关键步骤AS-REQ/AS-REP交换客户端用密码哈希加密时间戳发送给KDC获取TGT票证授予票证TGS-REQ/TGS-REP交换客户端用TGT请求访问特定服务的ST服务票证AP-REQ/AP-REP交换客户端向服务出示ST进行最终认证在NTLM认证中过程更为直接客户端 --(NTLM哈希)-- 服务器 -(Challenge)-- 客户端 --(Response)-- 服务器关键差异对比特性KerberosNTLM协议基于票据基于挑战/响应加密强度AES/RC4NTLMv1/NTLMv2单点登录支持不支持防重放时间戳保护依赖随机数强度提示现代Windows域环境默认优先使用Kerberos仅在特定场景回退到NTLM2. PTH攻击哈希传递的艺术2014年的某个渗透测试项目中我们发现某大型企业的内网存在惊人的安全隐患——超过80%的工作站使用相同的本地管理员密码。这种情况下PTHPass-the-Hash就像一把打开所有房门的万能钥匙。典型攻击场景获取了某台域成员机的本地管理员哈希发现多台主机使用相同本地管理员账户目标系统未安装KB2871997补丁使用Mimikatz进行PTH攻击的基本命令流程# 提升调试权限 privilege::debug # 获取内存中的凭据 sekurlsa::logonpasswords # 执行哈希传递 sekurlsa::pth /user:Administrator /domain:CONTOSO /ntlm:cc36cf7a8514893efccd332446158b1a补丁影响分析系统状态普通用户PTHAdministrator PTH未安装KB2871997可行可行已安装KB2871997不可行可行实际测试中发现几个有趣现象即使禁用NTLM某些RPC服务仍可能接受哈希认证部分第三方管理工具如PCAnywhere的旧版本会缓存哈希值通过WMI执行命令时哈希传递的成功率高于SMB协议3. PTK技术当AES密钥成为突破口随着企业对PTH攻击的认知提升KB2871997补丁逐渐普及。但安全攻防就像猫鼠游戏攻击者很快发现了新的突破口——AES密钥传递Pass-the-Key。PTK攻击前提条件目标系统已安装KB2871997补丁获取了用户的AES-256密钥域控制器支持AES加密类型获取AES密钥的Mimikatz命令sekurlsa::ekeys执行PTK攻击的典型命令sekurlsa::pth /user:FinanceUser /domain:CONTOSO /aes256:3f6ef5b5d2b4d6a9c1b2e8d3f5a7c9d1b2e8d3f5a7c9d1b2e8d3f5a7c9d1b2e8Kerberos加密类型对比加密类型强度默认启用备注AES256高Win8/2012需要域功能级别提升AES128中高Win7/2008R2较AES256兼容性更好RC4低所有版本遗留支持不推荐使用在一次金融行业的红队评估中我们发现尽管企业强制部署了AES256加密但由于某些业务系统兼容性问题域控制器仍然允许RC4加密请求。这种配置缺陷使得我们能够降级攻击使用PTK技术配合RC4哈希成功横向移动。4. PTT攻击票据的魔法如果说PTH和PTK还停留在伪造凭证的层面那么PTTPass-the-Ticket则进入了身份盗用的高级阶段。这种技术特别适合已经部署NTLM限制策略的环境。三种典型的PTT攻击方式MS14-068漏洞利用普通用户直接提升至域管权限# 生成伪造的TGT MS14-068.exe -u usercontoso.com -s S-1-5-21-... -d dc.contoso.com -p Password123 # 注入内存 mimikatz kerberos::ptc TGT_usercontoso.com.ccache黄金票据攻击完全控制域认证体系kerberos::golden /user:Administrator /domain:contoso.com /sid:S-1-5-21-... /krbtgt:a9b30e5b0dc865eadcea9411e4ade72d /ptt白银票据攻击针对特定服务的权限提升kerberos::golden /user:ServiceAccount /domain:contoso.com /sid:S-1-5-21-... /target:sqlserver.contoso.com /service:MSSQLSvc /rc4:1f3870be274f6c49b3e31a0c6728957f /ptt票据类型对比分析特性TGT黄金票据白银票据有效期通常10小时自定义自定义签发者KDC攻击者伪造攻击者伪造适用范围整个域整个域特定服务所需信息用户密码krbtgt哈希服务账户哈希在一次制造业客户的渗透测试中我们发现他们的SIEM系统虽然能检测异常的Kerberos请求但对TGS-REQ阶段的异常却缺乏监控。利用这个盲点我们通过白银票据成功获取了Oracle数据库服务器的SYSDBA权限而全程没有触发任何告警。5. 防御策略的多层部署面对这些高级攻击技术防御者需要构建纵深防御体系。以下是一些经过验证的有效措施即时检测手段监控异常Kerberos请求如短时间内大量TGT请求识别同一账户从多个IP同时登录的情况检测LSASS进程的异常内存读取行为长期加固建议账户策略禁用本地管理员账户的共享使用实施LAPS本地管理员密码解决方案对高权限账户启用敏感账户不可委派标记系统配置# 禁用NTLMv1 Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name LmCompatibilityLevel -Value 5 # 强制AES加密 Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters -Name SupportedEncryptionTypes -Value 0x18网络架构实施网络分段限制域控制器可访问范围对管理流量建立专属VLAN部署Jump Server进行权限跳转控制检测规则示例Sigma规则title: Mimikatz Command Line Detection description: Detects command line arguments used in Mimikatz attacks logsource: product: windows service: sysmon detection: selection: EventID: 10 CommandLine|contains: - sekurlsa::logonpasswords - kerberos::golden - sekurlsa::pth condition: selection falsepositives: - Legitimate security testing level: high在一次攻防演练后的复盘会上客户的CISO问我们如果只能做一件事来防御这些攻击应该优先做什么我的回答是启用Windows Defender Credential Guard。这项技术通过虚拟化安全VSM隔离LSASS进程能有效阻断大多数凭证窃取尝试。

更多文章