【APP抓包】IOS应用抓包防护绕过实战教程

文章目录

  • 1. 写在前面
  • 2. 测试机越狱
    • 2.1. 爱思助手
    • 2.2. checkra1n
  • 3. 代理抓包
    • 3.1. 安装CA证书
  • 4. 客户端证书绑定绕过
    • 4.1. SSLKillSwitch
    • 4.2. Objection
  • 5. 双向证书绑定绕过
    • 5.1. 绕过服务端
  • 6. 越狱检测绕过
    • 6.1. Liberty Lite绕过检测
    • 6.2. Hestia绕过检测
    • 6.3. HideJB绕过检测
    • 6.4. Frida编写脚本绕过检测
  • 7. 绕过Frida检测

【作者主页】:吴秋霖
【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作!
【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建与开发实战》
还有未来会持续更新的验证码突防、APP逆向、Python领域等一系列文章

1. 写在前面

之前写了一篇关于安卓APP抓包防护的绕过文章:【APP爬虫-抓包篇】巧妙使用工具与技巧绕过安卓APP抓包防护

在这里插入图片描述

APP爬虫所面临的第一个问题就是抓包,如果包都抓不到,那基本就没法进一步入手了。现在市面上的APP,稍微有点安全意识都会防抓包!

当然还有自动化方案,这只是迫不得已的一种选择。现在一些大厂出品的APP都有严格的风控检测

风控等级低的出滑块,高的直接封设备,账号限制,功能限制

风控对抗,对抗的是什么?背后的AI模型。结合上报的各项数据快速对用户生成画像!所以风控的对抗,就是不断的“骗”,花时间测试,花时间分析,再不断对“骗”的策略进行调整的这么一个过程

2. 测试机越狱

2.1. 爱思助手

1、利用爱思助手的一件越狱功能:

在这里插入图片描述

2、等待电脑端跑完:

在这里插入图片描述

3、然后手机上多了unc0ver,打开它然后点击Re-Jailbreak,一键越狱,期间会弹出信息提示,直接点击OK就可以了:

在这里插入图片描述

4、到出现界面(进度为 20/30)时,选择“OK”,此时设备会自动重启,重启后再点 jailbreak,直到出现越狱完成,再次点击 OK 即可:

在这里插入图片描述

最后设备重新启动后返回桌面,如Cydia可打开正常运行,则表示越狱成功:

在这里插入图片描述

2.2. checkra1n

1、首先我们打开checkra1n:

在这里插入图片描述

2、使用数据线,连接手机,并点击Start:

在这里插入图片描述

3、根据提示操作,然后点击Start:

在这里插入图片描述

4、最后设备重新启动后返回桌面,如Cydia可打开正常运行,则表示越狱成功:

在这里插入图片描述

3. 代理抓包

3.1. 安装CA证书

1、从网站下载证书的方式,将CA证书放到设备上。在这里,需要配置移动设备和Web代理,以便能够拦截网络流量。具体来说,如果使用Burp Suite,我们只需访问burp随后点击“CA Certificate”即可!接下来,系统将提示“安装”证书,如下图所示:

在这里插入图片描述

2、点击“安装”,会弹出提示将要把证书添加到受信任证书列表中的警告:

在这里插入图片描述

最后进入到“设置”-“常规”-“配置文件”来验证证书是否已经被成功安装!

4. 客户端证书绑定绕过

4.1. SSLKillSwitch

1、使用cydia下载SSLKillSwitch:

在这里插入图片描述

2、在设置使用改插件:

在这里插入图片描述

3、在工具的主页上,已经详细写出了安装说明。但是,要使用这种方法,首先需要先对iOS设备进行越狱

在这里插入图片描述

4.2. Objection

1、使用frida查看应用包名:

在这里插入图片描述

2、启动objection,并使用命令进行注入应用:

在这里插入图片描述

5. 双向证书绑定绕过

5.1. 绕过服务端

1、通过常规抓包的方式,发现只要开启代理,该app提示未能读取数据,因为它的格式不正确。并且在Charles中发现400 No required SSL certificate was sent:

在这里插入图片描述

2、上边提示和安卓端提示相同,也就更能确定它使用的是双向证书。双向证书主要是在通讯过程中,服务端校验了客户端证书是否正确,同样客户端也校验了服务端证书是否正确

该app主要是在客户端封装了证书,相比于单向证书,多了在服务端校验客户端证书的过程,在Charles抓包过程中,使用的是Charles本身的证书,导致服务端校验失败,才会出现400 No required SSL certificate was sent这样的提示,那也就是我们只需要拿到封装在客户端的证书以及证书密码,即可完成与服务端的通讯

