Чем расшифровать и поймать трафик по сети. BREACH-атака позволяет быстро расшифровать HTTPS трафик. Поисковый трафик или органический

Журналистам издания «Коммерсантъ» стало известно, как правительственные ведомства видят реализацию «закона Яровой» на практике.

По данным «Коммерсанта» , ФСБ, Минкомсвязь и Минпромторг в настоящий момент обсуждают набор технических решений, которые позволят реализовать дешифровку и соответственно доступ ко всему интернет-трафику россиян, как того требует «закон Яровой». Журналисты ссылаются на информацию, полученную от топ-менеджера одного из производителей оборудования, члена Администрации президента (АП), а также неназванного источника в IT-компании.

«Хранить эксабайты шифрованного интернет-трафика не имеет смысла - в нем ничего не найдешь. ФСБ выступает за то, чтобы расшифровывать весь трафик в режиме real-time и анализировать его по ключевым параметрам, условно говоря, по слову "бомба", а министерства настаивают на расшифровке трафика лишь по тем абонентам, которые привлекут внимание правоохранительных органов»,- рассказал журналистам представитель АП.

Для анализа нешифрованного и уже расшифрованного трафика планируется использовать DPI-системы (Deep Packet Inspection), которые и сейчас применяются многими операторами, например для URL-фильтрации по спискам запрещенных сайтов.

Сложности у правительственных ведомств вызывает зашифрованный трафик. «В интернете огромное количество сайтов, которые не являются организаторами распространения информации и используют защищенное https-соединение", - поясняют собеседники издания. "Без расшифровки трафика не всегда можно понять, на какой сайт заходил пользователь, не говоря о том, что он там делал». Так, одним из обсуждаемых вариантов дешифровки трафика является установка в сетях операторов оборудования, которое будет фактически выполнять MITM-атаки:

«Для пользователя это оборудование притворяется запрошенным сайтом, а для сайта - пользователем. Получается, что пользователь будет устанавливать SSL-соединение с этим оборудованием, а уже оно - с сервером, к которому обращался пользователь. Оборудование расшифрует перехваченный от сервера трафик, а перед отправкой пользователю заново зашифрует его SSL-сертификатом, выданным российским удостоверяющим центром (УЦ). Чтобы браузер пользователя не выдавал ему оповещений о небезопасном соединении, российский УЦ должен быть добавлен в доверенные корневые центры сертификации на компьютере пользователя».

Журналисты пишут, что Илья Массух, глава подгруппы «ИТ+Суверенитет» при Администрации президента, ранее уже подтверждал, что планы по созданию такого удостоверяющего центра действительно есть. Впрочем, будет ли данный УЦ использоваться для реализации «закона Яровой», пока неизвестно.

Также о предложении по расшифровке трафика слышал основатель «Энвижн Групп» и совладелец производителя телекоммуникационного оборудования РДП.РУ Антон Сушкевич.

«Два основных метода шифрования в интернете - end-to-end, который очень популярен в мессенджерах, и SSL-сертификаты - с их помощью около 80% интернет-трафика шифруется. Для того чтобы выполнять задачу, поставленную "законом Яровой", то есть бороться с терроризмом, нужно расшифровывать и анализировать трафик в прямом эфире, а не какое-то время спустя. Организация MITM - один из возможных путей»,- утверждает Сушкевич.

Также «Коммерсантъ» поинтересовался мнением экспертов по данному вопросу, и те выразили определенный скепсис относительно описанной схемы.

«Когда о данном факте станет известно, из всего ПО, обеспечивающего работу с шифрованным трафиком, сертификат подобного удостоверяющего центра будет вырезан в очередном обновлении. И это будет правильно, потому что возможность создавать "левые" сертификаты дискредитирует всю электронную коммерцию: все банковские карточки, учетные данные всех пользователей во всех системах становятся перехватываемыми»,- объясняет глава АРСИЭНТЕК Денис Нештун.

