如何拦截胖客户端应用程序流量(tcp 或 http[s])

信息安全 渗透测试 中间人 代理人
2021-09-08 10:11:06

最近我在学习胖客户端应用程序渗透测试,发现很难找到一个拦截胖客户端应用程序流量的工具。

有没有人遇到过用于渗透测试的胖客户端应用程序,或者知道是否有任何软件可以用作拦截器代理,例如用于胖客户端应用程序的 Burp Suite?我正在寻找一种工具,它不仅能够拦截 http 流量,还能够拦截 tcp 流量。

我在谷歌上做了一些搜索,发现了Mallory到目前为止,这是我能找到的最好的工具。我已经对其进行了测试,并且可以按预期工作,但是它不稳定并且已经有一段时间没有更新了。

我面临的另一个问题是,如果应用程序使用 Windows 域身份验证(NTLM 身份验证),那么 TCP 流量将被加密。有没有办法在将数据发送到服务器之前查看纯文本流量并修改数据(就像 Burp 对 HTTPS 流量所做的那样)?

4个回答

这个工具https://github.com/jrmdev/mitm_relay似乎可以做到这一点。它使用了一个技巧:它将每个请求嵌入到 HTTP POST 请求中,因此您可以通过 burp 中继它,并使用 burp 的每个功能与任意协议(二进制可能很难)。Burp 然后将请求传递回代理,该代理剥离 http 部分并将内容转发到服务器/客户端。

正如 Ian 所建议的,Burp Suite Invisible Proxy 模式最适合捕获来自 Proxy 不知道的厚客户端应用程序的请求。

考虑一个胖客户端应用程序向 www.example.com 发出请求。为了通过 burp 捕获请求,可以执行以下操作:

  1. 解析域环回本地IP地址(127.0.0.1)。这可以通过在位于 **c:\windows\system32\drivers\etc** (对于 windows)中的 HOST 文件中进行以下更改来完成。

127.0.0.1 www.example.com

2.Next burp 必须监听环回本地 IP 地址。配置 burp 以监听 127.0.0.1 和应用程序使用的端口。

  1. 最后必须将请求重定向到实际主机。

但是上面的方法有一个限制,如果请求直接发送到一个ip而不是一个域名,burp就无法处理。这可以通过Burp Suite 和 Microsoft Loopback Adapter Method来克服。下面的链接可以让您清楚地了解它。

https://paladion.net/thick-client-testing-toolkit-part-3-tools-testing-techniques-interception-testing/

如果您正在寻找一种可以拦截 HTTP 和一般 TCP 流量的工具,该工具也在积极开发中,我建议您查看bettercap

诸如 HTTP 拦截之类的东西是内置的,并且有一个用于添加模块来处理其他协议的框架。

如果你打算为你的渗透测试写一份官方外观的报告,那么我建议来自 Context IS 的Canape 。

它不仅是我遇到过的最好的基于 GUI 的可插拔代理,而且是唯一一个拥有精心设计的界面的代理。

BenjaminH 的回答使用了 Burp,这很好。我还遇到了这个 Burp 附加组件——https: //github.com/summitt/Burp-Non-HTTP-Extension——我认为它更实用。但是,如果您想要一些漂亮的报告,那么 Canape 可能仍然是要走的路。