NTLM
用于远程登录协议认证
将数据采用hex(16进制编码)—>Unicode编码—>MD4编码,最终得到的就是NTLM编码后的数据
用户密码会以密文的方式储存在SAM文件中,这个密文就是采用了NTLM编码,编码后的命名为NTLM-hash
NTLM认证方式
1. 客户端发送用户名到服务器
2. 服务器判断本地用户名是否存在,没有则失败,有的话生成challenge(挑战与响应机制),查找该用户的NTLM-hash,使用NTLM-hash加密challenge,生成net-ntlm hash存在内存中,将challenge发给客户端
3. 客户端接收到challenge后,将自己的密码转换成NTLM-hash,再用NTLM-hash加密challenge,生成response发送给服务器
4. 服务器对比net-ntlm hash和response,成功即可链接
客户端与服务器总共传输三次数据,即便hack截获了数据包,也无法篡改,非常安全
哈希传递
原理
哈希传递能够在不需要账号明文密码的情况下完成认证的技术
哈希值是一串不可逆的字符串,采用NTLM协议
哈希传递攻击
前提
- 攻击者权限是管理员
- 攻击机和被攻击机的密码要相同
- 攻击者要知道被攻击机用户名
攻陷了一台主机后,抓不到主机用户明文密码,其他主机存在相同密码,这时需要用到哈希传递攻击
攻击过程
使用mimikatz工具进行对目标哈希密码进行碰撞
mimikatz可以从内存中提取明文密码、哈希、PIN 码和 kerberos 票证。 mimikatz 还可以执行哈希传递、票证传递或构建黄金票证。
-
先要抓取windows密码(具体步骤在上篇文章)

-
输入以下代码进行密码碰撞
sekurlsa::pth /user:administrator /domain:域名 /ntlm:ntlm-hash值 -
弹出新窗口,接下来可以进行指令攻击

574

被折叠的 条评论
为什么被折叠?



