
Нам понадобится:
- iOS 7.0-7.0.4 девайс c evasi0n jailbreak и установленным OpenSSH
- PC с Windows 7 и установленной последней версией Fiddler2
- iOS девайс и PC должны быть подключены к одной Wi-Fi сети
Возможно на других версиях iOS и/или Windows тоже будет работать, я не пробовал. В любом случае какая бы конфигурация ОС/железок у вас не была, все дальнейшие действия вы делаете на свой страх и риск! Автор не несет ответственность за возможный вред, бла-бла-бла... Ну стандартное предупреждение, вы поняли.
Инструкция по настройке Fiddler2 довольно простая: откройте “Tools” → “Fiddler Options” и настройте как на картинке:


Закройте настройки, затем щелкните мышкой на значке в правом верхнем углу главного окна Fiddler2 и запомните адрес вашего PC в Wi-Fi сети. Будет что-то типа такого:

Теперь инструкция по настройке iOS девайса. Она чуть сложнее, но тоже не rocket science. К тому же это нужно сделать всего один раз, а потом просто пользоваться:
- Через Cydia установите MobileSubstrate и PreferenceLoader, если еще не установлено (оба пакета есть в дефолтных репозиториях)
- С https://github.com/iSECPartners/ios-ssl-kill-switch/releases скачайте пакет com.isecpartners.nabla.sslkillswitch_v0.6-iOS_7.0.deb в какую-нибудь папку на вашем PC, а потом из это папки по ftps скопируйте пакет в корень вашего iOS устройства с помощью любого ftp-менеджера который это умеет (под Windows лично я предпочитаю WinSCP, но дело вкуса конечно)
- Залогиньтесь на ваше iOS устройство по SSH как root и выполните следующие команды:
В процессе на вашем девайсе перезагрузится SpringBoard («рабочий стол») — не пугайтесь, так и должно быть.# dpkg -i /com.isecpartners.nabla.sslkillswitch_v0.6-iOS_7.0.deb # killall -HUP SpringBoard # rm /com.isecpartners.nabla.sslkillswitch_v0.6-iOS_7.0.deb
- На iOS устройстве, зайдите в “Settings” и найдите там раздел “SSL Kill Switch” (да, его там раньше не было, но если на предыдущем шаге все прошло успешно — он там появился) и включите настройку “Disable Certificate Validation”
- Перезагрузите свой iOS девайс (руками или скомандуйте
reboot
через SSH) - Зайдите в настройки Wi-Fi сети, к которой подключен ваш iOS девайс, установите HTTP прокси в “Manual” и поставте
- Server: IP адрес вашего PC (ага! вы его забыли!)
- Port: 8888
- Authentification: off
Теперь, если все прошло успешно, через Fiddler2 побежит HTTP/HTTPS трафик с вашего iOS девайса. Причем будет видно даже трафик тех приложений, которые используют certificate pinning: благодаря патчу com.isecpartners.nabla.sslkillswitch_v0.6-iOS_7.0.deb, который мы установили на наш iOS девайс, у 99% процентов iOS приложений проверка сертификата заканчивается успехом какой бы сертификат приложению не подсунули (в нашем случае Fiddler2 подсовывает приложению свой).
Вот и все. Никаких генераций сертификатов вручную, впихивания их в iOS (что, как правило, все равно не помогает против certificate pinning) и прочего геморроя. Правда есть одно «но»… если после ваших экспериментов вы оставите настройку “Disable Certificate Validation” включенной, приложения на вашем iOS девайсе могут стать уязвимы для MITM атак — ведь благодаря патчу они принимают любые сертификаты, помните? Поэтому если для своих экспериментов вы используете свой личный iPhone, выключайте “Disable Certificate Validation”
Happy sniffing!