一、背景:
在使用burpsuite做代{過}{濾}理抓取應用數據包時,如果要抓取到HTTPS數據,需要將burpsuite證書導入到瀏覽器或手機。
瀏覽器或手機設置好burpsuite的代{過}{濾}理地址,即可抓取到https數據包。
<ignore_js_op>
如果APP應用采用證書鎖定后,將無法抓取到https數據,因為此時APP應用校驗證書不通過,通常APP應用會斷開網絡連接,防止網絡傳輸數據被抓取。
二、證書鎖定
證書鎖定(CertificatePinning或SSL Pinning),即HTTPS的證書校驗。HTTPS庫在接收到證書以后,對證書進行校驗,確保其跟自己保存的本地證書或硬編碼數據相同,才可放行。否則視為被中間人監聽,拒絕通信。
三、繞過證書鎖定
繞過證書鎖定,可使用xposed框架下的兩大神器來突破證書鎖定。SSLUnpinning或Inspeckage。
使用這兩個APP應用中的任意一個就可以繞過證書鎖定。
要使用這兩個APP應用生效,前提是手機已ROOT並且安裝好xposed框架,在選擇xposed安裝時,要選擇好手機架構系統版本和CPU對應關系。
安裝方式參與下面鏈接
https://xposed.appkg.com/2390.html
https://xposed.appkg.com/1152.html
android的版本可以在設置-關於手機查找,CPU是否是64位可查詢手機配置參數,也可以使用以下命令查看:arm64-v8a
比如我的榮耀9是android7.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即可。
2、Inspeckage
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