The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

27.12.2016 12:44  Выпуск mitmproxy 1.0, инструмента для анализа трафика HTTP/HTTPS

После шести лет разработки представлен релиз проекта mitmproxy 1.0, в рамках которого развивается инструментарий для исследователей безопасности и разработчиков приложений, позволяющий отслеживать активность в рамках транзитных HTTP- и HTTPS-соединений. Mitmproxy может рассматриваться как специализированный инструмент, рассчитанный на перехват трафика внутри соединений, установленных по HTTPS, с возможностями по его инспектированию, модификации и повторному воспроизведению. Исходные тексты проекта написаны на языке Python и распространяются под лицензией MIT.

Для анализа HTTPS mitmproxy размещается на транзитном узле, на котором перехватывает запросы клиента и транслирует их в отправляемые от себя запросы к серверу. С запрошенным в процессе клиентского сеанса сервером mitmproxy устанавливает обычное HTTPS-соединение, а с клиентом от имени целевого хоста устанавливается фиктивное соединение с подставным SSL-сертификатом, который генерируется для клиента на лету. Принятый от клиента трафик перенаправляется целевому хосту, а получаемые ответы транслируются. Для того, чтобы подобный подставной сертификат не приводил к выводу браузером предупреждений о проблемах с безопасностью соединения, в систему пользователя предлагается установить корневой сертификат mitmproxy, что можно сделать как вручную, так и открыв в браузере специальный хост mitm.it.

Следует отметить, что основное назначение mitmproxy не проведение MITM-атак, а организация отслеживания трафика в корпоративных системах и диагностика проблем, например, отслеживание скрытой активности приложений. Для перенаправления трафика через mitmproxy поддерживается несколько методов, таких как указание адреса mitmproxy в качестве HTTP-прокси в настройках браузера, работа в виде SOCKS5-прокси, использование в роли обратного прокси перед HTTP-сервером и организация прозрачного проброса при помощи правил пакетного фильтра или заворачивания маршрутизации.

Система поддерживает HTTP/2, Websockets, нормализацию порядка следования пакетов в потоке, подключение скриптов-обработчиков для модификации трафика на лету, сохранение запросов для дальнейшего повторного воспроизведения, генерацию TLS-сертификатов для перехваченных сеансов, чистку заголовков о времени модификации для отключения кэширования на стороне клиента.

