Настройка:
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).
Что мне не хватает?
Меня больше интересует, как приложение facebook доверяет этому сертификату и проверяет трафик на Burp. Пожалуйста, сообщите.