«MITM хорошо, а местами и легально работает для клиент-серверных технологий на базе SSL. Но от него стали чаще отказываться и переходить на TLS, для которого MITM сделать сегодня нельзя. А в случае с end-to-end шифрованием, на котором построено большинство мессенджеров, MITM вообще нереализуем»,- говорит консультант по интернет-безопасности Cisco Алексей Лукацкий.

Напомню, что согласно «закону Яровой», организаторы распространения информации должны предоставлять информацию, необходимую для декодирования принимаемых, передаваемых, доставляемых и (или) обрабатываемых электронных сообщений пользователей в уполномоченное подразделение ФСБ.

«Организаторами распространения информации», в свою очередь, считаются «лица, осуществляющие деятельность по обеспечению функционирования информационных систем и (или) программ», которые используются для «приема, передачи, доставки и (или) обработки электронных сообщений пользователей сети Интернет». То есть таковыми являются практически любые сервисы, при помощи которых осуществляется передача сообщений, будто то мессенджер или почта.

Собеседники «Коммерсанта» полагают, что «иностранные компании этому требованию просто не подчинятся, а российские, может, и сдадут ключи после многочисленных требований».

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

Одним из обсуждаемых вариантов дешифровки является установка на сетях операторов оборудования, способного выполнять MITM-атаку (Man in the Middle — человек посередине). Для анализа нешифрованного и уже расшифрованного трафика предлагается задействовать системы DPI, которые уже используются телеком-корпорациями для фильтрации запрещенных сайтов.

Буквально сразу же после появления этой информации инициатива подверглась критике со стороны интернет-сообщества. В частности, «профильный» омбудсмен в разговоре с радиостанцией «Говорит Москва» назвал недопустимой расшифровку трафика пользователей.

Основатель «Общества защиты интернета» в своем Facebook-аккаунте подробно разобрал предлагаемые властями методы.

«MITM — это вид хакерской атаки, который заключается в том, что злоумышленник П встраивается в шифрованный канал между абонентами А и Б, и когда А и Б думают, что шифруют сообщения друг другу, на самом деле они шифруют их все в адрес П, который вскрывает сообщения, потом перешифровывает их и отправляет дальше», — пояснил эксперт.

Проблемой для выполнения этой задачи, как пишет Волков, является тот факт, что для используемого в интернете программного обеспечения попытка подмены сертификата для перешифровки контента выглядит как обман. Когда операционная система или браузер выявит, что предъявлен поддельный сертификат, они его тут же заблокируют.

В беседе с «Газетой.Ru» Волков отметил, что свежая инициатива ведомств выглядит реальнее, чем полное хранение данных, но «все же далека от реализуемости прямо здесь и сейчас».

В свою очередь, ведущий вирусный аналитик ESET Russia полагает, что с технической точки зрения предложения ФСБ, Минкомсвязи и Минпромторга являются реальными. «Пока инициативы ограничиваются анализом незашифрованного трафика и сбором базовой информации о пользователях. Новое предложение может потребовать от провайдеров и пользователей установки в систему специального цифрового сертификата для анализа зашифрованного трафика, например HTTPS», — рассказал он «Газете.Ru».

Зашифрованные иностранцы

Директор информационно-аналитического агентства TelecomDaily рассказал «Газете.Ru», что дешифровка трафика — непростой процесс. «Министерства, которые берутся за эту задачу, не до конца представляют, что могут с этим и не справиться», — добавил он.

Аналитик обратил внимание, что по-прежнему не решен вопрос деятельности зарубежных компаний, отвечающих за пользовательские коммуникации. В первую очередь речь идет о мессенджерах с end-to-end-шифрованием.

«Я не вижу каких-то сдвигов в плане работы с организациями, которые с юридической точки зрения находятся не в России. Но с нашими компаниями проще, на них всегда можно надавить», — отметил Кусков.

