Выпуск mitmproxy 1.0, инструмента для анализа трафика HTTP/HTTPS
27 декабря 2016 года
После шести лет разработки представлен релиз проекта mitmproxy 1.0, в рамках которого развивается инструментарий для исследователей безопасности и разработчиков приложений, позволяющий отслеживать активность в рамках транзитных HTTP- и HTTPS-соединений. Mitmproxy может рассматриваться как специализированный инструмент, рассчитанный на перехват трафика внутри соединений, установленных по HTTPS, с возможностями по его инспектированию, модификации и повторному воспроизведению. Исходные тексты проекта написаны на языке Python и распространяются под лицензией MIT.
Для анализа HTTPS mitmproxy размещается (Архивная копия от 22 февраля 2018 на Wayback Machine) на транзитном узле, на котором перехватывает запросы клиента и транслирует их в отправляемые от себя запросы к серверу. С запрошенным в процессе клиентского сеанса сервером mitmproxy устанавливает обычное HTTPS-соединение, а с клиентом от имени целевого хоста устанавливается фиктивное соединение с подставным SSL-сертификатом, который генерируется для клиента на лету. Принятый от клиента трафик перенаправляется целевому хосту, а получаемые ответы транслируются. Для того, чтобы подобный подставной сертификат не приводил к выводу браузером предупреждений о проблемах с безопасностью соединения, в систему пользователя предлагается установить корневой сертификат mitmproxy, что можно сделать как вручную, так и открыв в браузере специальный хост mitm.it.
Следует отметить, что основное назначение mitmproxy не проведение MITM-атак, а организация отслеживания трафика в корпоративных системах и диагностика проблем, например, отслеживание скрытой активности приложений. Для перенаправления трафика через mitmproxy поддерживается несколько методов (Архивная копия от 22 февраля 2018 на Wayback Machine), таких как указание адреса mitmproxy в качестве HTTP-прокси в настройках браузера, работа в виде SOCKS5-прокси, использование в роли обратного прокси перед HTTP-сервером и организация прозрачного проброса при помощи правил пакетного фильтра или заворачивания маршрутизации.
Система поддерживает HTTP/2, Websockets, нормализацию порядка следования пакетов в потоке, подключение скриптов-обработчиков для модификации трафика на лету, сохранение запросов для дальнейшего повторного воспроизведения, генерацию TLS-сертификатов для перехваченных сеансов, чистку заголовков о времени модификации для отключения кэширования на стороне клиента.
В состав mitmproxy входит несколько компонентов:
- mitmproxy - реализация прокси, выполняющего перехват соединений и разбор сеансов TLS/SSL.
- mitmdump - утилита командной строки для анализа трафика, работающая по аналогии с tcpdump;
- pathoc и pathod - реализация обратных прокси (reverse proxy) для клиентов и серверов HTTP, позволяющих вносить изменения в содержимое HTTP-запросов и ответов (например, можно блокировать определённые запросы или подменять конфиденциальную информацию);
- mitmweb - web-интерфейс для управления и анализа трафика через web-браузер.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.