APP对抗-反证书校验

反证书检验:SSL证书绑定(单向校验和双向校验)

单项校验:客户端校验服务端的证书。

双向校验:客户端不仅要校验服务端的证书,同时APP内也存在证书供服务端检验。

一、反单向校验

0.0 Xposed简介

Xposed是一款可以在不修改APK的情况下影响程序运行的框架,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。在这个框架下,我们可以编写并加载自己编写的插件APP,实现对目标apk的注入拦截等。

原理:控制zygote进程,通过替换/system/bin/app_precess程序控制zygote进程,使得它在系统启动的时候会加载Xposed framework的一个jar文件即XposedBridge.jar,从而完成对zygote进程及其创建的Dalvik/ART虚拟机的劫持,并且能够允许开发者独立的替代任何class。

1.1 准备工作

模拟器准备:逍遥模拟器,安卓7系统(64位)

准备APK工具:JustMePlush.apk、JustTrustMe.apk、XposedInstaller.apk、终端模拟器.apk

现将工具安装完成:

APP对抗-反证书校验_第1张图片

现在打开XposedInstaller,显示Xposed框架尚未安装

APP对抗-反证书校验_第2张图片

打开模拟器分享文件夹,将xposed文件夹复制进行

APP对抗-反证书校验_第3张图片

在模拟器里的找到该文件夹,并将他复制到system文件夹下

APP对抗-反证书校验_第4张图片

APP对抗-反证书校验_第5张图片

接下来使用终端模拟器.apk执行系统命令su提升至root权限

接下来进入system文件夹中的xposed文件夹,并运行其中的memu-script.sh脚本文件

APP对抗-反证书校验_第6张图片

重启模拟器后,再次进入Xposed Installer,已经显示安装成功了

APP对抗-反证书校验_第7张图片

1.2 开始反单向证书校验

打开Xposed Installer的模块功能

APP对抗-反证书校验_第8张图片

将以下两个模块勾选上,然后重启模拟器

APP对抗-反证书校验_第9张图片

在vuls.apk软件中执行SSL Pinning,成功访问,此时反单向证书校验已经完成。

APP对抗-反证书校验_第10张图片

二、反双向校验

0.0 Firda简介

Firda 是一款易用的跨平Hook工具, Java层到Native层的Hook无所不能,是一种动态的插桩工具,可以插入代码到原生App的内存空间中,动态的去监视和修改行为,原生平台包括Win、Mac、Linux、Android、iOS全平台。

1.1 准备工作

系统准备:夜神模拟器 + 安卓7(x86)

工具准备:Frida、frida-server、FridaScripts(SSLUnpinning.js)、frida-server、BurpSuite

1.2 开始反双向证书校验

本次使用的方案为:Firda + HOOK-JS + BurpSuite

这里的HOOK-JS指的是FridaScripts中的SSLUnpinning.js脚本

1.2.1 本地安装Frida

pip install frida
pip install frida-tools

APP对抗-反证书校验_第11张图片

安装成功会显示Frida的版本,我这里是frida-16.1.4

1.2.2 模拟器安装Frida-server

下载地址:GitHub - frida/frida: Clone this repo to build Frida

首先需要确定模拟器系统是x86还是x64的,使用以下命令可以查看系统位数。

getprop ro.product.cpu.abi

APP对抗-反证书校验_第12张图片

在Release中选择与本地frida版本相同的frida-server,我这里是x86的所以选择下面红色方框的。前面两个是用于真机的,后面两个才是用于模拟器的。

APP对抗-反证书校验_第13张图片

下载下来之后,利用 adb 将 frida-server 传上模拟器

APP对抗-反证书校验_第14张图片

添加执行权限,并执行frida-server-x86

APP对抗-反证书校验_第15张图片

新开一个命令行窗口,执行frida-ps -U,如果有显示进程则frida-server运行成功

APP对抗-反证书校验_第16张图片

1.2.3 转发并启动Frida

adb forward tcp:27042 tcp:27042

在输入以上命令后,通过frida-ps -R查看是否发现进程,如果有进程则转发成功。

APP对抗-反证书校验_第17张图片

1.2.4 正式实施

先在模拟器上运行frida-server

APP对抗-反证书校验_第18张图片

开启代理抓包

APP对抗-反证书校验_第19张图片

获取目标APP的包名

APP对抗-反证书校验_第20张图片

输入命令开始绕过证书双向校验

frida -U -f com.p1.mobxxx.xxxxxxx -l SSLUnpinning.js

APP对抗-反证书校验_第21张图片

已经成功抓取APP的数据包,并且不会影响任何的数据交互。

APP对抗-反证书校验_第22张图片

你可能感兴趣的:(网络,安全)