當前位置:
首頁 > 新聞 > 如何使用Burp和Magisk在Android 7.0監測HTTPS流量

如何使用Burp和Magisk在Android 7.0監測HTTPS流量


在任何環境下的移動端安全審計中,肯定都會涉及到攔截HTTPS流量。通過向Android應用添加自定義的CA,我們就可以輕鬆完成HTTPS流量攔截了。

但是對於Android Nougat(Android 7),應用程序並不會輕易信任客戶端證書,除非應用程序指定要使用這個證書。那麼在這篇文章中,我們將跟大家介紹一個新的Magisk模塊【MagiskTrustUserCerts閱讀原文】,這個模塊可以自動將客戶端證書添加到系統層信任的storage,而所有的應用程序默認會信任這種類型的證書,所以該模塊正好滿足我們的需要。

HTTPS攔截的基本方法


在Android平台上攔截HTTPS流量其實並不複雜,它只需要幾步便可以實現:



1.將Burp設置為我們的代理;
2.訪問http://burp;
3.將Burp證書以用戶證書的形式安裝;
4.開始攔截流量



完成上述步驟之後,你就可以查看到所有從目標用戶瀏覽器發送的HTTPS流量了。關於這部分內容,感興趣的同學可以參考Portswigger的官方文檔【參考文檔】。


在此之前,上述的這種方法甚至還適用於桌面端應用程序的流量攔截,因為應用程序默認會信任所有安裝的用戶證書。如果你想防止應用程序的流量被攔截的話,你可以嘗試使用證書綁定。證書綁定意味著每一個SSL通信連接的證書(伺服器端)都需要跟本地存儲的證書版本進行比對。如果伺服器能夠提供正確的身份憑證,連接才能夠成功建立。這是一種非常好的安全功能,但是在開發人員的實現過程中卻會存在各種各樣的安全問題。


進入Android Nougat(Android 7)


從Android Nougat開始,應用程序默認不會信任用戶證書。雖然開發人員可以通過配置應用程序AndroidManifest.xml文件的networkSecurityConfig屬性來選擇接受用戶證書,不過默認情況下這些證書仍是不受信任的。
首先我們要做的就是對目標應用程序進行反編譯、修改和重新編譯,這部分可能需要你多花點時間了。如果應用程序採用了某些反編譯保護機制的話,這就非常麻煩了,關於該技術的細節信息可以參考securestate.com給出的參考文檔【閱讀原文】。

另一種方法就是將用戶證書添加到系統商店之中。系統商店位於/system/etc/security/cacerts路徑下,其中包含了與已安裝root證書相關的文件。



最簡單的解決方案就是將用戶證書文件(位於目錄/data/misc/user/0/cacerts-added內)直接拷貝到這個文件夾內。如果系統是以r/w載入的話,我們就需要重新載入/system分區,然後使用一些root檢測演算法來檢測修改是否成功。


使用Magisk

Magisk是一種「通用型的系統介面」,它可以在不對系統本身進行任何修改的情況下實現一些系統層功能。實際上,Magisk並不會對/system分區進行修改,而這對於安全審計活動來說是一種非常大的優勢,因為我們不用再需要對設備進行root了。通過激活目標設備上的「Magisk Hide」功能,Magisk將完全對用戶不可見。
Magisk還支持很多自定義的模塊,而這類模塊的製作也非常簡單。為了讓任意的用戶證書被識別為系統證書,我們製作了一個簡單的Magisk模塊,並將其上傳到了GitHub代碼庫中【閱讀原文】。


該模塊的實現邏輯如下:



1.尋找已安裝的用戶證書;
2.將它們添加到/system/etc/security/cacerts目錄中;
安裝完成之後,Magisk模塊的內容將會被載入到/magisk/trustusercerts/。這個文件夾中包含有多種文件,但最重要的就是system目錄。這個目錄會自動跟真實的/system目錄合併,但不會對/system分區進行修改和操作。這樣一來,所有位於/magisk/trusteusercerts/etc/security/目錄下的證書最終都會出現在/system/etc/security目錄中。

模塊的使用方法也非常簡單,使用步驟如下所示:



1.安裝模塊;


2.通過常規方法安裝證書;


3.重啟設備;
安裝完成之後,證書將會出現在設備的系統信任商店之中,並且所有的應用程序默認都會信任該證書。




總結


當然了,如果應用程序實現了SSL綁定的話,那你還是沒辦法攔截到HTTPS流量,但是這個Magisk模塊可以讓Android Nougat應用按照之前Android平台的應用程序一樣去運行。在提升該模塊功能方面(在Magisk層禁用SSL綁定),如果你有任何意見或者建議的話,可以直接在本項目的

GitHub主頁

上留言。


* 參考來源:nviso,FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM




喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

年度盤點 | 2017年安全事件的背後:比特幣的隱秘江湖
2017年安全事件的背後:比特幣的隱秘江湖
一個比較好玩的WebShell上傳檢測繞過案例
老闆說安全很重要,但是沒錢咋辦?
挖洞經驗 | 看我如何發現Google的第三方應用服務漏洞

TAG:FreeBuf |