🥚
なんとかAndroid端末からプロキシツールで通信を取得したい
なんとかしてAndroid端末からプロキシツールで通信を取得したい
注意事項
- 本手順は、あくまで自身の環境下で現象回避のために実施した手順のメモとなります。
- 普遍的な対応策や回避策ではない可能性が高いため、本記事を参考される場合はご留意ください。
背景
- 前回、この記事にて、Chromeであればv98までロールバックすることで、回避していた。
- 昨今の脆弱性対策の面でも、できるだけ最新バージョンでも適用できるようにしたい。
前提(検証環境)
- 端末:Google Nexus 5
- OS:Android 11(LineageOS 18.1)
- 導入の関係でRoot化済み
- プロキシツール:
- OWASP ZAP Version 2.11.1
- Burp Suite CE v2022.3.8
- 証明書インストール状況
-
システム証明書
-
ユーザ証明書
-
現状
-
下記の状態となっています。
- App(AndroGoat)での通信は、ZAPやBurpで通信取得可能
- ブラウザ(Chrome)での通信は、証明書のCTエラーが発生
対策
1.「設定 > セキュリティ > 暗号化と認証情報 > 証明書のインストール > CA証明書」から、ZAPやBurpの証明書をインストールします。
- Burpの場合、エクスポートできる証明書ファイル形式がcer形式ではないため、別途変換する必要があります。
- 「信頼できる証明書 > ユーザ」にZAPやBurpの証明書を追加するため、
/data/misc/user/0/cacerts-added/
配下へ証明書のhash.0ファイルを追加します。
hammerhead:/data/misc/user/0/cacerts-added # ls -l
total 8
-rw-r----- 1 root root 1326 2022-05-22 14:31 9a5ba575.0
-rw-r----- 1 root root 1326 2022-05-22 14:31 f8aa1c51.0
-
chown
コマンドを使用して、2.のファイルのユーザ所有権とグループ所有権をsystem
へ変更します。
hammerhead:/data/misc/user/0 # chown system:system cacerts-added/*.0
hammerhead:/data/misc/user/0 # ls -l cacerts-added/
total 8
-rw-r--r-- 1 system system 1326 2022-05-22 15:28 9a5ba575.0
-rw-r--r-- 1 system system 1294 2022-05-22 15:23 f8aa1c51.0
-
「信頼できる証明書 > ユーザ」にて、ZAPやBurpの証明書が追加されていることを確認します。
-
システム証明書から、ZapとBurpのチェックを外します。
-
ChromeとAppからの通信を取得できるか確認します。
所感(駄文)
- OWASP ZAPはともかくとして、Burp SuiteのProやEnterpriseライセンスであれば、CT対応版の証明書発行できたりしませんかね……。
Discussion