在终端日志中狩猎 NTLM 中继攻击
概述
NTLM 中继攻击通过拦截并转发 NTLM 认证消息,获取对网络资源的未授权访问。攻击者使用 Responder 进行 LLMNR/NBT-NS 投毒,使用 ntlmrelayx 进行凭据中继。本技能通过以下方式检测中继活动:查询 Windows 安全事件 4624(成功登录),筛选使用 NTLMSSP 认证的类型 3 网络登录;识别 WorkstationName 与来源 IpAddress 的不匹配;检测单一账户的快速多主机认证;审计域内主机的 SMB 签名配置。
前置条件
- Python 3.9+,可访问 Windows 事件日志或导出的日志
- 启用 Windows 安全审计日志(事件 ID 4624、4625、5145)
- 可进行 SMB 签名状态检查的网络访问权限
关键检测点
- IP 与主机名不匹配 — 事件 4624 中的 WorkstationName 无法解析到来源 IpAddress
- NTLMSSP 认证 — 域内主机使用 NTLM 而非 Kerberos 进行登录
- 机器账户中继 — 计算机账户(以 $ 结尾)从非预期 IP 发起认证
- 快速认证 — 单一账户在数秒内向多台主机完成认证
- 命名管道访问 — 事件 5145 中对 Spoolss、lsarpc、netlogon、samr 管道的访问
- SMB 签名未启用 — 主机未强制执行 SMB 签名,可被中继攻击利用
输出
JSON 报告,包含疑似中继事件、IP 与主机名关联异常、SMB 签名审计结果,以及到 MITRE ATT&CK T1557.001 的映射。