NTLM认证失效时,如何使用Fiddler配合Burp Suite进行渗透测试?-阿里云开发者社区

开发者社区> 安全> 正文

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

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

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

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

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

我试图找到一个解决方法,发现了FiddlerFiddler与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 -> Connections -> Upstream Proxy Server),并删除NTLM身份验证(因为我们使用Fiddler)。此外,我们必须从option from Proxy -> Options -> Miscellaneous,因为NTLM使用此选项对每个TCP连接进行身份验证,服务器将在验证所需的第一个NTLM请求(三个)之后关闭连接

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

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

 if ((oSession.responseCode == 401) &&  oSession.host.EndsWith(".web.site.url.address")) {
 oSession["X-AutoAuth"] = "domainusername:password";
 oSession["ui-backcolor"] = "pink";
}

就这样!通过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日
本文作者:愣娃
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
原文链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章