xposed绕过ssl校验新玩具

一、背景:
在使用burpsuite做代{过}{滤}理抓取应用数据包时,如果要抓取到HTTPS数据,需要将burpsuite证书导入到浏览器或手机。

浏览器或手机设置好burpsuite的代{过}{滤}理地址,即可抓取到https数据包。
<ignore_js_op>
如果APP应用采用证书锁定后,将无法抓取到https数据,因为此时APP应用校验证书不通过,通常APP应用会断开网络连接,防止网络传输数据被抓取。

二、证书锁定
证书锁定(CertificatePinningSSL Pinning),即HTTPS的证书校验。HTTPS库在接收到证书以后,对证书进行校验,确保其跟自己保存的本地证书或硬编码数据相同,才可放行。否则视为被中间人监听,拒绝通信。

三、绕过证书锁定
绕过证书锁定,可使用xposed框架下的两大神器来突破证书锁定。SSLUnpinningInspeckage
使用这两个APP应用中的任意一个就可以绕过证书锁定。
要使用这两个APP应用生效,前提是手机已ROOT并且安装好xposed框架,在选择xposed安装时,要选择好手机架构系统版本和CPU对应关系。
安装方式参与下面链接
https://xposed.appkg.com/2390.html
https://xposed.appkg.com/1152.html


android的版本可以在设置-关于手机查找,CPU是否是64位可查询手机配置参数,也可以使用以下命令查看:arm64-v8a
比如我的荣耀9android7.0,命令查询结果如下:
HWSTF:/ # getpropro.product.cpu.abi                                                              
arm64-v8a
所以选择安装包xposed-v88-sdk24-arm64.zip,具体安装方法可百度搜索:xposed框架安装


成功安装xposed后可以安装以下任意一个APP应用,可实现绕过证书锁定。


1 SSLUnpinning
SSLUnpinning安装成功后,需要在xposed框架中选中,并重启手机后才会生效。
手机重启后,打开SSLUnpinning,选择要抓数据包的APP应用,当应用后出现unpinned时,就可以愉快地进行抓包了。
<ignore_js_op>
如果需要取消,点击右上角的三个小点,选择clear即可。


2Inspeckage
Inspeckage是一个用于提供Android应用程序动态分析的工具。通过对Android API的函数使用hook技术,帮助用户了解应用程序在运行时的行为。
2.1 打开Inspeckage点击choose target选择要分析的应用,这次以com.mobike.mobikeapp为例。
<ignore_js_op>


2.2 电脑使用adb命令 连接手机,并做端口转发:
E:\ProgramFiles\adb>adb devices
List of devicesattachedadb server version(31)
doesn't match this client (36); killing...
* daemon startedsuccessfully *emulator-5554   device  //连接成功

E:\ProgramFiles\adb>adb forward tcp:8008 tcp:8008  //本地8008端口转发到手机8008端口,用于浏览器中直接访问http://127.0.0.1:8008


2.3 浏览器中直接访问http://127.0.0.1:8008,效果如下
<ignore_js_op>

点击下图中设置,开启SSL uncheck就可以绕过APP应用的证书锁定。

<ignore_js_op>
上图中右侧还有个代{过}{滤}理设置。使用方式是手机中不设置代{过}{滤}理,在此处设置了burpsuite的代{过}{滤}理,即可在burpsuite中抓到数据包。这个方式可绕过APP应用的代{过}{滤}理检测。


四、Inspeckage动态分析工具
模块介绍
Logcat                               实时查看该app的logcat输出
Tree View                         可以实时浏览app的数据目录并直接下载文件到本地
Package Information     应用基本信息(组件信息、权限信息、共享库信息)
Shared Preferences       LOG:app XML文件读写记录;Files:具体XML写入内容
Serialization                     反序列化记录
Crypto                                常见加解密记录(KEY、IV值)
Hash                                 常见的哈希算法记录
SQLite                               SQLite数据库操作记录
HTTP                                 HTTP网络请求记录
File System                      文件读写记录
Misc.                                  调用Clipboard,URL.Parse()记录
WebView                          调用webview内容                  
IPC                                     进程之间通信记录
+Hooks                             运行过程中用户自定义Hook记录



大部分APP应用使用https加密通道保护传输数据,同时对重要的数据会再次加密防止被截取泄露,使用Inspeckage分析通常可看到相应的明文、密钥以及加密方式。
一个非常好的安卓APP动态分析工具,使用方法见下载地址有详细介绍。下载地址:
https://repo.xposed.info/module/mobi.acpm.sslunpinning
https://repo.xposed.info/module/mobi.acpm.inspeckage
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章