Android
Android 7之後,使用者安裝的證書在APP的預設配置下是不被信任的,隻能通過重打包APP,或root手機之後導入證書,或frida腳本hook繞過
導入證書到system分區,可參考magisk的mount大法
adb shell 'umount /system/etc/security/cacerts'
adb shell 'cp -pR /system/etc/security/cacerts /data/local/tmp/'
adb shell 'cp /data/local/tmp/ +yourcertname /data/local/tmp/cacerts/'
adb shell 'chmod -R 755 /data/local/tmp/cacerts'
adb shell 'chcon -R +con /data/local/tmp/cacerts'
adb shell 'mount /data/local/tmp/cacerts /system/etc/security/cacerts'
yourcertname需要對應修改為hash.0格式
openssl x509 -inform DER -in your_cacert.der -out cacert.pem
openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1
mv cacert.pem <hash>.0
frida腳本hook繞過,還可以過APP的證書綁定(SSL pinning)機制
try{
var array_list = Java.use("java.util.ArrayList");
var ApiClient = Java.use('com.android.org.conscrypt.TrustManagerImpl');
ApiClient.checkTrustedRecursive.implementation = function(a1, a2, a3, a4, a5, a6) {
var k = array_list.$new();
return k;
}
}catch (e) {
//console.log('universal '+e);
}
IOS
IOS新版本,沒有區分使用者證書和系統證書,證書安裝完成之後,還需要在設定-通用-關于-證書信任 裡面啟用才行
ios12.x版本可以通過上述方式+fiddler抓到小程式等的https包,但ios13.x之後存在問題,參考https://support.apple.com/en-us/HT210176
若ios app啟用了證書綁定,則也需要相應的frida腳本hook來繞過
APP繞過WiFi代理
APP若使用Java層的Proxy.NO_PROXY選項,則即使設定了WiFi代理也無法抓到包
還有一種app,使用了Google的flutter架構和dart語言編寫的跨平台應用,其預設不使用WiFi代理(client.findProxy = HttpClient.findProxyFromEnvironment;啟用代理)
導入證書+proxydroid(https://github.com/zzzzfeng/proxydroid/releases)+mitmproxy可以完美解決(導入證書輔助工具https://github.com/zzzzfeng/appstarter,--cert選項)
注意:使用fiddler可能達不到效果,fiddler生成的證書是基于IP的,沒有讀取ssl中的sni資訊,需要(左下角輸入框)手動執行prefs set fiddler.network.https.SetCNFromSNI true才行
使用(11條消息) PacketCapture_v1.7.2.apk-網絡攻防文檔類資源-CSDN下載下傳抓包(基于V pN),首先将其證書(/data/misc/user/0/cacerts-added/e6f5bd3f.0)導入到system,然後本地抓包
歡迎關注
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9k1RhRTOsJGbKNjYohmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0UDOyMzMxgDMxIjNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)