Инструмент Blackbox для отключения проверки сертификата SSL/TLS - включая закрепление сертификата - в приложениях iOS и MacOS. Вторая итерация https://github.com/isecpartners/ios-ssl-kill-switch.
После загрузки в приложение для iOS или macOS SSL Switch 2 будет исправлять функции низкого уровня, ответственные за обработку соединений SSL/TLS, чтобы переопределить и отключить проверку сертификата системы по умолчанию, а также любую пользовательскую проверку сертификата (например, закрепление сертификата).
Он был успешно протестирован с различными приложениями, внедряющими сертификат, включая Apple App Store. Первая версия SSL Kill Switch была выпущена на Black Hat Vegas 2012.
Самая последняя версия iOS, которая, как известно, поддерживается, составляет 14,2.
На iOS SSL Kill Switch 2 может быть установлен в виде настройки подтека Cydia на джейлбрейкском устройстве.
Установка SSL Kill Switch 2 позволяет любому в той же сети, что и устройство легко выполнять атаки в среднем уровне против любого соединения SSL или HTTPS. Это означает, что это тривиально получить доступ к электронным письмам, веб -сайтам, просматриваемым в Safari, и любые другие данные, загруженные любым приложением, работающим на устройстве.
Следующие зависимости должны быть установлены с использованием Cydia:
Затем загрузите последний предварительно скомпилированный пакет, доступный на вкладке «Выпуск» на странице Github Switch 2 SSL. Скопируйте его на устройство, установите и переписывая устройство:
dpkg -i <package>.deb
killall -HUP SpringBoard
В настройках устройства должно быть новое меню, где вы можете включить расширение. Наконец, убейте и перезапустите приложение, которое вы хотите проверить.
Настройка позже может быть удален с использованием:
dpkg -r com.nablac0d3.SSLKillSwitch2
Многие люди спрашивали о том, как перехватить трафик App Store, используя SSL Kill Switch 2. Я записал здесь несколько инструкций, но теперь есть устаревшие: http://nabla-c0d3.github.io/blog/2013/08/20/intercepting-tappors-traffic-on-ios/.
По умолчанию SSL Kill Switch нарушит приложение Charles Proxy IOS, и вы не сможете прокси -сердить какой -либо сетевой трафик с ним. Чтобы исправить это, добавьте приложение Charles Proxy (com.xk72.charles) в список исключенных идентификаторов пакета в конфигурации SSL Kill Switch:

Сборка требует, чтобы набор TEOS была установлена, доступной по адресу http://www.iphonedevwiki.net/index.php/theos/getting_started.
Затем в корневом SSL Switch 2 Croot Foler создайте символическую ссылку на вашу установку THEOS:
ln -s /<path_to_your_theos_folder> theos
Убедитесь, что DPKG установлен. Если у вас есть домашнее пиво, используйте:
brew install dpkg
Затем пакет Debian Switch SSL 2 может быть построен с помощью:
make package
SSL Kill Switch 2 может использоваться в приложениях MacOS в качестве динамической библиотеки, которая будет введена в процессы.
На MacOS библиотека Sslkillswitch должна быть вручную вводится в процесс, где SSL -закрепление должно быть отключено. После введения он автоматически переопределяет и отключите проверку SSL.
Есть несколько способов сделать это, включая:
Запуск процесса с LLDB или в xcode Debug-> Прикрепите к процессу, затем паузу и загрузите Sslkillswitch с помощью dlopen() :
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
Ожидаемый результат-ненулевой указатель:
(void *) $1 = 0x00007f92e74d10c0
Если вы получите нулевой указатель, вам может потребоваться включить подписание кода и построить для профилирования, а затем использовать двоичный файл в папке релиза, и даже может придется скопировать двоичный файл в папку ресурсов приложения. В этом случае вы бы увидели выход на нарушение песочницы для консоли. Чтобы проверить новую версию бинарника, вам нужно убить приложение и загрузить его снова.
Использование dyld_insert_libraries для инъекции sslkillswitch и запустите процесс.
TBD
Используйте проект XCode, чтобы создать SSL Kill Switch 2 для MacOS. Скомпилированная библиотека будет затем доступна в продуктах/sslkillswitch.framework/versions/a/sslkillswitch . Это двойной, который вам нужно вводить в процесс, когда вы хотите отключить SSL -закрепление.
MIT - См ./license.
Alban Diquet - @nabla_c0d3