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

Всем привет, на связи Дима Котиков. Продолжаем рассматривать инструменты перехвата и подмены интернет-трафика при разработке.
В прошлой статье мы разобрали, когда может потребоваться перехватывать интернет-трафик, делать моки для запросов, перенаправлять трафик на локальные серверы. Посмотрели, как работает сниффер, и поняли, что для успешного использования сниффера нам нужен root-сертификат.
В этой статье разберем настройку сниффера для прослушивания интернет-трафика.
Установка и запуск OWASP ZAP
Настройка у различных программ-снифферов может различаться, но общий принцип один:
сгенерировать root-сертификат;
установить root-сертификат на клиенте;
настроить клиент на ту же сеть, что и сниффер, настроить прокси через сниффер;
успешно слушать передаваемый интернет-трафик.
Разбирать особенности настройки будем на примере сниффера OWASP ZAP. Популярные снифферы по типу Charles Proxy или Proxyman дают бесплатный trial-период пользования, после чего нужно приобрести лицензию. И если захочется приобрести лицензию, можно столкнуться с невозможностью ее покупки. А использование Trial-версии на постоянной основе может доставить проблем с тем, что инструменты нужно перезапускать каждые 30 минут или же в trial-версии будут не все функции, которые могут быть нужны.
OWASP ZAP — полностью бесплатный open-source-инструмент с исходным кодом на Github. Он успешно справляется практически со всеми задачами, которые можно делать в Charles Proxy или Proxyman, при этом лишен препятствий, которые можно наблюдать в trial-версиях других снифферов.
Для настройки OWASP ZAP нужно скачать инструмент, установить и запустить. На MacOS может отобразиться предупреждение «Apple не удалось подтвердить, что файл не содержит вредоносного ПО» и не получится открыть приложение.

Чтобы убрать предупреждение, нужно пройти по пути «Системные настройки» → «Конфиденциальность и безопасность», проскроллить вниз и нажать на кнопку «Все равно открыть» напротив сообщения о блокировке открытия ZAP.

Генерация root-сертификата
После установки нужно сгенерировать root-сертификат и установить его на ПК как доверенный. Для этого в открытой программе OWASP ZAP заходим в Tools → Options.

В открывшемся окне Options идем по пути Network → Server Certificates и выбираем таб Root CA Certificate, он обычно выбран по умолчанию при открытии. Там жмем кнопку Generate, затем — Save и сохраняем сертификат в удобное место, жмем кнопку OK.

Установка сертификата на macOS
Следующий шаг — установка сохраненного сертификата на ПК.
Открываем сохраненный файл, и система предложит установить сертификат в Keychain («Связку ключей»). Соглашаемся и устанавливаем.

Сертификат установится, но не будет доверенным — нужно это исправить. Для этого заходим в системное приложение Keychain («Связка ключей»), выбираем в левом меню пункт «Вход» и в верхнем меню таб «Сертификаты».

Видим наш установленный сертификат OWASP Zed Attack Proxy Root CA с иконкой красного крестика — это означает, что MacOS не считает сертификат доверенным. Сделаем его доверенным, для этого дважды кликаем по строке с сертификатом, в открывшемся окне раскрываем пункт «Доверие», в пункте «Параметры использования сертификата» выбирем «Всегда доверять» и закрываем окно с настройкой сертификата.

После этого сертификат станет доверенным и напротив иконки будет отображаться синий плюсик вместо красного крестика.

Настройка прокси-сервера
Процесс настройки прокси-сервера на стороне OWASP ZAP для прослушивания трафика клиента (android/iOS/web/desktop) выглядит так:
1. Конфигурируем прокси в настройках OWASP ZAP: открываем Tools → Options, в открывшемся окне в боковом меню выбираем Network → Local Server/Proxies и в открывшемся контенте справа выбираем таб Local Server/Proxies. Обычно этот таб выбран по умолчанию при открытии.

2. Меняем в строке Address localhost на IP-адрес сети, начинающийся на 192.168., в поле port либо оставляем все как есть, либо меняем на любой другой свободный, если 8080 уже используется в другом месте. Если IP-адрес автоматически не определился, его можно получить в консоли или терминале с помощью команды ipconfig getifaddr en0 и затем вручную вписать в поле Address.

Далее нужно запомнить указанный IP-адрес и порт, временно сохранить их где-нибудь в файле или просто запомнить что их можно посмотреть в этом меню. IP-адрес и порт понадобятся далее для настройки клиентов. Важно не забыть нажать OK при выходе из настроек прокси в OWASP ZAP.
Итоги и следующие шаги
Итоги по настройке сниффера:
Установили OWASP ZAP, сгенерировали root-сертификат.
Установили root-сертификат на ПК и сделали его доверенным.
Сконфигурировали прокси в OWASP ZAP.
Подключили клиент к той же WiFi-сети, что и ПК с OWASP ZAP (для прослушивания трафика с браузера на этом же ПК этот пункт пропускаем).
Для дальнейшей настройки клиентов у нас есть все необходимые входные данные: файл с root-сертификатом, который мы сохраняли ранее, и IP-адрес и порт для настройки прокси на клиенте.
В следующих статьях разберем, как настраивать каждый из клиентов: Android-устройства и эмуляторы, iOS-устройства и симуляторы, ПК для прослушивания трафика браузеров и десктопных приложений. Не переключайтесь!
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.