В состав mitmproxy входит несколько компонентов:

  • mitmproxy - реализация прокси, выполняющего перехват соединений и разбор сеансов TLS/SSL.
  • mitmdump - утилита командной строки для анализа трафика, работающая по аналогии с tcpdump;
  • pathoc и pathod - реализация обратных прокси (reverse proxy) для клиентов и серверов HTTP, позволяющих вносить изменения в содержимое HTTP-запросов и ответов (например, можно блокировать определённые запросы или подменять конфиденциальную информацию);
  • mitmweb - web-интерфейс для управления и анализа трафика через web-браузер.


  1. Главная ссылка к новости (https://corte.si/posts/code/mi...)
  2. OpenNews: Уязвимость, позволяющая вклиниться в стороннее TCP-соединение
  3. OpenNews: Представлен Sweet32, новый вид атаки на HTTPS и OpenVPN
  4. OpenNews: Стабильный релиз прокси-сервера Squid 3.5
  5. OpenNews: Проблемы с безопасностью при использовании протокола автоматической настройки прокси WPAD
  6. Обход блокировки трафика провайдером при помощи iptables
Лицензия: CC-BY
Тип: Программы
Ключевые слова: mitmproxy, proxy, mitm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 14:08, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +7 +/
    > основное назначение mitmproxy не проведение MITM-атак

    Да-да-да, мы так и поверили

     
     
  • 2.3, тоже Аноним (ok), 14:16, 27/12/2016 [^] [ответить]    [к модератору]
  • +21 +/
    Если некто может впихнуть вам в систему левый корневой сертификат - он вас уже поимел, говорить о безопасности бессмысленно.
    Если же вы сами ставите себе в рабочую систему левые сертификаты - "зачем нам враги, когда у нас есть такие друзья"?
     
     
  • 3.7, vantoo (ok), 15:36, 27/12/2016 [^] [ответить]    [к модератору]
  • +/
    Дома нет, но кому надо на рабочих машинах админ установит этот сертификат.
     
     
  • 4.8, Crazy Alex (ok), 15:54, 27/12/2016 [^] [ответить]    [к модератору]
  • +1 +/
    Тогда какой это MITM? Организация на своих машинах мониторит свой трафик
     
     
  • 5.16, тоже Аноним (ok), 17:19, 27/12/2016 [^] [ответить]    [к модератору]
  • +/
    А те, кто сгенерил на своих дорвеях сертификаты, подпертые тем же корнем, просто аккуратно к этому мониторингу присоединяются.
     
     
  • 6.35, Аноним (-), 14:55, 29/12/2016 [^] [ответить]     [к модератору]  
  • +/
    если организация не в состоянии обеспечить защиту и контроль использования своег... весь текст скрыт [показать]
     
  • 3.11, Аноним (-), 16:19, 27/12/2016 [^] [ответить]    [к модератору]  
  • +/
    > Если же вы сами ставите себе в рабочую систему левые сертификаты - "зачем нам враги, когда у нас есть такие друзья"?

    А если мне подебажить надо?


     
     
  • 4.17, тоже Аноним (ok), 17:20, 27/12/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    > А если мне подебажить надо?

    Мне слово "рабочую" нужно было капсом написать, да? Незаметно получилось.

     
  • 3.27, tensor (?), 05:40, 28/12/2016 [^] [ответить]    [к модератору]  
  • +/
    Про DLP слыхали?
     
     
  • 4.40, zanswer CCNA RS (?), 06:35, 31/12/2016 [^] [ответить]    [к модератору]  
  • +/
    Вестимо Data Loss Prevention, вряд ли о нём часто слышат не причастные к ИБ люди. ;)
     
  • 3.41, freehck (ok), 15:31, 31/12/2016 [^] [ответить]     [к модератору]  
  • +/
    Кстати да, именно этим наша компания поздравила сотрудников с Новым Годом Всем ... весь текст скрыт [показать]
     
  • 2.39, Аноним (-), 21:50, 30/12/2016 [^] [ответить]     [к модератору]  
  • +/
    Однако ж скрипткидизов с сабжем таки попадалось Есть даже комплекты кульхацкера... весь текст скрыт [показать]
     
  • 1.2, Аноним (-), 14:09, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Яровая одобряет.
     
  • 1.4, Аноним (-), 14:30, 27/12/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Таки да, или да ... весь текст скрыт [показать]
     
     
  • 2.10, Аноним (-), 16:17, 27/12/2016 [^] [ответить]    [к модератору]  
  • +/
    Удобно дебажить приложения на андроиде/айфоне, например.
     
     
  • 3.26, chinarulezzz (ok), 21:53, 27/12/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Не понимаю за что тебя заминусовали. Верно же говоришь.
     
     
  • 4.43, Андрейка (?), 14:08, 03/01/2017 [^] [ответить]     [к модератору]  
  • +/
    Специально поднимал хост с прозрачным mitmproxy, когда он еще не был 1 0 в гейм-... весь текст скрыт [показать]
     
  • 1.5, Аноним (-), 14:33, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    <newbmode>ну и как этой штукой сматреть пароли вкантактике?</newbmode>
     
     
  • 2.6, тоже Аноним (ok), 14:46, 27/12/2016 [^] [ответить]    [к модератору]  
  • –4 +/
    Шаг первый: рассказываешь пацанам из команды Вконтактика, как этой штукой классно проверять корпоративную сеть...
     
  • 1.12, proud_anon (?), 16:22, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    "Исходные тексты проекта написаны на языке Python ... основное назначение mitmproxy не проведение MITM-атак, а организация отслеживания трафика в корпоративных системах.." ха-ха 3 раза - петон для корпоративнеых пользователей
     
     
  • 2.29, Аноним (-), 06:46, 28/12/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Прикинь, Python, Java, C# чаще всего для создания корпоративных приложений юзают. Ибо дёшево и сердито.
     
  • 2.31, Аноним (-), 14:29, 28/12/2016 [^] [ответить]     [к модератору]  
  • +/
    То ли дело Borschelisp ... весь текст скрыт [показать]
     
  • 1.13, Аноним (-), 16:33, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Lets Encrypt поддерживает?
     
     
  • 2.19, Аноним (-), 17:41, 27/12/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Что несешь?
     
     
  • 3.23, Аноним (-), 19:00, 27/12/2016 [^] [ответить]    [к модератору]  
  • +/
    А что такого? Может кому-то надо свой таким образмо исследовать, не пропадать же удобному инструменту. В итоге вместо каки-то странных сертификатов будут вполне валидные от LE.
     
     
  • 4.24, rshadow (ok), 19:15, 27/12/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    LE проверяет кому выдает сертификаты. На неподконтрольный домен нельзя получить сертификат.
     
  • 4.38, Аноним (-), 01:25, 30/12/2016 [^] [ответить]    [к модератору]  
  • +/
    Если у тебя есть свой веб-сервер с доменом, и на него ты получил сертификат от Let's Encrypt, то да – можно выставить mitmproxy наружу, а за ним – уже настоящий веб-сервер.
     
  • 1.14, Аноним (-), 16:41, 27/12/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • –5 +/
    ага, на бидоне писать ТАКОЕ и задержки и издержки по ресурсам будут ТАКИЕ что... весь текст скрыт [показать]
     
     
  • 2.18, Аноним (-), 17:30, 27/12/2016 [^] [ответить]    [к модератору]  
  • +9 +/
    > ага, на бидоне писать ТАКОЕ !!
    > и задержки и издержки по ресурсам будут ТАКИЕ что ... ужос, ужос .
    > даже на леговесных аналогах вроде руби(некоторые возились с движком, используемым также в > metasploit, например. также  в корпоративных DLP и одной софтовой(по штилю)IDS он тоже используется).

    ruby - это легковесный аналог python?

     
  • 2.30, Аноним (-), 06:48, 28/12/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Что. Ты. Несёшь?

    Криворукая макака и на асме напишет так, что тормозить будет даже на Зеоне.

     
     
  • 3.42, Аноним (-), 23:31, 31/12/2016 [^] [ответить]     [к модератору]  
  • +/
    По крайней мере metasploit - кусок глюкавого гумна которое работает через раз Н... весь текст скрыт [показать]
     
  • 1.20, Аноним (-), 17:55, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ой, класс!!)) Это замена wireshark ???
     
     
  • 2.21, Аноним (-), 18:14, 27/12/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    Нет, это твоя мамка
     
  • 2.28, tensor (?), 05:41, 28/12/2016 [^] [ответить]    [к модератору]  
  • +/
    Скорее, замена squid+ssl_bump и icap-мониторилки на питоновый комбайн.
     
  • 2.44, Андрейка (?), 14:11, 03/01/2017 [^] [ответить]    [к модератору]  
  • +/
    > Ой, класс!!)) Это замена wireshark ???

    Это дополнение к wireshark, чтобы более подробно http(s) смотреть, а не то убогое, что можно вытащить из libpcap

     
  • 1.22, commiethebeastie (ok), 18:39, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Rp08aR одобряет.
     
  • 1.25, anonymous (??), 20:08, 27/12/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Ничего нового. squid уже давно умеет делать mitm в https по описанному сценарию. Жаль только, что privoxy этого не умеет, как не умеет работать через squid
     
     
  • 2.45, Андрейка (?), 14:13, 03/01/2017 [^] [ответить]    [к модератору]  
  • +/
    > Ничего нового. squid уже давно умеет делать mitm в https по описанному
    > сценарию. Жаль только, что privoxy этого не умеет, как не умеет
    > работать через squid

    Только squid не умеет тебе показать все отфильтрованное в красивой веб-мордке и/или в консольке - это раз, а два - на лету определить правила для блокирования/модификации запросов по некоторым условиям

    Не, на squid все это можно, но с костялыми, геммороем и каждый раз конфиг менять, если ты решил логотип ВКшечки заменить на матерное слово своим юзерам

     
  • 1.33, DmA (??), 16:42, 28/12/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +1 +/
    Вчера принесли ноутбук, на котором все браузеры сообщали, что недоверенное соед... весь текст скрыт [показать]
     
     
  • 2.34, anon99990 (?), 12:55, 29/12/2016 [^] [ответить]    [к модератору]  
  • +/
    Объясните, как может существовать валидный сертификат для всех сайтов? Разве сертификат выдается не для определенного домена и затем подписывается авторизующим центром? И таким образом должен действовать только на одном сайте?
     
     
  • 3.36, Аноним (-), 15:05, 29/12/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    банально, юнош, банально вот вам и впихивают левый авторизующий центр в конф... весь текст скрыт [показать]
     
  • 3.37, DmA (??), 00:32, 30/12/2016 [^] [ответить]    [к модератору]  
  • +/
    Браузеры на компе при получении https сертификата сайта, проверяет время его действия сравния со временем текушего компьютера и смотрят, кем выдан этот сертификат. Если сертификат самоподписанный, то недоверяют ему, если просрочен(закончился или наоборот неначался, то тоже нет доверия, это часто бывает, когда нет время на компе сбилось), если сертификат подписан неким удостоверяющим центром, то проверяется есть ли такой удостоверяющий центр в хранилище сертификатов, если есть то сайт признаётся нормальным. Причём  браузерам будет  пофигу, что все сайты в Интернете будут подписаны всего одним удостоверяющим центром. Главное, чтобы сертификаты были не просрочеными!
    На каждом компьютере в системе установленны по умолчанию. десятки центров сертифкации, а ещё каждая программма, которая при своей установке требует админские права может ешё нафуговать нужные ей корневые удостоверящие центры!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor