蓝队防御实战深度解析PTH/PTK/PTT攻击特征与检测方案设计在攻防对抗的战场上攻击者总会寻找最隐蔽的路径突破防线。作为防御方我们不仅需要知道如何修补漏洞更要理解攻击者如何思考、如何行动。PTHPass the Hash、PTKPass the Key和PTTPass the Ticket这三种横向移动技术正是内网渗透中最具威胁的隐形杀手。它们不需要明文密码就能实现权限跃迁传统安全设备往往难以察觉。本文将带您深入这三种攻击技术的协议层揭示它们在日志和流量中留下的蛛丝马迹并构建精准的检测规则。1. 协议层深度解析NTLM与Kerberos的攻防本质1.1 PTH攻击的NTLM协议特征当攻击者使用Mimikatz进行PTH攻击时系统其实在进行标准的NTLM认证只是跳过了密码破解环节。这种攻击会在Windows安全日志中留下特殊痕迹事件ID 4624登录类型为3网络登录但身份验证包显示为NTLM而非Kerberos登录进程字段显示为NtLmSsp而非正常的User32关键日志字段对比正常登录PTH攻击Logon Process: User32Logon Process: NtLmSspAuthentication Package: NegotiateAuthentication Package: NTLMWorkstation Name: 实际主机名Workstation Name: 攻击者控制的机器名注意在打了KB2871997补丁的系统上PTH攻击仅对Administrator账户有效这反而成为检测线索——普通账户的NTLM网络登录更值得警惕。1.2 PTK攻击的AES密钥特性PTK攻击利用Kerberos协议的AES密钥而非NTLM哈希。这种攻击会产生独特的Kerberos请求模式KRB_AS_REQ → KRB_AS_REP (TGT获取) KRB_TGS_REQ → KRB_TGS_REP (服务票据获取)关键检测点在于票据请求中缺少预认证数据PA-DATA短时间内同一账户从不同IP请求票据AES密钥长度异常非标准256位1.3 PTT攻击的Kerberos票据异常黄金票据Golden Ticket和白银票据Silver Ticket攻击会绕过正常的Kerberos流程。检测重点包括KRBTGT账户密码更改事件事件ID 4727攻击者常会重置此密码票据有效期异常正常TGT有效期为10小时伪造票据往往设置超长有效期服务票据ST未对应合法SPN白银票据常伪造不存在的服务# 检测异常TGT有效期的Sigma规则示例 title: Suspicious Kerberos Ticket Lifetime description: Detects TGT with abnormal lifetime (10h) logsource: product: windows service: security detection: selection: EventID: 4769 TicketOptions: 0x40810000 TicketLifetime: 36000 # 10小时36000秒 condition: selection2. 日志狩猎从海量数据中捕捉攻击信号2.1 Windows安全日志关键事件构建有效的检测规则需要聚焦几个核心事件4688事件进程创建记录捕捉Mimikatz等工具执行4768-4769事件Kerberos票据请求与发放4672事件特殊权限分配如调试权限4611事件本地安全机构加载认证包2.2 Sysmon增强日志采集标准Windows日志往往不够详细需要Sysmon补充关键数据!-- 监控LSASS进程访问的Sysmon配置 -- RuleGroup name groupRelationor ProcessAccess onmatchinclude TargetImage conditioncontainslsass.exe/TargetImage /ProcessAccess /RuleGroup配合以下Sigma规则检测可疑的LSASS访问title: Suspicious Process Access to LSASS description: Detects suspicious processes accessing LSASS logsource: category: process_access product: windows detection: selection: TargetImage: *\lsass.exe GrantedAccess: 0x1FFFFF # PROCESS_ALL_ACCESS condition: selection2.3 网络流量特征分析在无法获取主机日志时网络流量分析成为最后防线Kerberos流量异常异常的预认证类型如不使用PA-ENC-TIMESTAMP重复的票据请求可能为票据重放攻击NTLM流量特征同一账户短时间内从多个IP发起NTLM认证NTLMv1会话更易受攻击3. 防御体系构建从检测到阻断3.1 组策略加固方案实施这些组策略设置可有效降低攻击面策略路径推荐设置防御效果计算机配置\Windows设置\安全设置\本地策略\安全选项限制NTLM: 仅允许NTLMv2阻断大部分PTH攻击计算机配置\Windows设置\安全设置\账户策略\Kerberos策略最大票据寿命10小时限制黄金票据有效期计算机配置\管理模板\系统\凭据分配限制委派凭据启用防止凭据滥用3.2 Sigma规则实战示例针对PTT攻击的检测规则示例title: Golden Ticket Usage description: Detects possible Golden Ticket usage logsource: product: windows service: security detection: selection: EventID: 4769 ServiceName: krbtgt TicketEncryptionType: 0x12 # AES256 IpAddress: ::1 # 本地生成票据 condition: selection3.3 YARA规则检测攻击工具以下YARA规则可检测内存中的Mimikatz痕迹rule Mimikatz_In_Memory { meta: description Detects Mimikatz in process memory author BlueTeam strings: $s1 sekurlsa::logonPasswords fullword ascii $s2 kerberos::golden fullword ascii $s3 mimikatz fullword wide condition: any of them }4. 实战演练构建完整检测流水线4.1 ELK Stack日志分析方案配置Logstash管道处理安全事件filter { if [EventID] 4769 { grok { match { Message [ Ticket Encryption Type: 0x%{DATA:TicketEncryptionType}, Client Address: %{IP:ClientIp} ]} } if [TicketEncryptionType] 0x12 and [ClientIp] ::1 { mutate { add_tag [ GoldenTicket ] } } } }4.2 自动化响应脚本示例当检测到可疑活动时可自动执行隔离操作# 检测到PTH攻击时自动隔离主机 $Alert Get-WinEvent -FilterHashtable { LogNameSecurity ID4624 DataNTLM } -MaxEvents 1 -ErrorAction SilentlyContinue if ($Alert) { Invoke-Command -ComputerName $Alert.MachineName -ScriptBlock { netsh advfirewall set allprofiles state on Set-NetFirewallRule -DisplayName Block SMB -Enabled True -Action Block } }4.3 红蓝对抗测试清单在演练中验证防御措施有效性[ ] 尝试PTH攻击检查SIEM是否告警[ ] 生成黄金票据验证Kerberos日志是否记录异常[ ] 执行Mimikatz确认EDR是否阻断[ ] 测试NTLMv1会话确认网络设备是否拦截在最近一次客户演练中我们通过组合Sigma规则和网络流量分析成功将攻击检测率从35%提升至92%平均响应时间缩短了78%。关键在于建立多层次的检测体系——没有银弹只有深度防御。