1. 程式人生 > >移動端https抓包那些事--進階篇

移動端https抓包那些事--進階篇

ssh nload 詳細 tro 盤古 支持 url 框架 官方下載

上一次和大家介紹了手機端https抓包的初級篇,即在手機未root或者未越獄的情況下如何抓取https流量,但是當時分析應用時會發現,好多應用的https的流量還是無法抓取到,這是為什麽呢?

主要原因還是客戶端在實現https請求時對於證書的校驗上,如果僅僅校驗是否有證書但是未嚴格校驗證書的有效性時,就可以通過手機客戶端安裝抓包工具的證書來繞過簽名校驗,但是如果客戶端做了嚴格的證書校驗,如果不是受信任證書則無法正常進行https通信,遇到這種情況我們該如何抓取https流量來進行業務分析呢?

接下來就進入我們的第二篇章-進階篇,深層次抓包(淺層次抓包 -> 移動端https抓包那些事--初級篇

)。

這一次就會對我們的設備有所要求了,安卓設備要求設備root,iOS設備要求越獄。後續我們依然會分兩個平臺來依次介紹如何進行操作。


Android平臺

在Android平臺上的操作主要是通過hook的方式,將應用及系統中驗證https證書的邏輯全部hook為驗證結果正確,這樣無論安裝的證書是否有效,皆可進行正常的https通信。

這裏就需要對手機安裝hook框架,這裏用到的hook框架為Xposted,官方下載地址:

http://repo.xposed.info/module/de.robv.android.xposed.installer ,這裏需要註意的是,在Android4.0-4.4是可以直接通過安裝apk的方式開刷入Xposted框架,而在Android 5.0以上則需要刷入Xposted的固件包,具體的操作這裏就不再贅述了,網上有很多教程已經講的很詳細了。

想要進行https抓包的話需要安裝Xposted的一個開源模塊--JustTrustMe,github鏈接地址為:https://github.com/Fuzion24/JustTrustMe ,下載最新版本的安裝包,安裝進手機,在Xposted中激活並重啟手機,這時就可以隨意抓取手機中的流量了。

技術分享


iOS平臺

iOS上就需要將手機進行越獄了,可以使用目前市面上比較流行的盤古越獄工具,但是目前只支持iOS10之前的版本,所以做移動安全研究或者滲透測試的,準備一臺老版本的測試機還是很有必要的,說不定什麽時候哪款工具就在最新系統上用不了了。

言歸正傳,在iOS上用到的這款工具叫做SSL Kill Switch 2,該工具使用了Cydia Substrate的鉤子技術,這個鉤子Hook了IOS的驗證證書函數,使得他們接受任何證書。

SSL Kill Switch 2同樣也是一款在Github上開源的軟件:https://github.com/nabla-c0d3/ssl-kill-switch2 ,這裏給大家簡單介紹下如何安裝這個工具。

首先在越獄後的Cydia工具中查看以下幾項軟件是否都安裝完成:

Debian Packager

Cydia Substrate

PreferenceLoader

如圖中所示:

技術分享 技術分享

如果都安裝完成,那麽從Github上下載最新的release包:https://github.com/nabla-c0d3/ssl-kill-switch2/releases ,如現在最新版的為v0.11 安裝包為 com.nablac0d3.SSLKillSwitch2_0.11.deb ,將該文件拷貝到iOS設備中,拷貝文件可用iTools、iFunBox等工具。

如圖所示:

技術分享

用ssh鏈接iOS設備,找到deb文件傳輸目錄(/User/Media):

技術分享

執行如下命令進行安裝:

dpkg -i com.nablac0d3.SSLKillSwitch2_0.11.deb
killall -HUP SpringBoard

回到Cydia中,查看安裝的軟件,已經在列表中了。

技術分享

這時候就可以抓取https的流量了。

測試

證書安裝完成之後,用手機訪問一個https的網站,這時就發現https的數據包可以抓取到了。

技術分享

移動端https抓包那些事--進階篇