Нет подключения к Интернету в Android после использования Mitmproxy

Я настроил телефон Android (Samsung Galaxy S8) на использование прокси. Я могу подключиться к mitm.it. Я также вижу некоторые запросы, перехваченные Mitmproxy.

Однако у меня нет подключения к Интернету, когда я пытаюсь что-то найти в Google.

Любые намеки на то, что произошло и как это исправить?


person JOHN    schedule 18.09.2019    source источник


Ответы (2)


Android 7.1 и выше больше не позволяют использовать сертификаты, добавленные пользователем вручную, но если у вас есть телефон с правами суперпользователя, вы можете заставить его работать через ADB.

Android хранит свои системные сертификаты в /system/etc/security/cacerts/. Если вы посмотрите на свое устройство, вы увидите, что сертификаты имеют хешированные имена, например. а1234b0d.0. Для перехвата трафика приложений вам необходимо узнать хеш вашего сертификата

openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.pem | head -1

Затем переименуйте свой сертификат соответственно

mv mitmproxy-ca-cert.pem <your_hash_value_in_here_without_carets>.0

И, наконец, переместите его туда, где находятся системные сертификаты вашего устройства. Однако для этого вам нужно сначала перемонтировать системный каталог, чтобы получить доступ для записи.

adb shell su -c "mount -o rw,remount,rw /system"
adb push your_certificate /sdcard/your_certificate
adb shell su -c "mv /sdcard/your_certificate /system/etc/security/cacerts/your_certificate"
adb shell su -c "chmod 644 /system/etc/security/cacerts/your_certificate"
adb reboot

Если это не сработает, я могу вспомнить (хотя и не источник), что читал об Android Nougat, а также не касался сертификатов, срок действия которых истекает более чем через 2 года. Сертификаты, созданные mitmproxy, должны быть в порядке. Однако Burpsuite или Fiddler мне не подошли.

person Jogogoloboy    schedule 06.05.2020
comment
Я только что попробовал это на Android 10, и он не учитывал мой сертификат от mitmproxy, срок действия которого истекает через 2,5 года в будущем. Я смог использовать HTTP Toolkit для достижения аналогичной цели (хотя я знаю, что можно создать свой собственный корневой сертификат и вместо этого использовать mitmproxy, я не хотел сталкиваться с проблемой). - person Mattwmaster58; 26.08.2020

Службы Google используют закрепление сертификата и поэтому могут обнаруживать "поддельные" http://mitm.it/cert/pem, который вы загрузили на свой телефон.

person Callum Wilson    schedule 23.09.2019