Всем привет, на связи Дима Котиков. Продолжаем рассматривать инструменты перехвата и подмены интернет‑трафика при разработке. 

В прошлой статье мы разобрали, когда может потребоваться перехватывать интернет‑трафик, делать моки для запросов, перенаправлять трафик на локальные серверы. Посмотрели, как работает сниффер, и поняли, что для успешного использования сниффера нам нужен 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 не удалось подтвердить, что файл не содержит вредоносного ПО» и не получится открыть приложение.

Предупреждение на MacOS
Предупреждение на MacOS

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

Разрешение открытия OWASP ZAP на MacOS
Разрешение открытия OWASP ZAP на MacOS

Генерация root‑сертификата

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

Меню Tools → Options
Меню Tools → Options

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

Окно с настройками сертификата
Окно с настройками сертификата

Установка сертификата на macOS

Следующий шаг — установка сохраненного сертификата на ПК. 

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

Установка сертификата в Keychain
Установка сертификата в Keychain

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

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. Обычно этот таб выбран по умолчанию при открытии.

Меню с настройками прокси в OWASP ZAP
Меню с настройками прокси в OWASP ZAP

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

Смена адреса прокси
Смена адреса прокси

Далее нужно запомнить указанный IP‑адрес и порт, временно сохранить их где‑нибудь в файле или просто запомнить что их можно посмотреть в этом меню. IP‑адрес и порт понадобятся далее для настройки клиентов. Важно не забыть нажать OK при выходе из настроек прокси в OWASP ZAP.

Итоги и следующие шаги

Итоги по настройке сниффера:

  1. Установили OWASP ZAP, сгенерировали root‑сертификат.

  2. Установили root‑сертификат на ПК и сделали его доверенным.

  3. Сконфигурировали прокси в OWASP ZAP.

  4. Подключили клиент к той же WiFi‑сети, что и ПК с OWASP ZAP (для прослушивания трафика с браузера на этом же ПК этот пункт пропускаем).

Для дальнейшей настройки клиентов у нас есть все необходимые входные данные: файл с root‑сертификатом, который мы сохраняли ранее, и IP‑адрес и порт для настройки прокси на клиенте.

В следующих статьях разберем, как настраивать каждый из клиентов: Android‑устройства и эмуляторы, iOS‑устройства и симуляторы, ПК для прослушивания трафика браузеров и десктопных приложений. Не переключайтесь!

Комментарии (0)