После шести лет разработки представлен (https://corte.si/posts/code/mitmproxy/announce_1_0/index.html) релиз проекта mitmproxy 1.0 (https://mitmproxy.org/), в рамках которого развивается инструментарий для исследователей безопасности и разработчиков приложений, позволяющий отслеживать активность в рамках транзитных HTTP- и HTTPS-соединений. Mitmproxy может рассматриваться как специализированный инструмент, рассчитанный на перехват трафика внутри соединений, установленных по HTTPS, с возможностями по его инспектированию, модификации и повторному воспроизведению. Исходные тексты проекта написаны на языке Python и распространяются (https://github.com/mitmproxy/mitmproxy) под лицензией MIT.Для анализа HTTPS mitmproxy размещается (http://docs.mitmproxy.org/en/stable/howmitmproxy.html) на транзитном узле, на котором перехватывает запросы клиента и транслирует их в отправляемые от себя запросы к серверу. С запрошенным в процессе клиентского сеанса сервером mitmproxy устанавливает обычное HTTPS-соединение, а с клиентом от имени целевого хоста устанавливается фиктивное соединение с подставным SSL-сертификатом, который генерируется для клиента на лету. Принятый от клиента трафик перенаправляется целевому хосту, а получаемые ответы транслируются. Для того, чтобы подобный подставной сертификат не приводил к выводу браузером предупреждений о проблемах с безопасностью соединения, в систему пользователя предлагается установить корневой сертификат mitmproxy, что можно сделать как вручную, так и открыв в браузере специальный хост mitm.it.
Следует отметить, что основное назначение mitmproxy не проведение MITM-атак, а организация отслеживания трафика в корпоративных системах и диагностика проблем, например, отслеживание скрытой активности приложений. Для перенаправления трафика через mitmproxy поддерживается несколько методов (http://docs.mitmproxy.org/en/stable/modes.html), таких как указание адреса mitmproxy в качестве прокси-сервер в настройках браузера, использование в роли обратного прокси перед HTTP-сервером и организация прозрачного проброса при помощи правил пакетного фильтра или заворачивания маршрутизации. Система поддерживает HTTP/2, Websockets, нормализацию порядка следования пакетов в потоке и также может применяться для блокирования и модификации трафика.
В состав mitmproxy входит несколько компонентов:
- mitmproxy - реализация прокси, выполняющего перехват соединений и разбор сеансов TLS/SSL.
- mitmdump - утилита командной строки для анализа трафика, работающая по аналогии с tcpdump;
- pathoc и pathod - реализация обратных прокси (perverse proxy) для клиентов и серверов HTTP, позволяющих вносить изменения в содержимое HTTP-запросов и ответов (например, можно блокировать определённые запросы или подменять конфиденциальную информацию);
- mitmweb - web-интерфейс для управления и анализа трафика через web-браузер.
URL: https://corte.si/posts/code/mitmproxy/announce_1_0/index.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=45772