Android 7 以上版本,繞過CA限制,抓取https

環(huán)境

手機(jī):小米5A
系統(tǒng):MIUI 10
電腦:win10
抓包:mitmdump (可替換成其他抓包軟件)
電腦需要安裝:

  • mitmdump(可替換成任意抓包軟件)
  • adb
  • openssl

背景

我需要抓取https請(qǐng)求,蘋果手機(jī)可以毫無問題的抓取,而安卓就不可以。原因是安卓7之后對(duì)證書的策略進(jìn)行變更,應(yīng)用不再使用用戶證書。

有兩種方式繞過:

  • 在手機(jī)上安裝系統(tǒng)證書
  • 修改app的manifest文件重新打包

這里我們只講第一種方法, 所以我們需要把證書添加到系統(tǒng)證書中。

為此,我們需要一臺(tái)已經(jīng)root的小米手機(jī)。root教程在miui論壇中已經(jīng)非常詳細(xì)了。官方給出了詳細(xì)的步驟和工具。

開始

假設(shè)到這里你已經(jīng)有一臺(tái)root成功的小米手機(jī)。

安卓受信任的CA證書以特定的格式存儲(chǔ)在 /system/etc/security/cacerts 目錄下。我們可以在adb shell中查看到:


image.png

證書處理

這里我們用到的是mitmproxy,它的證書存放在user/Administrator/.mitmproxy/ 目錄下。pem為后綴的文件。

查看openssl版本

openssl version

如果是1.0以上的版本:

openssl x509 -inform DER -in cacert.der -out cacert.pem  
openssl x509 -inform PEM -subject_hash_old -in cacert.pem

如果是1.0以下的版本:

openssl x509 -inform DER -in cacert.der -out cacert.pem  
openssl x509 -inform PEM -subject_hash -in cacert.pem

上面的兩條語句,如果已經(jīng)是pem后綴的文件,可以直接執(zhí)行第二條, cacert.pem就是你的證書文件。

第一行會(huì)輸出一個(gè)類似這樣的hash串:

7672ac4b

然后重命名證書

cp cacert.pem 7672ac4b.0  

復(fù)制證書到設(shè)備上

可以直接粘貼到手機(jī)中,也可以用adb復(fù)制過去,這里的7672ac4b換成前面你得到的那個(gè)hash串

adb root  
adb remount  
adb push 7672ac4b.0 /sdcard/  

復(fù)制到系統(tǒng)目錄并修改權(quán)限

adb shell
su
mount -o rw,remount /system
mv /sdcard/<cert>.0 /system/etc/security/cacerts/  
chmod 644 /system/etc/security/cacerts/7672ac4b.0
reboot

驗(yàn)證

然后我們?cè)谑謾C(jī)中依次進(jìn)入:設(shè)置→安全→信任證書→系統(tǒng)證書
此處就可以看到你安裝的證書了。

測(cè)試

證書安裝成功就沒什么問題了:


image.png

可能遇到的問題

可問題:
remount of /system failed: Read-only file system
remount failed
解決方法:
adb root
adb disable-verity
adb reboot
adb remount
adb shell
mount -o rw,remount /system

參考文章:

Configuring Burp Suite with Android Nougat
Android 7 Nougat and certificate authorities

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容