Всем привет, на связи Дима Котиков! Продолжаем цикл статей об инструментах перехвата и подмены интернет-трафика при разработке и тестировании. Мы уже разобрали:

1. Как разрабатывать фронтенд без готового бэкенда: инструменты перехвата трафика, мокирования и принцип их работы.

2. Настройка инструмента OWASP ZAP для перехвата интернет-трафика.

В этой статье разберем, как настраивать Android- и iOS-устройства и эмуляторы для перехвата интернет-трафика сниффером, на примере сниффера OWASP ZAP.

Настройка Android-устройства или Android-эмулятора 

Первое, что нам необходимо сделать, — передать файл с root-сертификатом, который мы сохраняли из OWASP ZAP, на Android-устройство.

Далее действуем по пунктам:

1. Заходим в системные настройки Android-устройства, в поисковой строке вводим «сертификат», в найденных вариантах выбираем «Установка сертификатов».

Пункт «Установка сертификатов» в системных настройках

Пункт «Установка сертификатов» в системных настройках

2. В открывшемся меню выбираем «Сертификат центра сертификации».

Пункт «Сертификат центра сертификации»

Пункт «Сертификат центра сертификации»

Может открыться окно с сообщением о возможном нарушении конфиденциальности данных — принимаем ответственность и подтверждаем.

Предупреждение о нарушении конфиденциальности данных при установке пользовательского сертификата

Предупреждение о нарушении конфиденциальности данных при установке пользовательского сертификата

В открывшемся окне выбора файлов выбираем ранее переданный файл сертификата.

Выбор файла сертификата для установки

Выбор файла сертификата для установки

После установки должно появиться сообщение об успешной установке сертификата.

Сообщение об успешной установке сертификата

Сообщение об успешной установке сертификата

Те же самые действия по установке сертификата выполняем и для пункта «Сертификат Wi-Fi», для Wi-Fi может отобразиться окно с указанием имени сертификата — указываем любое и подтверждаем.

Диалог с указанием названия сертификата для Wi-Fi

Диалог с указанием названия сертификата для Wi-Fi

3. Настраиваем прокси на Wi-Fi, для этого идем в системные настройки Android-устройства → «Сеть и интернет» → «Интернет» → в пункте Wi-Fi находим подключенное Wi-Fi-соединение и нажимаем на него. Напомню: и Android-устройство, и ПК с OWASP ZAP должны быть подключены к одной и той же Wi-Fi-точке. Если это эмулятор, то будет указана точка доступа AndroidWiFi.

Экран доступных интернет-соединений в системных настройках

Экран доступных интернет-соединений в системных настройках

В открывшемся экране сведений о сети выбираем пункт редактирования.

Сведения о Wi-Fi-точке, пункт редактирования

Сведения о Wi-Fi-точке, пункт редактирования

В открывшемся окне в поле «Прокси-сервер» выбираем пункт «Настройка вручную», в поле «Имя хоста прокси-сервера» указываем IP-адрес ПК, на котором установлен OWASP ZAP. IP-адрес получали и конфигурировали в прошлой статье, в разделе «Настройка прокси-сервера». В поле «Порт прокси-сервера» также указываем порт, который у нас установлен в OWASP ZAP на ПК. После чего нажимаем «Сохранить».

Установка параметров прокси-сервера для Wi-Fi на Android-устройстве

Установка параметров прокси-сервера для Wi-Fi на Android-устройстве

Готово! Теперь интернет-трафик Android-устройства будет прослушиваться в OWASP ZAP и мы можем увидеть отправляемые запросы и получаемые ответы. Чтобы это проверить, на Android-устройстве можно зайти в браузер и перейти на какой-нибудь сайт — в OWASP ZAP должны отобразиться вызовы запросов.

Перехват интернет-трафика из браузера Android-устройства сниффером OWASP ZAP

Перехват интернет-трафика из браузера Android-устройства сниффером OWASP ZAP

Важно: если Wi-Fi-точка была перезагружена или ПК перезагружали и переподключали к Wi-Fi-точке, IP-адрес вашего ПК может смениться — и сниффинг трафика прекратится. Чтобы все заработало опять, нужно в OWASP ZAP перейти в Tools → Options → Network → Local Servers/Proxies и в поле Address выбрать актуальный IP-адрес ПК. Обычно он отображается в самом конце, начинается на 192.168. Нужно в настройках W-Fi-точки на Android-устройстве и в настройках прокси-сервера указать новый IP-адрес ПК. После этого перехват трафика снова заработает.

Вариант решения: чтобы IP-адрес на ПК не слетал после каждого подключения к Wi-Fi и не приходилось все время синхронизировать IP-адреса между устройствами, в настройках роутера или модема можно для ПК назначить постоянный IP-адрес. Особенности настройки конкретной модели роутера необходимо уточнять в документации производителя.

