Windows 身份验证机制主要有NTLM
和Kerberos
两种,前者主要用于本地以及工作组环境,而后者主要用于域环境.还有一种LM认证,但现在基本淘汰了,在这就不再做过多的解释.
Windows中不会保存明文密码,只会保存密码的hash,本机用户的密码hash是存放在SAM文件里而域内用户的密码hash是存在DC的ntds.dit文件里
安全账号管理器(Security Accounts Manager),是Windows管理用户账户安全的一种机制,用来存储密码的数据库文件.此文件存储密码的Hash也就是LM Hash
和NTLM Hash
. SAM位于%SystemRoot%\system32\config\sam
,在注册表中保存在HKEY_ LOCAL_MACHINE\SAM\SAM
和HKEY_ LOCAL _MACHINE\SECURITY\SAM
.正常情况下SAM文件是不允许直接访问等操作的.
NTLM
认证就是通过NTLM Hash
进行的认证,可分为本地认证和网络认证
将明文密码转换成16进制格式
对16进制进行unicode编码,即在每个字节之后添加0x00
对unicode字符串做md4加密
例如:
明文密码:12345
转换成16进制:313233343536
转换成unicode:310032003300340035003600
md4加密:32ed87bdb5fdc5e9cba88547376818d4
加密结果和mimikatz抓到的NTLM Hash一致
当用户进行开启、注销等需要认证的时候,windows会调用winlogon.exe
接受我们输入的密码,然后会将密码交给lsass.exe
,lsass.exe
进程会先在内存中存储一份明文密码,然后将明文密码进行加密为NTLM Hash
后,与SAM文件中的NTLM Hash
进行对比,如果一致则通过.
NTLM
在网络环境中采用的是一种Challenge/Response
验证机制,由三个消息组成:Type1(协商),Type2(质询),Type3(身份验证)
首先客户端向服务端发送Type1消息去协商需要认证的主体,用户,机器以及需要使用安全服务等信息.
服务端接收到客户端发送的Type1消息后,会生成一个随机的16位Type 2 Challenge消息,本地存储后将Type 2消息发送给客户端.
客户端接收到Type2消息后,使用用户的NTLM Hash对Challenge进行加密得到Net-NTLM Hash(不能直接用来进行PTH,但可以通过暴力破解来获取明文密码),封装到Type3 消息中,发给服务端.
服务端接收到Type3消息后,用自己的密码对NTLM-Hash对Challenge进行加密,并比较自己计算出的Net NTLM Hash与客户端发送的是否匹配,如果匹配则认证成功,否则认证失败.
在整个NTLM验证过程中,虽然没有明文密码在客户端和服务端之间传输,但是如果得到了NTLM Hash后,无需爆破明文密码,可以冒充该用户通过身份验证,也就是PTH攻击.
访问目标机器的共享,来模拟客户端访问服务端
net use \\192.168.3.114 /u:administrator 123456
可在目标机器上进行抓包,访问共享是基于SMB协议的,前四个包(Negotiate Protocol Response)则是进行协商
第六个包则是服务端向客户端返回的Challenge
紧接着下一个包则是服务端通过NTLM Hash
对Challenge
加密得到的Response
,NTLMv2 Response
的值
Net-NTLM Hash
是不能进行PTH的,在得到上面的数据后可通过拼接,然后通过hashcat
进行爆破 NTLMv2格式为:
username::domain:challenge:HMAC-MD5:blob
username是数据包中User name的值 domain是数据包中Host name的值 HMAC-MD5是数据包中NTProofstr的值 blob则是NTLMv2 Response去掉NTProofstr后的值
组合得到后可通过hashcat
指定5600类型进行爆破,在真实环境中,不可能在服务端使用wireshark进行抓包,可通过中间人攻击来获得Net-NTLM Hash,在无法爆破出明文密码的时候可尝试NTLM Relay攻击.
https://y4er.com/posts/ntlm-hash-and-lm-hash/#lm-hash
https://juejin.cn/post/6952793401460949029#heading-1
https://xz.aliyun.com/t/6600
https://blog.csdn.net/qq_44159028/article/details/123274876
转自:鸿鹄实验室
侵权请私聊公众号删文
学习更多技术,关注我:
觉得文章不错给点个‘再看’吧