В антитеррористическом пакете поправок помимо операторов связи говорится о так называемых организаторах распространения информации. Для них с 2014 года в российском законодательстве предусмотрен собственный реестр, ведением которого занимается .

В настоящее время перечень включает в себя около 70 наименований. Среди них социальные сети «ВКонтакте», «Одноклассники», «Мой круг», и «Рамблер», хранилища «Яндекс.Диск», «Облако@Mail.Ru», порталы «Хахбрахабр». «Роем», сайт знакомств «Мамба», видеосервис RuTube, блог-платформа LiveInternet, имиджборд «Двач» и другие.

В реестр за все время его работы не попал ни один зарубежный портал и ни один мессенджер.

«Если подобные планы властей начнут реализовываться, то прогнозируемо появление мессенджеров, содержащих дополнительную защиту от атак типа MITM. Например, подмешивания в шифрование секретного ключа с распространением его между абонентами. Проще говоря пароля, о котором договориваются участники переписки», — заявил «Газете.Ru» директор дивизиона безопасности группы компаний Softline .

Как сломать HTTPS

Известным широкому кругу способом шифрования является не только end-to-end, но и HTTPS — защищенный протокол, используемый веб-сайтами.

При этом позднее, беседуя с «Роем» , глава Фонда информационной демократии , который как раз и занимается вопросами IT-независимости рунета в рамках ИРИ, назвал подобную идею «бредом».

Кусков в разговоре с «Газетой.Ru» возможный шаг по полному импортозамещению также окрестил маловероятным.

«Сотовая связь в настоящее время на 100% является импортной. Это не просто базовые станции, а аппаратно-программный комплекс. В настоящий момент все это заменить невозможно.

Пока не будет сделан серьезный шаг со стороны , Минкомсвязи и Минпромторга, ничего хорошего не предвидится в этом направлении. Я не вижу реальных действий, которые позволили бы сказать, что Россия может перейти на отечественное оборудование в ближайшее время», — заключил телеком-эксперт.

Операторы мобильной связи отказались от комментариев. В Минкомсвязи на запрос «Газеты.Ru» не ответили.

Wireshark - это мощный сетевой анализатор, который может использоваться для анализа трафика, проходящего через сетевой интерфейс вашего компьютера. Он может понадобиться для обнаружения и решения проблем с сетью, отладки ваших веб-приложений, сетевых программ или сайтов. Wireshark позволяет полностью просматривать содержимое пакета на всех уровнях: так вы сможете лучше понять как работает сеть на низком уровне.

Все пакеты перехватываются в реальном времени и предоставляются в удобном для чтения формате. Программа поддерживает очень мощную систему фильтрации, подсветку цветом, и другие особенности, которые помогут найти нужные пакеты. В этой инструкции мы рассмотрим, как пользоваться Wireshark для анализа трафика. Недавно разработчики перешли к работе над второй веткой программы Wireshark 2.0, в неё было внесено множество изменений и улучшений, особенно для интерфейса. Именно её мы будем использовать в этой статье.

Перед тем, как переходить к рассмотрению способов анализа трафика, нужно рассмотреть, какие возможности поддерживает программа более подробно, с какими протоколами она может работать и что делать. Вот основные возможности программы:

  • Захват пакетов в реальном времени из проводного или любого другого типа сетевых интерфейсов, а также чтение из файла;
  • Поддерживаются такие интерфейсы захвата: Ethernet, IEEE 802.11, PPP и локальные виртуальные интерфейсы;
  • Пакеты можно отсеивать по множеству параметров с помощью фильтров;
  • Все известные протоколы подсвечиваются в списке разными цветами, например TCP, HTTP, FTP, DNS, ICMP и так далее;
  • Поддержка захвата трафика VoIP-звонков;
  • Поддерживается расшифровка HTTPS-трафика при наличии сертификата;
  • Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа и handshake;
  • Отображение статистики нагрузки на сеть;
  • Просмотр содержимого пакетов для всех сетевых уровней;
  • Отображение времени отправки и получения пакетов.

Программа имеет множество других функций, но это были те основные, которые могут вас заинтересовать.

Как пользоваться Wireshark

Я предполагаю, что программа у вас уже установлена, но если нет, то вы можете ее установить из официальных репозиториев. Для этого наберите команду в Ubuntu:

sudo apt install wireshark

После установки вы сможете найти программу в главном меню дистрибутива. Запускать Wireshark нужно с правами суперпользователя, потому что иначе она не сможет анализировать сетевые пакеты. Это можно сделать из главного меню или через терминал с помощью команды для KDE:

А для Gnome / Unity:

Главное окно программы разделено на три части: первая колонка содержит список доступных для анализа сетевых интерфейсов, вторая - опции для открытия файлов, а третья - помощь.

Анализ сетевого трафика

Для начала анализа выберите сетевой интерфейс, например eth0, и нажмите кнопку Start.

После этого откроется следующее окно, уже с потоком пакетов, которые проходят через интерфейс. Это окно тоже разделено на несколько частей:

  • Верхняя часть - это меню и панели с различными кнопками;
  • Список пакетов - дальше отображается поток сетевых пакетов, которые вы будете анализировать;
  • Содержимое пакета - чуть ниже расположено содержимое выбранного пакета, оно разбито по категориям в зависимости от транспортного уровня;
  • Реальное представление - в самом низу отображается содержимое пакета в реальном виде, а также в виде HEX.

Вы можете кликнуть по любому пакету, чтобы проанализировать его содержимое:

Здесь мы видим пакет запроса к DNS, чтобы получить IP-адрес сайта, в самом запросе отправляется домен, а в пакете ответа мы получаем наш вопрос, а также ответ.

Для более удобного просмотра можно открыть пакет в новом окне, выполнив двойной клик по записи:

Фильтры Wireshark

Перебирать пакеты вручную, чтобы найти нужные, очень неудобно, особенно при активном потоке. Поэтому для такой задачи лучше использовать фильтры. Для ввода фильтров под меню есть специальная строка. Вы можете нажать Expression , чтобы открыть конструктор фильтров, но там их очень много, поэтому мы рассмотрим самые основные:

  • ip.dst - целевой IP-адрес;
  • ip.src - IP-адрес отправителя;
  • ip.addr - IP отправителя или получателя;
  • ip.proto - протокол;
  • tcp.dstport - порт назначения;
  • tcp.srcport - порт отправителя;
  • ip.ttl - фильтр по ttl, определяет сетевое расстояние;
  • http.request_uri - запрашиваемый адрес сайта.

Для указания отношения между полем и значением в фильтре можно использовать такие операторы:

  • == - равно;
  • != - не равно;
  • < - меньше;
  • > - больше;
  • <= - меньше или равно;
  • >= - больше или равно;
  • matches - регулярное выражение;
  • contains - содержит.

Для объединения нескольких выражений можно применять:

  • && - оба выражения должны быть верными для пакета;
  • || - может быть верным одно из выражений.

Теперь рассмотрим подробнее на примерах несколько фильтров и попытаемся понять все знаки отношений.

Сначала отфильтруем все пакеты, отправленные на 194.67.215.. Наберите строку в поле фильтра и нажмите Apply . Для удобства фильтры Wireshark можно сохранять с помощью кнопки Save :

ip.dst == 194.67.215.125

А чтобы получить не только отправленные пакеты, но и полученные в ответ от этого узла, можно объединить два условия:

ip.dst == 194.67.215.125 || ip.src == 194.67.215.125

Также мы можем отобрать переданные большие файлы:

http.content_length > 5000

Отфильтровав Content-Type, мы можем выбрать все картинки, которые были загружены; выполним анализ трафика Wireshark, пакеты, которого содержат слово image:

http.content_type contains image

Чтобы очистить фильтр, вы можете нажать кнопку Clear . Бывает, вы не всегда знаете всю необходимую для фильтрации информацию, а просто хотите изучить сеть. Вы можете добавить любое поле пакета в качестве колонки и посмотреть его содержимое в общем окне для каждого пакета.

Например, я хочу вывести в виде колонки ttl (время жизни) пакета. Для этого откройте информацию о пакете, найдите это поле в разделе IP. Затем вызовите контекстное меню и выберите опцию Apply As Column :

Таким же образом можно создать фильтр на основе любого нужного поля. Выберите его и вызовите контекстное меню, затем нажмите Apply as filter или Prepare as filter , затем выбираем Selected, чтобы вывести только выбранные значения, или Not selected , чтобы их убрать:

Указанное поле и его значение будет применено или во втором случае подставлено в поле фильтра:

Таким способом вы можете добавить в фильтр поле любого пакета или колонку. Там тоже есть эта опция в контекстном меню. Для фильтрации протоколов вы можете использовать и более простые условия. Например, выполним анализ трафика Wireshark для протоколов HTTP и DNS:

Еще одна интересная возможность программы - использование Wireshark для отслеживания определённого сеанса между компьютером пользователя и сервером. Для этого откройте контекстное меню для пакета и выберите Follow TCP stream .

Затем откроется окно, в котором вы найдете все данные, переданные между сервером и клиентом:

Диагностика проблем Wireshark

Возможно, вам интересно, как пользоваться Wireshark 2.0 для обнаружения проблем в сети. Для этого в левом нижнем углу окна есть круглая кнопка, при нажатии на неё открывается окно Expet Tools . В нём Wireshark собирает все сообщения об ошибках и неполадках в сети:

Окно разделено на такие вкладки, как Errors, Warnings, Notices, Chats. Программа умеет фильтровать и находить множество проблем с сетью, и тут вы можете их очень быстро увидеть. Здесь тоже поддерживаются фильтры Wireshark.

Анализ трафика Wireshark

Вы можете очень просто понять, что именно скачивали пользователи и какие файлы они смотрели, если соединение не было зашифровано. Программа очень хорошо справляется с извлечением контента.

Для этого сначала нужно остановить захват трафика с помощью красного квадрата на панели. Затем откройте меню File -> Export Objects -> HTTP :

Многие пользователи и не догадываются, что заполняя логин и пароль при регистрации или авторизации на закрытом Интернет-ресурсе и нажимая ENTER, эти данные легко могут перехватить. Очень часто они передаются по сети не в защищенном виде. Поэтому если сайт, на котором вы пытаетесь авторизоваться, использует HTTP протокол, то очень просто выполнить захват этого трафика, проанализировать его с помощью Wireshark и далее с помощью специальных фильтров и программ найти и расшифровать пароль.

Лучшее место для перехвата паролей - ядро сети, где ходит трафик всех пользователей к закрытым ресурсам (например, почта) или перед маршрутизатором для выхода в Интернет, при регистрациях на внешних ресурсах. Настраиваем зеркало и мы готовы почувствовать себя хакером.

Шаг 1. Устанавливаем и запускаем Wireshark для захвата трафика

Иногда для этого достаточно выбрать только интерфейс, через который мы планируем захват трафика, и нажать кнопку Start. В нашем случае делаем захват по беспроводной сети.

Захват трафика начался.

Шаг 2. Фильтрация захваченного POST трафика

Открываем браузер и пытаемся авторизоваться на каком-либо ресурсе с помощью логина и пароля. По завершению процесса авторизации и открытия сайта мы останавливаем захват трафика в Wireshark. Далее открываем анализатор протоколов и видим большое количество пакетов. Именно на этом этапе большинство ИТ-специалистов сдаются, так как не знают, что делать дальше. Но мы знаем и нас интересуют конкретные пакеты, которые содержат POST данные, которые формируются на нашей локальной машине при заполнении формы на экране и отправляются на удаленные сервер при нажатии кнопки «Вход» или «Авторизация» в браузере.

Вводим в окне специальный фильтр для отображения захваченных пакетов: http. request. method == “ POST”

И видим вместо тысячи пакетов, всего один с искомыми нами данными.

Шаг 3. Находим логин и пароль пользователя

Быстрый клик правой кнопки мыши и выбираем из меню пункт Follow TCP Steam


После этого в новом окне появится текст, который в коде восстанавливает содержимое страницы. Найдем поля «password» и «user», которые соответствуют паролю и имени пользователя. В некоторых случаях оба поля будут легко читаемы и даже не зашифрованы, но если мы пытаемся захватить трафик при обращении к очень известным ресурсам типа: Mail.ru, Facebook, Вконтакте и т.д., то пароль будет закодирован:

HTTP/1.1 302 Found

Server: Apache/2.2.15 (CentOS)

X-Powered-By: PHP/5.3.3

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

Set-Cookie: password=; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/

Location: loggedin.php

Content-Length: 0

Connection: close

Content-Type: text/html; charset=UTF-8

Таким образом, в нашем случае:

Имя пользователя: networkguru

Пароль:

Шаг 4. Определение типа кодирования для расшифровки пароля

Заходим, например, на сайт http://www.onlinehashcrack.com/hash-identification.php#res и вводим наш пароль в окно для идентификации. Мне выдан был список протоколов кодирования в порядке приоритета:

Шаг 5. Расшифровка пароля пользователя

На данном этапе можем воспользоваться утилитой hashcat:

~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

На выходе мы получили расшифрованным пароль: simplepassword

Таким образом, с помощью Wireshark мы можем не только решать проблемы в работе приложений и сервисов, но и также попробовать себя в роли хакера, осуществляя перехват паролей, которые пользователи вводят в веб-формах. Также можно узнавать и пароли к почтовым ящикам пользователей, используя незатейливые фильтры для отображения:

  • Протокол POP и фильтр выглядит следующим образом: pop.request.command == "USER" || pop.request.command == "PASS"
  • Протокол IMAP и фильтр будет: imap.request contains "login"
  • Протокол SMTP и потребуется ввод следующего фильтра: smtp.req.command == "AUTH"

и более серьезные утилиты для расшифровки протокола кодирования.

Шаг 6. Что делать, если трафик зашифрован и используется HTTPS?

Для ответа на этот вопрос есть несколько вариантов.

Вариант 1. Подключиться в разрыв соединения между пользователем и сервером и захватить трафик в момент установления соединения (SSL Handshake). В момент установки соединения можно перехватить сеансовый ключ.

Вариант 2. Вы можете расшифровать трафик HTTPS, используя файл журнала сеансовых ключей, записываемый Firefox или Chrome. Для этого браузер должен быть настроен на запись этих ключей шифрования в файл журнала (пример на базе FireFox), и вы должны получить этот файл журнала. По сути, необходимо похитить файл с ключом сессии с жесткого диска другого пользователя (что является незаконным). Ну а далее захватить трафик и применить полученный ключ для его расшифровки.

Уточнение. Мы говорим о веб-браузере человека, у которого пытаются украсть пароль. Если же мы подразумеваем расшифровку нашего собственного HTTPS трафика и хотим потренироваться, то эта стратегия будет работать. Если вы пытаетесь расшифровать HTTPS трафик других пользователей без доступа к их компьютерам, это не сработает - на то оно и шифрование, и личное пространство.

После получения ключей по варианту 1 или 2 необходимо прописать их в WireShark:

  1. Идем в меню Edit - Preferences - Protocols - SSL.
  2. Ставим флаг «Reassemble SSL records spanning multiple TCP segments».
  3. «RSA keys list» и нажимаем Edit.
  4. Вводим данные во все поля и прописываем путь в файлу с ключом