安基网 首页 IT技术 安全攻防 查看内容

网络安全渗透技术:内网渗透之Responder与Net-NTML hash

2018-9-19 02:53| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: Windows认证协议 分为:基于NTML的认证和基于kerberos的认证 什么是NTLM Hash? 早期IBM设计的LM Hash算法存在弱点,微软在保持向后兼容性的同时提出了自己的挑战响应机制,即NTLM Hash

作者:reber

个人博客:http://wyb0.com/posts/responder-and-ntml-hash/

0x00 一些概念

Windows认证协议

分为:基于NTML的认证和基于kerberos的认证

什么是NTLM Hash?

早期IBM设计的LM Hash算法存在弱点,微软在保持向后兼容性的同时提出了自己的挑战响应机制,即NTLM Hash

什么是Challenge-Response挑战/响应验证机制?

  1. Client输入username、password、domain,然后将用户名及密码hash后存在本地,并将username发送到DC
  2. DC生成一个16字节的随机数,即Challenge(挑战码), 然后传回Client
  3. Client收到Challenge后将密码hash和challenge混合hash,混合后的hash称为response,然后将challenge、 response和username发送给Server
  4. Server将收到的3个值转发给DC, 然后DC根据传过来的username到域控的账号数据库ntds.list找到对应的密码hash,将hash和Client传过来的challenge混合hash,将这个混合hash与Client传过来的response进行对比验证
  5. DC返回验证结果给Server
  6. Server将提示客户端是否验证成功

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 hash

WPAD用于在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://apt404.github.io/2016/08/11/ntlm-kerberos
  • http://www.4hou.com/system/9383.html
  • https://3gstudent.github.io/Windows下的密码hash-NTLM-hash和Net-NTLM-hash介绍
  • https://gist.github.com/anonymous/70f792d50078f0ee795d39d0aa0da46e
  • https://osandamalith.com/2017/03/24/places-of-interest-in-stealing-netntlm-hashes
  • https://medium.com/@canavaroxum/xxe-on-windows-system-then-what-76d571d66745
  • https://www.anquanke.com/post/id/85004
  • https://www.phillips321.co.uk/2016/07/09/hashcat-on-os-x-getting-it-going
Tag标签:

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6602389796134322695/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部