BurpSuite抓取非HTTP协议流量

在进行APP渗透的时候,设置代理到BurpSuite的时候,发现没拦截到包,但是已经获取到数据。猜测是请求包走的是非HTTP协议,发现BurpSuite有一个插件可以抓取TCP的流量:NoPE Proxy。

NoPE安装

[NoPE][1]安装很简单,直接下载对应的jar文件,然后在BurpSuite的【Extender】选项卡中添加即可。Ps:记得要配置Java Environment环境。

NoPE使用

安装完成之后,需要对NoPE进行配置:DNS配置、HTTP代理设置等。

Server设置

在NoPE工具的【Server Config】选项卡进行配置,猜测设置DNS是为了获取请求包的domain。

  1. 设置【DNS Response IP】和【DNS Listener Port】,将这个ip设置为代理服务器的ip地址,port设置为DNS常用端口:53;
  2. 设置【Interface】,这个是设置网卡,可通过ifconfig查看 ;
  3. 点击【Add 80 & 443 to Burp】,将80、443端口添加到Burp。

    设置完之后回到【Proxy】选项卡的【Options】看一下,并且将Invisible设置为勾选(如果没勾选)。Ps:这时候可以使用手机进行操作,看看BurpSuite能不能拦截到HTTP的包。

HTTP Proxy设置

设置完Server之后,在【NoPE Proxy】选项卡的【Server Config】中启动DNS服务,直接点击那个大大的绿色箭头就可以了,显示红色为已经运行。

查看【DNS History】选项卡中的DNS记录,获取Domain、Port等信息。

  1. 开启Port Monitor;
  2. 在手机上进行操作,**手机DNS配置成PC的地址**;
  3. 获取Domain和与其对应的Port。
    在获取对应Port有可能会有点烦,我在获取Port的时候每次会有一堆的信息冒出来,导致并不知道那个Port跟domain是对应上的,所以点了好多次。

    获取到Domain与Port之后,回到【Server Config】选项卡中,将信息填入到【Non HTTP Proxy Settings】中,例如我现在有了一个domain为xxxx.com,端口为8020,将其填入对应的地方进行添加,添加之后勾选Enable即可。

拦截TCP流量

通过上面的配置,现在已经可以通过NoPE拦截非HTTP协议的流量。在【TCP intercept】选项卡开启【Intercept is ON】,在手机上进行操作,就可以在下面看到对应的请求包。

由于我这边已经把包放过了,给大家看下历史记录的包。

总结

通过这种方式已经可以拦截到TCP的流量,但是通过NoPE感觉操作很繁琐。不知道有没有比的简单、优雅的方式?

[1]: https://github.com/summitt/Burp-Non-HTTP-Extension/releases “NoPE下载地址”