Перевод: Анна Давыдова
Источник: n0where.net
Интерактивный TLS-совместимый перехватывающий HTTP прокси — Mitmproxy
Mitmproxy является чрезвычайно гибким SSL-совместимым men-in-the-middle HTTP прокси. Он предоставляет консольный интерфейс, который позволяет очень быстро проинспектировать и, в случае необходимости, отредактировать трафик.
Документация по Mitmproxy
Аббревиатура MITM означает человек посередине (Man-In-The-Middle) – ссылка на процесс, который мы используем для перехвата и вмешательства в теоретически непроницаемые потоки данных. Основная идея состоит в том, чтобы притвориться сервером для клиента и сделать вид, что он клиент на сервере, а в это время мы находимся посередине и декодируем трафик с обеих сторон. Хитрая часть состоит в том, что система центра сертификации разработана как раз для предотвращения таких атак, путем разрешения доверенной третьей стороне криптографически подписывать SSL сертификаты сервера, чтобы подтвердить, что они являются законными. Если эта подпись не совпадает или она выполнена стороной не вызывающей доверия, клиент безопасности просто напросто оборвет соединение и откажет в продлении транзакции. Несмотря на множественное количество недостатков системы центра сертификации существующей сегодня, она все равно является фатальной для применения MITM к SSL соединению для его анализа. Ответ на эту головоломку — стать доверенной стороной для системы центра сертификации. Mitmproxy включает в себя полную реализацию центра сертификации, которая мгновенно генерирует сертификаты перехвата.
Свойства
- Перехватывает HTTP запросы и ответы и изменяет их на лету;
- Сохранение полных HTTP-цепочек для последующего воспроизведения и анализа;
- Воспроизведение клиентской части HTTP-цепочек;
- Воспроизведение HTTP ответов ранее записанного сервера;
- Обратный прокси-режим для пересылки трафика на конкретный сервер;
- Прозрачный прокси-режим на OSX и Linux;
- Вносит изменения в сценарий HTTP трафика, используя Python;
- Сертификаты SSL для перехвата генерируются на лету;
- И многое-многое другое.
Требования
Дополнительные пакеты для расширенного декодирования содержания:
- PyAMF версия 0.6.1 или более новая.
- protobuf версия 2.5.0 или более новая.
- cssutils версия 1.0 или более новая.
Предпочтительный способ установки mitmproxy – вне зависимости от того устанавливаете вы последнюю версию или используете исходный код – используя pip . Если на вашей системе все еще нет pip, вы можете найти инструкции по установке здесь.
Установка последней версии Mitmproxy
Введите единственную команду, которая скачает и установит последнюю версию mitmproxy, вместе со всеми ее зависимостями:
pip install mitmproxy
но по ходу отживают такие инструменты свой век, все более менее ценное идет через https. а с ним по нормальному уже не побороться. в том же хроме все сертификаты самых востребованных сайтов в хром вшиты и никакое добавление mitmproxy сертификатов ситуацию не исправляет.
даже почту на mail.ru не проверишь. но на сайтах часто пишут что вебдебаггеры умеют ковырять https даже от гугла.