Пиннинг сертификатов - это дополнительный уровень безопасности для обеспечения защиты. Он гарантирует, что только сертифицированные центры сертификации (Certificate Authorities, CA) могут подписывать сертификаты для вашего домена, а не любой центр сертификации в магазине вашего браузера.
Разработчики приложений реализуют пиннинг
Ссылка скрыта от гостей
, чтобы избежать обратного инжиниринга, это позволяет разработчикам указывать, какому сертификату приложение может доверять. Вместо того, чтобы полагаться на хранилище сертификатов.Анализ исходного кода для SSL-пининга
При поиске таких строк, как «checkClientTrusted» или «checkServerTrusted», будет показан фрагмент кода с пиннингом.Если код не запутан, то мы модифицируем код, чтобы избавиться от пиннинга, перекомпилируем и подпишем его с помощью APKTOOL.
Также, вы можете выполнить статический анализ с помощью фреймворка безопасности, такого как MOBSF, если вы найдете «Файлы сертификатов / ключей, запрограммированные внутри приложения» или «Обнаружено закодированное хранилище ключей», то он имеет SSL pinning.
Обход SSL-пининга
Чтобы отключить, нужно декомпилировать файл приложения и найти метод, связанный с контролем пиннинга и удалить проверку. Конечная цель заключается в том, чтобы клиент принял ваш
Ссылка скрыта от гостей
как действительный.В нашем сценарии мы используем приложение Android, если у вас есть рутированное устройство, то вы можете использовать Xposed Framework модули, доступные для отключения SSL Pinning. Это очень простой и понятный метод.
Но лучший способ - это провести ручную проверку, разобрав apk, где в небольшом исходном коде выполняется проверка пиннинга сертификата.
Код:
$ apktool -d test.apk
После того, как вы закончили модификацию кода, необходимо скомпилировать и повторно оформить приложение с сертификатом разработчика. Здесь сертификат с кодовой подписью обеспечивает целостность и гарантирует, что приложение не будет подделывать.
Код:
$ apktool b test / -o example.modified.apk
После этого приложение необходимо просто переустановить на устройстве и протестировать его на предмет устойчивости. После установки приложение все еще работает, как предполагалось, однако, в настоящее время склонен к устройству, находящемуся в центре атаки в результате обхода закрепленного сертификата.
Обход сертификата pinning любым из этих способов позволяет эффективно вести человека в средней атаке на приложения, защищенные с помощью HTTPS и SSL, имея возможность перехватывать сеансы и даже видеть имена пользователей и пароли в обычном тексте в таком инструменте, как burp suite или fiddler.
Обход SSL
Срок действия сертификата имеет тенденцию к истечению, так как согласно CAB форуму, CA сертификаты не будут выдаваться с максимальным сроком 3 года. Поэтому вам следует запланировать обновление приложения с обновленным сертификатом.Мы должны реализовать методы обфуска́ции, чтобы избежать декомпиля́ции нашего исходного кода. Вы можете отправить приложение для пентестинга компаний для анализа исходного кода.
----------
Ссылка скрыта от гостей