Ошибка сертификата TLS на Android при перехвате с помощью Burp - с помощью приложения Facebook - PullRequest
0 голосов
/ 30 сентября 2019

Настройка:

Raspberry Pi 3 с интерфейсом wlan0, действующим в качестве точки доступа (192.168.2.0/24) и eth0 (192.168.1.0/24) для шлюза по умолчанию в Интернет. У Pi есть правила предварительной маршрутизации iptables, настроенные для пересылки веб-трафика (порт 80, 443) на Burp Proxy, работающий на моем ПК (в подсети eth0). Я подключаю свой телефон Android (в версии 9) к точке доступа (AP), и весь веб-трафик перенаправляется на прокси. Сертификаты: я скачал сертификат Burp и установил его в свой телефон Android (после изменения расширения).

Я могу получить доступ к HTTP-трафику очень хорошо. У меня возникают ошибки сертификата для трафика HTTPS. Мои браузеры (Brave, Chrome, Firefox) показывают ошибку Cert NET::ERR_CERT_COMMON_NAME_INVALID. При исследовании я обнаружил, что SAN (Subject Alt Name) должен быть установлен в самозаверяющих сертификатах, чтобы браузеры доверяли ему. Я видел различные ответы на Stackoverflow, объясняющие, как создать такой сертификат с использованием OpenSSL. Я сгенерировал один и импортировал его в Burp, а также в мой Android.

Однако для трафика HTTPS я получаю ту же ошибку.

Я пытался использовать приложение Facebook. Даже приложение не может загружать какие-либо данные. При выполнении захвата пакета я обнаружил, что во время согласования TLS он получает ошибку сертификата, которая говорит (Alert: Fatal - Unknown CA).

wireshark error

Что мне не хватает?

Меня больше интересует, как приложение facebook доверяет этому сертификату и проверяет трафик на Burp. Пожалуйста, сообщите.

...