医治白癜风的著名专家 http://www.tlmymy.com/m/介绍
NTLM身份验证是运行Windows的企业网络中的一个标准事实。有很多很好理解的本地攻击方法,利用Windows执行自动NTLM身份验证的方式,滥用此功能无疑是每个渗透测试人员和红队的都会操作的事情。
在Blaze的信息安全部门,我们最近花了一些时间研究如何使用远程向量来滥用此功能,特别是从Web应用程序漏洞的角度来看。
我们的目标是讨论如何将服务器端请求伪造(SSRF)和跨站点脚本(CSRF)等问题武装到窃取Net-NTLM哈希上,这对于进一步访问网络可能是非常有用的。
这篇文章假定读者熟悉这里阐述的一些概念,并且我会跳过关于NTLM身份验证的内部工作原理的几个技术细节,如何配置和使用捕获Net-NTLM哈希所需的工具,以及如何利用XSS和SSRF。
所有实验均由Blaze信息安全团队在我们的实验室中完成,该实验室使用Windows10裸机,Windows7虚拟机和UbuntuLinux作为认证服务器。
集成的Windows身份验证
在互联网企业环境中使用Windows的任何人都可能已经注意到,访问网络中的公司资源是毫无争议的,并且在许多情况下,除了初始的Windows域登录之外,不需要明确的身份验证来提示凭据。对于网络映射驱动器,内部网站等多项服务来说,情况也是如此。
Windows的WinHTTP为开发人员提供了处理HTTP/1.1协议的高级API。除其他功能外,WinHTTP还可以通过协商NTLM,Kerberos和其他功能自动处理身份验证以访问受保护的资源。
基于Microsoft的浏览器InternetExplorer和Edge具有可信区域的概念:网络,本地网络,可信站点和受限站点。每个区域都有不同的安全级别和相关的限制。例如,对于网络区域网站,InternetExplorer将禁用XSS筛选器,运行ActiveX插件,执行自动登录,并且总体上具有比网络站点更少的安全控制。
默认情况下,当Web服务器具有受NTLM身份验证保护的资源时,如果网站位于公司网络内或在受信任的站点中列入白名单,InternetExplorer和Edge将自动执行身份验证,并遵守受信任区域的概念。
其他浏览器,如MozillaFirefox和GoogleChrome也支持自动NTLM登录。Chrome依靠与InternetExplorer相同的设置;在Firefox的情况下,这个配置默认是不启用的,必须通过手动更改about:config。
Responder
由LaurentGaffie撰写的Responder[1]是迄今为止,在每个渗透测试人员用于窃取不同形式的证书(包括Net-NTLM哈希)的最受欢迎的工具。
它通过设置几个模拟的恶意守护进程(如SQL服务器,FTP,HTTP和SMB服务器等)来直接提示凭据或模拟质询-响应验证过程并捕获客户端发送的必要哈希。
Responder也有能力攻击LLMNR,NBT-NS和mDNS等协议,但这些将不在本文中讨论。
通过Web应用程序漏洞进行滥用
最近,我们花了一些时间研究如何进一步武器化Web应用程序漏洞,以利用Windows在某些情况下可能响应NTLM哈希时遇到的问题,并进一步访问网络。
我们想描述Web应用程序中发现的两个常见漏洞,以及我们如何利用这些漏洞来窃取散列,拿到帐户,并立足于企业网络。
场景#1:从SSRF到窃取哈希
SSRF漏洞通常用于将HTTP请求发送到其他服务器并扫描内部网络。事实证明,它也可以用来强制一个易受攻击的Web应用程序,使底层Windows服务器泄漏其NTLM散列。
我们把一个易受SSRF攻击的Flask应用程序放在一起,以便更好地说明问题。这个概念非常简单:它有一个参数URL,当任何站点传递给它时,无论是