如何利用http tunnel使用burpsuite拦截某个app的tcp数据包(非http)做安全分析
2020-12-10 21:38:32 Author: www.freebuf.com(查看原文) 阅读量:113 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

需求

之前的burpsuite只能拦截http相关的应用流量,对于tcp方面的流量就不能做到很好的拦截,而且对于非https的tcp流量没法很好的做到http tunnel转发,导致某些需要tcp事先验证的程序无法抓http数据包。现在勉强在NoPE的基础上造了一个轮子。NoPE这个插件主要是通过dns,如果是针对某个特定应用,或者说是硬编码的ip的tcp流量拦截,就显得不是很方便,现在提供一个http tunnel proxy 的方法,配合proxifier比较方便。

用到的工具有:

squid 用于建立http proxy(或者别的如mitmproxy、charles也行,但是要设置证书)
burpsuite+Burp-Non-HTTP-Extension用于拦截tcp或http数据
proxifier,用于建立http tunnel转发tcp
数据流如下:

用Burp-Non-HTTP-Extension设置这样一个监控服务。listen port填写8080,server address 填写127.0.0.1,server port填写3128,也就是把8080端口的流量转发到3128的http代理。

同时在proxifier上建立一个代理规则把某个程序的流量通过http tunnel转发到8080端口,比如这里监听netcat程序

其中有个坑,就是这个proxifier的dns设置需要设置detect dns settings automatically而不是resolve hostnames through proxy,因为有些proxy可能没有这个功能。不然会报ERROR_INVALID_ARGUEMENT错误

之后就可以愉快的监听了,大概效果如下,还可以拦截修改以及重放,不过要小心超时。

如果是手机app的话,可以使用夜神模拟器运行这个app然后用proxifier代理virtual box。
当然如果是对代理敏感的应用也可以在手机上wifi里面这样设置代理
设置 -》 WIFI,长按公司内部WIFI的名字,选“修改网络”,勾选“显示高级选项”,代理设置那里改成“手动”,就可以填写HTTP代理的主机和端口了。

在这里插入图片描述

或者使用安卓的proxydroid或者ios的小火箭让对代理不敏感对app强制走代理也行。电脑上也是同样的道理,对代理敏感的程序设置系统代理,不敏感的用proxifier或者proxychains4,如果app或者程序自带有设置也行。


文章来源: https://www.freebuf.com/articles/web/257207.html
如有侵权请联系:admin#unsafe.sh