Windows本身是不会存储明文密码的,只保存密码的hash
其中本机用户的密码hash是放在本地的SAM文件里面,域内用户的密码hash是存在域控的NTDS.DIT文件里面的
Administrator:500:aad3b435b51404eeaad3b435b51404ee:520126a03f5d5a8d836f1c4f34ede7ce:::
其中aad3b435b51404eeaad3b435b51404ee
是LM Hash;520126a03f5d5a8d836f1c4f34ede7ce
是NTLM Hash
全称为LAN Manager Hash
讲下LM Hash的加密过程
KGS!@#$%
"进行DES加密
LM加密算法的固有漏洞
KGS!@#$%
)aad3b435b51404ee
为了解决LM加密和身份验证方案中固有的安全弱点,Microsoft 于1993年在Windows NT 3.1中引入了NTLM协议。
以下是各个版本对LM和NTLM的支持。
所以从Windows Vista和Windows Server 2008以后,不再存储LM Hash,只存储NTLM Hash
所以高版本我们抓到的LM Hash都是AAD3B435B51404EEAAD3B435B51404EE
,没用的
但是有些工具的参数需要填写固定格式LM hash:NT hash
,比如wmiexec
的-hashes
,我上篇也用到了
我们就可以用00000000000000000000000000000000
来填写LM Hash
讲下NTLM Hash的加密过程
就比较简便了
NTLM验证是一种Challenge/Response 验证机制
由三种消息组成:通常称为
在type3验证中的相应 一共有六种
这六种使用的加密流程一样,都是前面我们说的Challenge/Response 验证机制,区别在Challenge和加密算法不同。
这里 我主要重点记录下NTLM v1和 NTLM v2响应
v2是16位的Challenge,而v1是8位的Challenge(但是我测试的都是16位的challenge)
加密算法也不同
v1: 将16字节的NTLM hash空填充为21个字节,然后分成三组,每组7比特,作为3DES加密算法的三组密钥,加密Server发来的Challenge。 将这三个密文值连接起来得到response。(DES加密算法)
v2:
至于选择哪个版本的响应由LmCompatibilityLevel
决定。
Challenge/Response验证机制里面type3 response里面包含Net-ntlm hash,NTLM v1响应和NTLMv2响应对应的就是Net-ntlm hash分为Net-ntlm hash v1和Net-ntlm hash v2
Net-ntlm hash v1的格式为:
username::hostname:LM response:NTLM response:challenge
Net-ntlm hash v2的格式为:
username::domain:challenge:HMAC-MD5:blob
响应大部分是抄的360文章的,因为响应我就觉得他们写的比较清楚
这玩意方法有很多,详情看下面文章吧..
https://osandamalith.com/2017/03/24/places-of-interest-in-stealing-netntlm-hashes/
只要获取到Net-NTLM v1,都能破解为NTLM hash。与密码强度无;但是大部分都是v2,v2就relay
使用Responder
https://github.com/lgandx/Responder/
具体操作要修改Responder.conf
,所以我先备份出来一份
Challenge
改为1122334455667788
; (默认为random)
获取到Net—NTLM v1
sudo -E python3 Responder.py -wrfv -I eth0 -i 192.168.0.109 --lm
然后使用下面这个工具转换出来 然后解密就可以了
https://github.com/evilmog/ntlmv1-multi
然后对key解密
一般就是利用hashcat 离线爆破明文密码
在Net-NTLM Hash的破解里面,如果是v1的话,拿到Net-NTLM就相当于拿NTLM HASH.这个时候就没有Relay的必要性了;
但是在实际中遇到的例子往往不会是v1,而是v2。
这个时候密码强度高一点,基本就跑不出来了,这种情况下 就relay。
对域环境好一点,因为workgroup里的机器没有信任关系,自己机子的hash都存在sam里
impacket
下的smbrelayx.py
impacket
下的ntlmrelayx.py
Responder
底下的`MultiRelay.pyv
手机扫一扫
移动阅读更方便
你可能感兴趣的文章