SuperAPI AI 工具集

bypassing-mobile-pinning

通用与其它

查看项目

更新于 10-16 02:29

技能介绍

用途:诊断并绕过移动应用中的 TLS 拦截失败问题,先定位原因再选绕过方式,仅用于已获授权的应用测试。

主要能力:提供症状排查表区分六类原因(CA 不受信任、真实 pinning、应用忽略系统代理、双向 TLS、Root/模拟器检测、仅特定主机 pinning);识别应用声明的 Network Security Config 与所用 TLS 栈;给出 Android 各栈(OkHttp、HttpURLConnection、Conscrypt、Apache HttpClient、WebView、原生 BoringSSL、Xamarin、Unity、gRPC)及 iOS(NSURLSession、TrustKit、AFNetworking、Alamofire)的 Hook 点;说明失败后的排查顺序与验证是否真正成功。

使用方式:先用 apktool 反编译查看声明,例如 apktool d target.apk -o out、cat out/res/xml/network_security_config.xml、rg -n 'networkSecurityConfig|usesCleartextTraffic' out/AndroidManifest.xml;检查 TLS 栈可用 rg -l 'okhttp3|CertificatePinner|TrustKit|AFNetworking|Alamofire' out/。绕过优先将 CA 装为系统证书(模拟器可用 emulator -avd <name> -writable-system、adb root && adb remount,并按 subject_hash_old 重命名推送至 /system/etc/security/cacerts/),无法获取系统 CA 时再改 Network Security Config 并 apktool b 重打包、apksigner 签名。运行时可用 objection -g com.target.app explore 后执行 android sslpinning disable 或 ios sslpinning disable,也可用 frida -U -f com.target.app -l android-ssl-bypass.js --no-pause。

适用场景:代理出现 TLS 握手失败、应用报网络错误、已知目标使用 pinning 需针对性 Hook。

限制:Flutter 应改用 reversing-flutter-apps,整体评估用 testing-mobile-applications,流量可见后测试后端用 testing-apis,深入原生 .so 用 analyzing-binaries。原生 pinning 通用脚本常失效;非越狱设备重打包 IPA 会触发完整性校验;双向 TLS、证书透明度校验、Root/Frida 检测、非 HTTP 协议需另作处理。绕过成功以能读取并修改请求且服务端响应变化为准,pinning 绕过本身不是漏洞发现。