【Frida】【Android】 工具篇:ProxyPin抓包详解

2024-06-04 5138阅读

🛫 系列文章导航

  • 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950
  • 【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446
  • 【Frida】【Android】03_RPC https://blog.csdn.net/kinghzking/article/details/137050967
  • 【Frida】【Android】04_Objection安装和使用 https://blog.csdn.net/kinghzking/article/details/137071768
  • 【Frida】【Android】05_Objection实战 https://blog.csdn.net/kinghzking/article/details/137071826
  • 【Frida】【Android】 06_夜神模拟器中间人抓包 https://blog.csdn.net/kinghzking/article/details/137162859
  • 【Frida】【Android】 07_爬虫之网络通信库HttpURLConnection https://blog.csdn.net/kinghzking/article/details/137211973
  • 【Frida】【Android】 08_爬虫之网络通信库okhttp3 https://blog.csdn.net/kinghzking/article/details/137227041
  • 【Frida】【Android】 09_爬虫之Socket https://blog.csdn.net/kinghzking/article/details/137284648
    • 【Frida】【Android】 工具篇:ZenTracer https://blog.csdn.net/kinghzking/article/details/137284648

      ▒ 目录 ▒

        • 🛫 系列文章导航
        • 🛫 导读
          • 开发环境
          • 1️⃣ ProxyPin介绍
            • 主要特性
            • 工作原理
            • “用户证书”vs“系统证书”
            • 2️⃣ 安裝和使用
              • 安裝
              • 安裝证书
              • 启动HTTPS代理
              • 启动抓包
              • 验证
              • 3️⃣ 竞品介绍
                • reqable
                • HttpCanary(小黄鸟)【不推荐】
                • 🛬 文章小结
                • 📖 参考资料

                  🛫 导读

                  开发环境

                  版本号描述
                  文章日期2024-03-24
                  操作系统Win11 - 22H222621.2715
                  node -vv20.10.0
                  npm -v10.2.3
                  夜神模拟器7.0.5.8
                  Android9
                  python3.9.9
                  frida16.2.1
                  frida-tools12.3.0
                  objection1.11.0
                  ProxyPin1.0.9

                  1️⃣ ProxyPin介绍

                  ProxyPin是一种基于MITM(中间人攻击)的抓包工具,主要用于移动应用程序的安全测试和调试。下面是关于ProxyPin的详解。

                  主要特性

                  • HTTP/HTTPS抓包:ProxyPin可以拦截并解析HTTP和HTTPS协议下的数据包,包括请求和响应内容。
                  • 数据篡改:用户可以在抓包过程中修改请求和响应数据,从而进行相关的安全测试。
                  • WebSocket支持:除了HTTP/HTTPS,ProxyPin还支持WebSocket协议的抓包和分析。
                  • 脚本扩展:用户可以编写脚本来扩展ProxyPin的功能,实现自定义的数据处理和分析。

                    工作原理

                    • 中间人攻击(MITM):ProxyPin通过将自己伪装成目标服务器与客户端通信,从而使得所有的数据流经ProxyPin,实现抓包和修改数据的目的。
                    • SSL/TLS解密:ProxyPin可以解密通过SSL/TLS加密的数据流量,这使得用户可以查看和分析应用程序中的加密通信内容。

                      ps: 具体原理可以参考系列文章之《【Frida】【Android】 06_夜神模拟器中间人抓包 https://blog.csdn.net/kinghzking/article/details/137162859》

                      “用户证书”vs“系统证书”

                      Android证书分为“用户证书”和“系统证书”两种,在设置->安全->"查看安全证书"列表中,可以看到“系统”和“用户”两个Tab。用户通过浏览器下载安装或者通过WLAN高级设置安装的证书均为用户证书。

                      安装为系统证书有什么好处呢?

                      • 安装用户证书必须要设置开机密码,而且设置后就不能取消,除非先删掉所有的用户证书。如果安装为系统证书就不需要设置开机密码,自动化操作时更方便。

                      • Android 7以上版本APP默认不信任用户证书,只信任系统证书,安装为用户证书,对APP的HTTPS抓包会失败。安装为全局证书才能被所有APP信任,方可进行HTTPS抓包。

                        2️⃣ 安裝和使用

                        安裝

                        • 下载

                          从github官网(https://github.com/wanghongenpin/network_proxy_flutter/releases)下载,目前最新是1.0.9,我们使用的是模拟器,所以需要下载ProxyPin-Android.apk

                          【Frida】【Android】 工具篇:ProxyPin抓包详解 第1张

                          • 安装

                            直接拖入模拟器就可以了,打开后如下所示:

                            【Frida】【Android】 工具篇:ProxyPin抓包详解 第2张

                            安裝证书

                            • 打开HTTPS代理页面

                              如下图,点击右上角三个点,然后点击HTTPS代理

                              【Frida】【Android】 工具篇:ProxyPin抓包详解 第3张

                              最后将显示如下界面,包含“用户证书”和“系统证书”

                              【Frida】【Android】 工具篇:ProxyPin抓包详解 第4张

                              • 下载系统证书

                                点击上图中的下载系统根证书按钮,在下载页面,将其保存下来即可。

                                【Frida】【Android】 工具篇:ProxyPin抓包详解 第5张

                                • 安装系统根证书
                                  1. 打开Amaze

                                    【Frida】【Android】 工具篇:ProxyPin抓包详解 第6张

                                  2. 授权超级用户权限

                                    【Frida】【Android】 工具篇:ProxyPin抓包详解 第7张

                                  3. 复制系统根证书

                                    切换到Download目录,选择系统根证书文件,点击复制菜单

                                    【Frida】【Android】 工具篇:ProxyPin抓包详解 第8张

                                  4. 拷贝系统根证书

                                    切换到/system/etc/security/cacerts目录(点击左侧根目录,然后依次选择etc、security、cacerts目录),最后点击如下图的粘贴按钮即可。

                                    【Frida】【Android】 工具篇:ProxyPin抓包详解 第9张

                                  5. 授权证书文件

                                    adb shell连接安卓,然后执行下面命令:

                                  mount -o remount,rw /system
                                  chmod 777 /etc/security/cacerts/*
                                  mount -o remount,ro /system
                                  
                                  1. 验证系统证书

                                    在设置中,搜索信任的凭据,在系统tab中,可以找到ProxyPin证书,表示安装成功。

                                    【Frida】【Android】 工具篇:ProxyPin抓包详解 第10张

                                  启动HTTPS代理

                                  回到ProxyPin软件,打开HTTPS代理页面,如下所示开启HTTPS代理

                                  【Frida】【Android】 工具篇:ProxyPin抓包详解 第11张

                                  启动抓包

                                  回到ProxyPin软件主页面,点击右下角“播放”按钮

                                  【Frida】【Android】 工具篇:ProxyPin抓包详解 第12张

                                  在弹出窗口中点击确定

                                  【Frida】【Android】 工具篇:ProxyPin抓包详解 第13张

                                  验证

                                  此时,我们以浏览器,百度页面为例,可以看到已经可以抓到封包了。

                                  【Frida】【Android】 工具篇:ProxyPin抓包详解 第14张

                                  3️⃣ 竞品介绍

                                  Android抓包有很多竞品软件,这里介绍一下大名鼎鼎的“小黄鸟”及其新品reqable。

                                  reqable

                                  reqable是小黄鸟的进阶版,依然不开源,不过有了官网 https://reqable.com/,更靠谱一些了。

                                  支持各个平台,个人感觉该软件比ProxyPin更好用。

                                  下面是部分软件截图:

                                  【Frida】【Android】 工具篇:ProxyPin抓包详解 第15张

                                  【Frida】【Android】 工具篇:ProxyPin抓包详解 第16张

                                  【Frida】【Android】 工具篇:ProxyPin抓包详解 第17张

                                  HttpCanary(小黄鸟)【不推荐】

                                  抓包的都知道小黄鸟,但是小黄鸟的解锁版版本很多,由于其不开源,网上很多版本是魔改的,有兼容性问题。不过小编多次测试,其依然可用的。

                                  有兴趣的可以直接参考文章:《[Android 分享] 小黄鸟HttpCanary抓包 5个版本 都是解锁版 + 证书安装教程。https://www.52pojie.cn/thread-1592529-1-1.html》,这里不做过多介绍了。

                                  🛬 文章小结

                                  ProxyPin还有很多功能,这里不一一演示了,以后有机会在实战中进行讲解。

                                  • ProxyPin可以过滤域名和APP,方便抓包使用
                                  • ProxyPin可以将结果打包成har文件,在chrome中导入,方便分析结果
                                  • ProxyPin可以重写请求,直接在Android上进行封包修改
                                  • ProxyPin可以使用脚本,灵活控制封包。

                                    ps: 不要同时开启多个抓包软件,避免冲突

                                    📖 参考资料

                                    • ProxyPin官网:https://github.com/wanghongenpin/network_proxy_flutter
                                    • reqable(小黃鸟新名字)官网 https://reqable.com/
                                    • 添加Fiddler/Mitmproxy证书为安卓系统证书 https://blog.csdn.net/epson615/article/details/120586471
                                    • objection地址:https://github.com/sensepost/objection

                                      ps: 文章中内容仅用于技术交流,请勿用于违规违法行为。


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]