突破分析,确定该app为双向证书,那该app的静态资源里面一定有该app的证书文件,通过解压该app的ipa包,在Payload/***_New原身里面发现该app的证书文件

在这里插入图片描述

3、将该p12证书文件安装到Mac系统下,发现其需要密码

4、将该app的二进制文件使用ida pro打开,并在string窗口搜索该证书名后进入该类里面,最后进行f5看其伪代码:

在这里插入图片描述

通过ida分析,可以清楚的看到该app的证书密码

在这里插入图片描述

5、按图中进行导入,最后输入密码即可。最后抓包即可,并且不再提示证书异常

在这里插入图片描述

6. 越狱检测绕过

6.1. Liberty Lite绕过检测

1、首先在Cydia中添加源https://ryleyangus.com/repo/2.然后进入添加的源中选择Liberty Lite(Beta)下载安装,安装完之后需要重启SpringBoard

2、打开iphone设备,在设置内找到Liberty-lite,然后启动,选择Block Jailbreak Detection,通过User Applications选择需要绕过越狱检测的iOS应用

在这里插入图片描述

6.2. Hestia绕过检测

1、首先在Cydia中添加源https://apt.wxhbts.com.然后进入添加的源中选择Hestia下载安装,安装完之后需要重启SpringBoard

在这里插入图片描述

2、在设置选择生效的应用:

在这里插入图片描述

6.3. HideJB绕过检测

1、首先在Cydia搜索HideJB下载安装,安装完之后需要重启SpringBoard:

在这里插入图片描述

2、在设置选择生效的应用:

在这里插入图片描述

6.4. Frida编写脚本绕过检测

1、运行应用发现存在越狱检测:

在这里插入图片描述

2、使用IDA分析应用,找到越狱检测点:

在这里插入图片描述

3、编写脚本进行绕过:

var method = 0bjC.classes.BCEInformation["+ isRoot"];
var origImp = method.implementation;
methad.implementation =0bjC.implement(method,function (self,selector) {
	var number = 0;
	return number;
});

4、是用frida进行hook,成功绕过:

在这里插入图片描述

使用frida查看应用包名:

在这里插入图片描述

启动objection,并且使用命令进行注入应用:

在这里插入图片描述

7. 绕过Frida检测

1、针对部分加固厂家对Frida的检测,可以使用以下办法绕过。
比如梆梆的加固对frida的端口27042进行检测,如果存在就退出

2、这个时候就可以通过修改frida的监听端口来绕过检测

3、首先ssh连上iPhone设备后kill Frida-server的进程

4、然后运行修改监听端口命令:

/usr/sbin/frida-server -l 0.0.0.0:6666

5、端口转发,首先安装brew install usbmuxd:

iproxy 6666 6666

6、最后电脑进行Frida注入:

frida -H 127.0.0.1:6666 package_name -l xxxx.js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/307226.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能化配网故障定位技术:未来发展趋势与应用前景

在当今这个科技高速发展的时代,智能化技术已经渗透到了我们生活的方方面面。作为电力行业的重要组成部分,配电网的自动化和智能化水平也在不断提高。本文将重点介绍一种基于成熟的行波测距技术的智能化配网故障定位技术——配网行波型故障预警与定位系统…

Vue3-watch的用法

watch简介 作用:监视数据的变化 (和 Vue2 中的 watch 作用一致) 特点: Vue3 中的 watch 只能监视以下四种数据 1.ref 定义的数据(又可以分 基本 和 对象 ) 2.reactive 定义的数据 3.函数返回一个值。(getter 函数) 4.一个包含上述内容的数组 我们在 Vue3 中使用 watch …

Zookeeper系列(一)集群搭建(非容器)

系列文章 Zookeeper系列(一)集群搭建(非容器) 目录 前言 下载 搭建 Data目录 Conf目录 集群复制和修改 启动 配置示例 测试 总结 前言 Zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的且容易出错的分…

CHS_01.1.5+操作系统引导

CHS_01.1.5操作系统引导 操作系统的引导一个新的磁盘安装操作系统后操作系统引导(开机过程) 操作系统的引导 我们会学习操作系统的引导 那你可能看见这个词的时候会觉得莫名其妙不明 绝地 什么是操作系统的引导呢 简单来说就是当你在开机的时候 如何让…

apt和apt-get的区别

文章目录 环境问题背景区别进度条显示可更新包的数量upgrade 对比apt-get 过时了吗使用apt还是apt-get总结参考 环境 RHEL 9.3Docker Community 24.0.7Ubuntu Docker image jammy 22.04lunar 23.04 Ubuntu 22.04 问题 apt 和 apt-get 有一些相似之处。比如,如果想…

在VS Code中安装Copilot与安装其他扩展的方法一样,只需简单几步

GitHub Copilot是由OpenAI和GitHub开发的人工智能工具。它的目的是通过自动完成代码来帮助开发人员使用集成开发环境(IDE),如Visual Studio Code。它目前仅作为技术预览版提供,因此只有在候补名单上被认可的用户才能访问它。对于用…

Spark避坑系列一(基础知识)

大家想了解更多大数据相关内容请移驾我的课堂: 大数据相关课程 剖析及实践企业级大数据 数据架构规划设计 大厂架构师知识梳理:剖析及实践数据建模 剖析及实践数据资产运营平台 Spark作为大数据领域离线计算的王者,在分布式数据处理计算领域有着极高的处理效率,而Python作为…

智能商品管理系统相比传统商品管理在自动化程度上有哪些优势?

智能商品管理系统相比传统商品管理模式,在自动化程度上具有以下具体优势: 1、数据自动采集:智能商品管理系统通过传感器、物联网等技术,可以自动采集商品的销售数据、库存情况、市场趋势等信息,无需人工干预。这样可以…

Qrcode生成中间带log的二维码图片

Qrcode生成中间带log的二维码图片 1.引入依赖 <dependency><groupId>com.swetake.util</groupId><artifactId>QRCode</artifactId><version>3.0</version></dependency>2.测试 public class QRCodeUtil {public static int …

LeetCode 94. 二叉树的中序遍历

94. 二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; 输入&…

cctalk录屏去水印翻录过检测教程

最近在上cctalk的网课时候&#xff0c;遇到了这种情况&#xff0c;无法打开录屏工具&#xff0c;打开了录屏软件会被播放器检测&#xff0c;无法正常播放网课视频&#xff0c;可以用这个工具&#xff0c;就可以随便录了&#xff0c;而且可以去用户名水印。 使用方法也很简单&a…

springboot+java+bootstrap商场摊位商铺租赁管理系统

商铺租赁管理系统分为管理员&#xff0c;房东&#xff0c;用户三种角色。 &#xff08;1&#xff09;管理员功能&#xff1a;管理员管理房东&#xff0c;管理公告&#xff0c;管理商铺出租&#xff0c;租赁合同等信息。 &#xff08;2&#xff09;房东功能&#xff1a;房东审核…

参数小,性能强!开源多模态模型—TinyGPT-V

安徽工程大学、南洋理工大学和理海大学的研究人员开源了多模态大模型——TinyGPT-V。 TinyGPT-V以微软开源的Phi-2作为基础大语言模型&#xff0c;同时使用了视觉模型EVA实现多模态能力。尽管TinyGPT-V只有28亿参数&#xff0c;但其性能可以媲美上百亿参数的模型。 此外&…

0基础学习VR全景平台篇第136篇:720VR全景,认识无人机

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 无人驾驶飞行器&#xff0c;简称“无人机”&#xff0c;英文缩写为“UAV”。是利用无线电控制设备和自备程序控制操纵的不载人飞机。 &#xff08;一&#xff09;无人机介绍 较…

vue element plus 安装

环境支持# Element Plus 可以在支持 ES2018 和 ResizeObserver 的浏览器上运行。 如果您确实需要支持旧版本的浏览器&#xff0c;请自行添加 Babel 和相应的 Polyfill 。 由于 Vue 3 不再支持 IE11&#xff0c;Element Plus 也不再支持 IE 浏览器。 Edge ≥ 79Firefox ≥ 78C…

信号-进程间通信

信号 1. 信号概述 在 Linux 操作系统中&#xff0c;信号是一种进程间通信的机制&#xff0c;用于通知进程发生了某个事件。信号可以由内核、其他进程&#xff0c;或者进程自身发送。每个信号都对应一个特定的事件或异常&#xff0c;例如进程终止、CtrlC 中断等。 本质上是一…

使用AUTOSAR来开发汽车基础软件的优点

1、高质量。以前我们采用手写代码的方式&#xff0c;是几个工程师在战斗。现在我们采用平台&#xff0c;BSW代码都是供应商提供的&#xff0c;我们相当于后面还有一个团队陪着我们在战斗。 2、低成本。大家都说采用AUTOSAR平台好贵&#xff0c;但是从长远来看是值得的&#xff…

利用虾皮Shopee API (shopee.item_get)提升电商平台用户转化率与客单价

在当今的电商环境中&#xff0c;用户转化率和客单价是衡量电商平台成功与否的关键指标。虾皮Shopee作为一个领先的电商平台&#xff0c;提供了丰富的API服务&#xff0c;其中shopee.item_get接口允许商家根据商品ID获取详细的商品信息。通过合理利用这一API&#xff0c;商家可以…

glusterFS

一. 概念 1. 介绍 gluster是一个横向扩展的分布式文件系统&#xff0c;可将来自多个服务器的磁盘存储资源整合到一个全局名称空间中&#xff0c;可以根据存储消耗需求快速调配额外的存储。它将自动故障转移作为主要功能. 分布式存储系统.集群式NAS存储.无集中式元数据服务,采…

笔记本摄像头模拟监控推送RTSP流

使用笔记本摄像头模拟监控推送RTSP流 一、基础安装软件准备 本文使用软件下载链接:下载地址 FFmpeg软件: Download ffmpeg 选择Windows builds by BtbN 一个完整的跨平台解决方案&#xff0c;用于录制、转换和流式传输音频和视频。 EasyDarwin软件&#xff1a;Download Easy…