Bypassing Certificate Pinning — статья рассказывает о том, как перехватывать и анализировать трафик приложений для Android и при этом обойти механизм Certificate Pinning, не позволяющий подсунуть приложению левый сертификат.
Еще по теме: Способы обхода SSL Pinning Android
Что такое Certificate Pinning
Certificate Pinning — это процесс, при котором конкретный сертификат или открытый ключ связываются с определенным сервером или службой. Это добавляет дополнительный уровень безопасности, поскольку приложение или браузер будут проверять не только валидность сертификата, но и его соответствие «прикрепленному» сертификату. Это помогает предотвратить атаки Man-in-the-Middle (MitM), где атакующий может представить поддельный сертификат, чтобы перехватить трафик.
Однако, пентестеры часто сталкиваются с задачей обхода Certificate Pinning, чтобы провести анализ безопасности и выявить уязвимости.
Краткая выжимка Обход Certificate Pinning
- Подключаем Android-смартфон к локальной сети.
- В настройках Android указываем в качестве адреса прокси-сервера IP-адрес нашего ноутбука.
- Устанавливаем на ноутбук Burp Suite, экспортируем его сертификат и импортируем в Android.
- Устанавливаем на смартфон и ноутбук Frida.
- Запускаем подопытное приложение под управлением Frida.
- Скармливаем Frida скрипт, который сообщит приложению, что сертификат подлинный и все нормально.
Еще один способ обойти Certificate Pinning — установить на смартфон Xposed и модуль SSLUnpinning (см. в статье Использование Xposed для обхода SSL Pinning на Android).