天天看点

NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?

本文讲的是<b>NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?</b>,最近,我们测试一个具有NTLM身份验证的Web应用程序。身份验证与任何浏览器正常工作,但在中间插入Burp Suite(已配置NTLM)时失败。

通过WireShark抓包,我们发现了以下的情况

NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?

在Burp Suite身份验证中,某些NTLM头缺失,其他一些选项也不同,如图所示。

我试图找到一个解决方法,发现了Fiddler,Fiddler与Microsoft身份验证协议集成比较完美。使用Wireshark进行抓包,我们可以看到Fiddler进行的身份验证。

NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?

默认情况下,Fiddler听8888端口并提供一些相当于Burp Suite中Interceptor和Repeater的功能,但是用于渗透测试,它远远不如Burp Suite。所以,我们把Fiddler与Burp Suite连在一起:

NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?

在Burp Suite中,我们必须将Fiddler设置为上游代理(User Options -&gt; Connections -&gt; Upstream Proxy Server),并删除NTLM身份验证(因为我们使用Fiddler)。此外,我们必须从option from Proxy -&gt; Options -&gt; Miscellaneous,因为NTLM使用此选项对每个TCP连接进行身份验证,服务器将在验证所需的第一个NTLM请求(三个)之后关闭连接

NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?

在Fiddler中,我们必须配置NTLM身份验证。在“规则”菜单中标记“自动验证”,然后从同一菜单中选择“自定义规则”。在弹出的配置文件中添加“OnPeekAtResponseHeaders”部分以下文本(具有正确的NTLM凭据):

就这样!通过Burp Suite中的配置,我们只能看到已验证的请求,而在Fiddler中,我们也有用于NTLM身份验证的请求。下图是Fiddler中正确的NTLM身份验证流程(由三个请求组成)的示例

NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?
NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?
NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?

Fiddler也可以与Kerberos身份验证一起使用,Burp Suite实际上不支持。如果你测试应用程序正在使用这种类型的身份验证,您还可以尝试"NCC Group Plc"发布的Burp Suite插件Berserko。

我们向PortSwigger团队报告了NTLM头部的问题,但是我们不知道该问题何时被解决。在此期间,使用Fiddler是个不错的解决办法!

原文发布时间为:2017年5月17日

本文作者:愣娃

本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

<a href="http://www.4hou.com/technology/4797.html" target="_blank">原文链接</a>

继续阅读