作者:reber 个人博客:http://wyb0.com/posts/responder-and-ntml-hash/ 0x00 一些概念Windows认证协议 分为:基于NTML的认证和基于kerberos的认证 什么是NTLM Hash? 早期IBM设计的LM Hash算法存在弱点,微软在保持向后兼容性的同时提出了自己的挑战响应机制,即NTLM Hash ![]() 什么是Challenge-Response挑战/响应验证机制?
NTLM Hash与Net-NTLM Hash NTLM Hash通常是指Windows系统下Security Account Manager中保存的用户密码hash, 通常可从Windows系统中的SAM文件和域控的NTDS.dit文件中获得所有用户的hash(比如用Mimikatz提取),“挑战/响应验证”中的用户名及密码hash就是NTLM Hash,Net-NTLM Hash通常是指网络环境下NTLM认证中的hash,“挑战/响应验证”中的response中包含Net-NTLM hash,用Responder抓取的就是Net-NTLM Hash 关于Responder 由Laurent Gaffie撰写的 Responder 是迄今为止,在每个渗透测试人员用于窃取不同形式的证书(包括Net-NTLM hash)的最受欢迎的工具。 它通过设置几个模拟的恶意守护进程(如SQL服务器,FTP,HTTP和SMB服务器等)来直接提示凭据或模拟质询 – 响应验证过程并捕获客户端发送的必要 hash。 Responder也有能力攻击LLMNR,NBT-NS和mDNS等协议。 什么是NTLM中继攻击? 攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不用提供明文密码。 0x01 软件环境可以从(https://github.com/lgandx/Responder)下载Responder 域内主机:Win7(10.11.11.20) 域控主机:Win2008(10.11.11.18) 被控主机:Ubuntu14.04(10.11.11.11)和目标机同一网段 0x02 通过SMB服务获取Net-NTLM hash对于SMB协议,客户端在连接服务端时,默认先使用本机的用户名和密码hash尝试登录,所以可以模拟SMB服务器从而截获hash,执行如下命令都可以得到hash 被控主机执行:$ sudo python Responder.py -I eth0 -v ![]() 0x03 通过文件包含获取Net-NTLM hash被控主机执行:$ sudo python Responder.py -I eth0 -v ![]() 0x04 通过XSS获取Net-NTLM hash被控主机执行:$ sudo python Responder.py -I eth0 -v ![]() 0x05 WPAD代理服务器抓取Net-NTLM hashWPAD用于在windows中自动化的设置ie浏览器的代理,从Windows 2000开始该功能被默认开启。 开启Responder的WPAD后,当PC浏览网站时即可抓取到NTLM hash 加-F参数即可开启WPAD抓取 hash,而且当主机重启时也能抓到NTLM hash 被控主机执行:$ sudo python Responder.py -I eth0 -v -F ![]() ![]() 0x06 使用hashcat解密安装hashcat(参考https://www.phillips321.co.uk/2016/07/09/hashcat-on-os-x-getting-it-going) 利用hashcat暴力猜解密码 -m:hash-type,5600对应NetNTLMv2 ![]() 得到密码为123456 ![]() 0x07 通过NTLM中继攻击添加用户这里就用到了NTLM中继攻击,相当于是中间人攻击,攻击者获取高权限的主机的hash,然后将hash转发给低权限主机并执行命令 这里就是抓取域控的hash,然后执行命令得到域内主机的信息 修改Responder.conf,不启动SMB和HTTP,然后启动Responder 利用Responder的MultiRelay模块获取shell Reference(侵删):
|
| 本文出处: https://www.toutiao.com/a6602389796134322695/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|