通过配置中间人来抓取并篡改客户端流量

admin 2023年12月20日15:02:41评论26 views字数 1634阅读5分26秒阅读模式

    在对APP测试常见的抓包方式应该就是wifi代理或者VPN了,这种都算的上是标准抓包因为这是系统本身就提供的流量代理方式,这也是最容易检测到,只要APP检查系统环境发现使用代理或VPN就停摆不对外发包就会显的很棘手。所以我想到了一个非标准的抓包方式来解决这个问题。



burp抓包的简要图如下

我们挂代理到burp最开始的时候浏览器会提示不安全,是因为浏览器不信任burp的证书,所以我们要安装CA证书也就是证书颁发机构,这样burp签发出来的证书就会被接受就能正常通信

通过配置中间人来抓取并篡改客户端流量

我用的方式相当于DNS劫持,将安卓的DNS服务器指向我,
客户端的所有dns域名解析由我处理,以www.baidu.com为例
1、首先安卓会向我的dns请求解析www.baidu.com我返回我的http反带的ip地址给他
2、安卓与我的http反带服务器建立连接通信这个时候因为是https的会先协商TLS协议和证书,http反带会动态的用burp的CA签发对应域名的证书给他,之后安卓会校验证书的合法性,因为我已经将burp的CA放置在了系统证书目录下所以他会认为是合法的,就会用http反带给的证书进行正常通信
3、之后我的http反带服务器再将请求流量代理给burp
4、在层层返回
安卓只需要在系统证书目录下放置burp的CA证书在将dns指向我就行了,这对于app来说是无感的


通过配置中间人来抓取并篡改客户端流量


需要开启两个服务一个dns一个http的反向代理


项目地址: https://github.com/kaliwin/Needle   (go版本 用的1.21 使用1.8以上都没问题)

这个函数用来启动dns服务  将所有包含com的域名劫持指向192.168.3.104 "." 的话代表所有域名 其他域名会正常解析

package main
import ( "github.com/kaliwin/Needle/network/dns" "log")
func main() {
err := dns.ServeDNS(":53", "com", "192.168.3.104") if err != nil { log.Println(err) }}


正常就这样

通过配置中间人来抓取并篡改客户端流量


这里先说一下有些路由器好像有防止dns劫持的功能你在局域网里的DNS流量网关可能会拦截 ,如果你上面的DNS服务没开,dns服务又指向他,完了你还能正常上网那就是路由器保护了你(用一个LOW点的路由器)

在手机上使用静态ip设置dns 

通过配置中间人来抓取并篡改客户端流量


看到dns服务有输出而且你的手机不能正常上网了就是正常的

通过配置中间人来抓取并篡改客户端流量

之后先导出burp的CA证书和密钥 名称随便取我是burpCA.cer、burpCA-key.cer

这是证书

通过配置中间人来抓取并篡改客户端流量

这是密钥

通过配置中间人来抓取并篡改客户端流量


这个函数用于启动一个http反向代理

参数分别为:服务监听地址、代理地址、CA证书的文件路径、CA密钥的文件路径

package main
import ( "github.com/kaliwin/Needle/httpServer/middleman" "log")
func main() { err := middleman.StartMiddleman(":443", "http://127.0.0.1:8080", "/root/tmp/burpCA.cer", "/root/tmp/burpCA-key.cer") if err != nil { log.Println(err) }}

启动后是这个样子、需要确保CA证书已经在安卓上配好了

通过配置中间人来抓取并篡改客户端流量

之后就是见证奇迹的时候, 不需要开代理不需要开VPN你也可以监听并篡改流量了


通过配置中间人来抓取并篡改客户端流量

缺点:

1、只能抓一个端口,要多抓几个就要多开几个服务,后面计划封装进docker直接监听1-65535或者做一个网关

2、不支持协议识别,如果是http或者别的暂时不能识别,但是技术上可以做到


理论上其他平台也可以这样玩windows、mac、linux 

中间人后面可以有很多玩法,只要配置好,客户端上的所有流量都可以监听和篡改包含ssh、ftp、smb的流量




原文始发于微信公众号(KQsec):通过配置中间人来抓取并篡改客户端流量

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月20日15:02:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通过配置中间人来抓取并篡改客户端流量http://cn-sec.com/archives/2319801.html

发表评论

匿名网友 填写信息