Настройка iOS-устройства или iOS-симулятора 

Теперь разберем настройку iOS-устройств и iOS-симуляторов для перехвата интернет-трафика сниффером на примере OWASP ZAP.

Первое, что нам необходимо сделать, — передать файл с root-сертификатом, который мы сохраняли из OWASP ZAP, на iOS-устройство.

Дальше действуем по шагам:

1. В файловом менеджере находим файл с root-сертификатом и нажимаем на него. В открывшемся окне выбираем iPhone.

Окно с предложением места установки сертификата

Окно с предложением места установки сертификата

Далее должно отобразиться окно с сообщением об успешной загрузке профиля.

Сообщение об успешной загрузке сертификата

Сообщение об успешной загрузке сертификата

2. Заходим в системные настройки → «Основные» → «VPN и управление устройством» и в разделе «Загруженный профиль» выбираем наш установленный профиль сертификата.

Пункт с настройками загруженного профиля

Пункт с настройками загруженного профиля

3. В открывшемся окне нажимаем «Установить».

Окно установки профиля

Окно установки профиля

После нажатия на кнопку «Установить» откроется предупреждение об установке непроверенного сертификата — принимаем риски и устанавливаем.

Предупреждение при установке сертификата

Предупреждение при установке сертификата

4. Необходимо сделать сертификат доверенным, для этого заходим в системные настройки → «Основные» → «Об этом устройстве» → «Доверие сертификатам» → включаем тоггл напротив сертификата OWASP ZAP.

Включение тоггла доверия сертификату

Включение тоггла доверия сертификату

Жмем подтверждение в диалоговом окне, тоггл активируется.

Диалог с предупреждением

Диалог с предупреждением

4. В системных настройках выбираем пункт Wi-Fi, напротив Wi-Fi-соединения жмем значок Info.

Открытие настроек Wi-Fi-соединения

Открытие настроек Wi-Fi-соединения

В открывшемся окне листаем вниз до пункта «HTTP-прокси» и переходим в этот пункт.

Пункт «Настройка прокси»

Пункт «Настройка прокси»

5. Выбираем «Вручную», в поле «Сервер» указываем IP-адрес ПК, на котором установлен OWASP ZAP. В поле «Порт» указываем порт, который у нас установлен в OWASP ZAP на ПК. После чего нажимаем «Сохранить».

Экран настроек прокси

Экран настроек прокси

После настройки интернет-трафик iOS-устройства будет прослушиваться в OWASP ZAP и мы сможем увидеть отправляемые запросы и получаемые ответы.

Настройка перехвата трафика в iOS-симуляторе будет отличаться от настройки настоящего iOS-устройства. iOS-симулятор использует такие же настройки интернет-сети, как и ПК, поэтому настраивать будем как iOS-симулятор, так и Wi-Fi-подключение на ПК:

1. Для установки сертификата в iOS-симуляторе достаточно перетащить файл с сертификатом в открытое окно симулятора.

Установка сертификата на iOS-симуляторе

Установка сертификата на iOS-симуляторе

2. Заходим в системные настройки → «Основные» → «Об этом устройстве» → «Доверие сертификатам», проверяем, что установленный сертификат включен как доверенный (если выключен — включить).

iOS-симулятор, сертификат OWASP ZAP установлен как доверенный

iOS-симулятор, сертификат OWASP ZAP установлен как доверенный

3. Так как iOS-симулятор использует те же настройки интернет-соединения, что и ПК, на котором он запущен, необходимо изменить настройки Wi-Fi-сети на ПК. Для этого идем в системные настройки ПК → Wi-Fi → на подключенной точке доступа нажимаем «Подробнее».

Системные настройки macOS, Wi-Fi

Системные настройки macOS, Wi-Fi

В открывшемся окне выбираем «Прокси», включаем пункты «Веб-прокси (HTTP)» и «Защищенный веб-прокси (HTTPS)», в полях «Сервер» и «Порт» указываем IP-адрес и порт, которые мы получали из OWASP ZAP.

Настройка прокси для Wi-Fi на macOS

Настройка прокси для Wi-Fi на macOS

После этого можем видеть в OWASP ZAP перехваченные интернет-запросы.

Перехваченные интернет-запросы из iOS-симулятора

Перехваченные интернет-запросы из iOS-симулятора

Что дальше

Мы научились устанавливать сертификаты сниффера на Android- и iOS-устройствах, эмуляторах и симуляторах. Настроили прокси для Wi-Fi подключений на Android и iOS для прослушивания интернет-трафика. Начали перехватывать HTTP/HTTPS-запросы и увидели логи запросов в OWASP ZAP.

В следующих статьях разберем настройки ПК для перехвата интернет-трафика из браузера и десктопных приложений, а также настройку Mockoon и связку OWASP ZAP + Mockoon для удобного мокирования запросов и ответов. Не переключайтесь!

Статьи цикла: