Wireshark — один из самых популярных инструментов для анализа и записи трафика. Он позволяет перехватывать и изучать информацию, которая проходит по сети, и таким образом проверять, безопасно соединение или нет.
Рассказываем, как работает Wireshark и какие задачи можно решить с его помощью, вместе с экспертом, инженером по сетевой безопасности Алексеем Пыриновым.
Кому и для чего нужен Wireshark
С Wireshark может столкнуться любой специалист, который имеет дело с построением и настройкой компьютерных сетей. Например, сетевой инженер или архитектор. Но чаще и активнее всего этот инструмент применяют специалисты по кибербезопасности. Как именно — зависит от «команды», к которой принадлежит специалист.
Blue Team. «Синяя» команда кибербезопасности — это сотрудники, которые мониторят и анализируют угрозы, реагируют на инциденты и защищают систему. Они используют Wireshark для расследования инцидентов: смотрят с его помощью за происходящим в сети, находят различные артефакты и признаки атаки.
Red Team. «Красной» командой называют специалистов, которые имитируют действия хакеров и ищут уязвимости в системе. Они занимаются пентестом — тестированием на проникновение. Анализ трафика через Wireshark помогает им отыскать потенциальные уязвимости и перехватить информацию.
Кроме ИБ-специалистов, Wireshark пригождается сетевым инженерам. С помощью этого инструмента диагностируют проблемы с сетью, в том числе если используется нестандартный протокол.
Что позволяет узнать Wireshark
Анализ сети с помощью Wireshark позволяет получить о ней немало данных. Например, в ходе перехвата трафика можно узнать:
- об источнике трафика — кто отправил пакет информации;
- о получателе трафика — кто принял этот пакет;
- о протоколах — какие из них использовались для обмена данными;
- о соединении — было ли оно успешным, дошли ли данные до получателя;
- о проблемах — какие ошибки возникли в ходе обмена информацией, и так далее.
В зависимости от задачи и от параметров сети специалист может получить и другие сведения. В самом экстремальном случае, когда соединение не зашифровано или шифрование ненадежное, Wireshark может извлечь из пакетов реальные данные.
Как анализировать трафик с помощью Wireshark
Работу с программой можно представить как пошаговый процесс. Специалист настраивает Wireshark, подключается к сети и захватывает трафик, а потом приводит собранные данные в удобный для просмотра вид. Вот что происходит на каждом этапе работы.
Захват трафика. Специалист выбирает сетевой интерфейс, с которого Wireshark будет собирать и записывать трафик: Wi-Fi, Ethernet, интерфейсы локальных сетей и так далее. Затем настраивает фильтры захвата — ограничения, какой именно трафик собирать. Фильтрация нужна, чтобы уменьшить количество данных. Она облегчает поиск нужной информации и снижает нагрузку на систему.
Например, можно настроить перехват пакетов так, чтобы учитывались только HTTPS-запросы. Тогда остальной трафик Wireshark проигнорирует — запишет ровно то, что нужно специалисту.
Сохранение дампа. Wireshark записывает трафик в реальном времени. Но обычно специалисты сохраняют интересующий их промежуток в виде дампа — файла с информацией. Позже этот дамп анализируют в офлайн-режиме. Такой подход позволяет не потерять важную информацию, так как все нужные сведения запишутся на диск.
Настройка отображения. Перехваченный трафик — это огромное количество информации, которую нужно привести в понятный и читаемый вид. Wireshark представляет ее в виде таблицы, которая показывает:
- время отправки пакета;
- IP отправителя;
- IP получателя;
- протокол взаимодействия;
- длину пакета;
- дополнительную информацию.
Чтобы вычленить необходимые данные, специалисты могут применять фильтры отображения — они позволяют показывать только ту часть собранных сведений, которая нужна для анализа. Кроме того, можно пользоваться поиском по пакетам и помечать флажками интересующие записи.
Можно задать в Wireshark несколько фильтров с помощью логических операторов И, ИЛИ, НЕ. Например, искать только трафик, отправленный с конкретного IP-адреса на определенный порт.
Объединение пакетов. Wireshark может скомпоновать все перехваченные пакеты в единую сессию — полный набор данных, которые передавались в сети. Это поможет изучать не каждую запись по отдельности, а переданную информацию целиком. Также это необходимо для дальнейшей работы.
Декодирование информации. Объединенные данные расшифровывают — получают доступ к фактической информации, скрытой за протоколом шифрования. Этот шаг возможен не всегда, а только если информация плохо защищена или у специалиста есть доступ к TLS-ключам. Например, можно увидеть, какое сообщение отправил пользователь или какой ответ на запрос прислало приложение.
Анализ информации. Специалисты изучают сведения, полученные на каждом этапе. Что именно ищут — зависит от задачи. Например, при расследовании инцидента ИБ-сотрудники могут искать в трафике признаки подозрительной сетевой активности. А при попытке взлома в рамках пентеста — способы обойти шифрование и получить доступ к данным.
Какие инструменты используют вместе с Wireshark
Wireshark сам по себе — комбайн для работы с трафиком. Универсальный инструмент, с помощью которого можно выполнить любую задачу. Теоретически, дополнительные программы не нужны, достаточно его одного. На практике Wireshark все же используют совместно с другими инструментами. Например:
- tcpdump — простой инструмент для записи трафика, встроенный в UNIX-подобные операционные системы;
- IDS/IPS — системы обнаружения и предотвращения вторжений, специализированные ИБ-инструменты, которые мониторят подозрительную активность;
- NetworkMiner и другие снифферы трафика, более простые, чем Wireshark.
Причина, по которой для анализа трафика пользуются разными инструментами, — удобство. Некоторые функции проще и удобнее реализованы в других утилитах. А некоторые — наоборот, в Wireshark.
Что нужно знать для работы с Wireshark
Обучение Wireshark стоит начинать уже после освоения базовой теории сетевых технологий: модели OSI и ее уровней, IP-адресации и так далее. Чем глубже познания в сетях, тем эффективнее работа с этим инструментом.
Анализатор трафика лучше всего осваивать на практике. Можно выполнять лабораторные работы и задания, составленные специально для знакомства с Wireshark. Их довольно много — от основ до продвинутого уровня.
Эксперт Алексей Пыринов составил подборку для тех, кто изучает или планирует изучать кибербезопасность. В ней можно найти статьи, лекции, примеры задач с собеседований и другие материалы. В частности, список сайтов с лабораторными заданиями по Wireshark и другим ИБ-инструментам.
Коротко о Wiseshark
- Wireshark — программа для анализа трафика. С ее помощью перехватывают и изучают данные, которые передаются по сети. Обычно это нужно для задач кибербезопасности.
- ИБ-специалисты используют Wireshark, чтобы расследовать инциденты или проводить пентест — тестирование на проникновение. Системные администраторы и инженеры могут применять этот инструмент для диагностики проблем с сетью.
- С помощью Wireshark можно получать и записывать информацию о проходящих по сети пакетах данных. А в некоторых случаях — расшифровывать их и изучать саму переданную информацию.
- Работа с Wireshark требует познаний в области сетевых технологий. Специалист должен разбираться как минимум в модели OSI и IP-адресации. А сам инструмент лучше изучать на практике.