27.11.2018

Детектирование простейших атак на Wi-Fi сети при помощи Wireshark

image

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

Автор: Kody

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

Как злоумышленники-дилетанты наводят помехи в сети

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

Наиболее популярные инструменты, как, например, Aireplay-ng или MDK3, позволяют забросать целевую систему пакетами для отмены аутентификации или разрыва соединения, которые будут выглядеть легитимно и нарушать стабильность работы сети. Для решения этой задачи достаточно иметь беспроводной сетевой адаптер, поддерживающий режим мониторинга. Простейшая команда позволяет вывести из строя целый канал, на базе которого функционируют несколько сетей, вплоть до блокировки, без специального оборудования.

https://www.youtube.com/watch?v=HYwsJJuAYqc

Детектирование распространенных DOS-атак на Wi-Fi сети

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

Для детектирования можно использоваться и другие утилиты, как, например, Kismet, которая выдает предупреждения вкладке «Alerts» при возникновении различного рода атак. Даже несмотря на то, что Kismet выдает не так много информации, как Wireshark, этот инструмент прекрасно подходит для понимания схемы распространения угрозы.

Использование Wireshark для сниффинга пакетов

В этом примере мы будем использовать Wireshark для детектирования атак, связанных с внесением помех в Wi-Fi сеть. Так как Wireshark выдает слишком много информации, нам понадобятся фильтры. Как показано на рисунке ниже, даже с использованием цветной подсветки видно, что по Wi-Fi каналу передается огромное количество данных.

Рисунок 1: Пример использования Wireshark

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

Настройка Wireshark

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

Во-вторых, можно подсветить интересующие пакеты различными цветами. Таким образом, будут выделены важные для нас пакеты, удовлетворяющие определенными правилами. При помощи цветовых правил мы можем тут же увидеть, используются ли просто пакеты на отмену аутентификации или смесь пакетов на отмену аутентификации и разрыв соединения как в MDK3.

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

Настройка тестовой среды

Wireshark является фантастическим инструментом, поскольку разработчики уделяют много времени поддержке этого продукта. Эта утилита доступна для Window, macOS и Linux и умеет перехватывать различные типы пакетов. Мы будем сниффить Wi-Fi пакеты, но Wireshark также можно использовать для перехвата Bluetooth- и Ethernet-пакетов.

Все манипуляции я будут выполнять в Kali Linux, поскольку в этой ОС можно легко поменять канал для сканирования вашей карты при помощи утилит наподобие Airodump-ng. Kali Linux можно запустить на виртуальной машине или загрузочной USB-флешки. Хотя вы можете использовать любую другую операционную систему.

Детектировать атаки на Wi-Fi сеть можно и без переключения карты в режим мониторинга, однако, используя карты, которые поддерживают этот режим, вы увидите намного больше пакетов. Многие беспроводные карты поддерживаются в Wireshark, так что можете попробовать ту, которой пользуйтесь сейчас, вместо установки отдельного адаптера.

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

Шаг 1: Настройка сетевой карты

Вначале нужно настроить в беспроводной карте правильный канал для мониторинга. В Kali Linux эти манипуляции, после выяснения имени сетевого интерфейса, запустив ifconfig или ip a, выполняются при помощи следующих команд:

airmon-ng start NameOfYourWirelessCard
airodump-ng NameOfNetworkAdapter

Если вы не уверены, какой канал вам нужен, Airodump-ng будет переключать карту между различными каналами для полноценного сканирования. Однако в этом случае множество пакетов будет «фрагментировано», поскольку карта будет переключаться между различными сетями, и лучше все же указать конкретный канал.

Airodump-ng отобразит все сети, которые увидит. Если вы хотите указать конкретный канал, нажмите Ctrl-C для прекращения выполнения команды и добавьте опцию -c ItsChannelNumber в конец предыдущей команды, чтобы прикрепить карту к нужному каналу.

Теперь наша карта закреплена за правильным каналом и сканирует в режиме мониторинга. Открываем Wireshark и начинаем применять различные фильтры для анализа.

Шаг 2: Настройка фильтров в Wireshark

При первом запуске Wireshark вы увидите меню, показанное на рисунке ниже. Выберите адаптер, который будет использоваться для перехвата. В нашем примере будет использоваться en0. Затем вы увидите область, помеченную как «Capture», где можно настроить фильтры.

Рисунок 2: Перечень доступных интерфейсов

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

wlan type data or wlan type mgt and (subtype deauth or subtype disassoc)

Этот фильтр указывает, что нам нужны только беспроводные LAN-пакеты, которые используются для передачи информации или управления. Кроме того, нам нужны только пакеты для отмены аутентификации или разрыва соединения. Вы можете поиграться со своими собственными фильтрами. Чтобы посмотреть доступные фильтры, кликните на зеленую иконку рядом с полем ввода.

Рисунок 3: Добавление фильтра

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

Шаг 3: Подсветка различных типов пакетов

Поскольку мы ищем два типа пакетов, нужно настроить два правила для цветовой подсветки. В противном случае будет сложно разобраться по мере быстрого появления пакетов. В меню кликните на раздел «View» и в выпадающем списке выберите «Coloring Rules».

Рисунок 4: Раздел меню для настройки правил цветовой подсветки

Появится список правил. Вы можете создать свое собственное правило, нажав кнопку (+) в левом нижнем углу. Здесь вы можете указать содержимое и имя фильтра.

Чтобы поменять цвета, кликните на кнопку «Foreground» или «Background». Для подсветки нужных пакетов я использовал оранжевую кнопку.

Рисунок 5: Настройка цветовых фильтров

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

Data flow - data
Deauth: Airmon or MDK3 - wlan.fc.type_subtype == 0x00c
Disassoc: Airmon or MDK3 - wlan.fc.type_subtype == 0x00a

При помощи вышеуказанных фильтров мы сможем разделить искомые пакеты по типу.

Рисунок 6: Список цветовых фильтров

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

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

data || wlan.fc.type_subtype == 0x00c || wlan.fc.type_subtype == 0x00a

После ввода фильтра нажимаем Enter для подсветки нужной информации.

Рисунок 7: Маркировка пакетов по типам

Шаг 4: Классификация схем работы наиболее распространенных утилит

Теперь настало время приступить к тестированию. При помощи утилит Aireplay-ng и MDK3 начинаем воздействовать на целевую Wi-Fi сеть и оценивать результаты. На базе информации, отображаемой в Wireshark, вы должны заметить два типа паттернов, которые соответствуют используемым утилитам.

· Aireplay-ng: при использовании Aireplay-ng вы должны увидеть исключительно желтые строки, связанные с пакетами для отмены аутентификации. Это единственная схема, реализуемая через Aireplay-ng. Вы можете настроить количество пакетов для отправки, а затем посмотреть, сколько неизменных пакетов появится в Wireshark.

Рисунок 8: Перехваченные пакеты, отсылаемые через Aireplay-ng

· MDK3: Смесь оранжевых и желтых строк может свидетельствовать об использовании утилиты MDK3, когда отсылаются пакеты на отмену аутентификации и разрыв соединения. Кроме того, перестанут появляться пакеты данных, подсвеченные зеленым, в следствии большого количества спама.

Рисунок 9: Перехваченные пакеты, отсылаемые через MDK3

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

Шаг 5: Настройка других фильтров

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

Чтобы посмотреть более подробную информацию о пакете, на нижней панели кликните на стрелку вниз. Если вы, например, хотите оставить только этот тип пакетов, кликните правой кнопкой мыши на нужной строке, выберите «Apply as Filter», а затем «Selected».

Рисунок 10: Быстрая настройка фильтра по типу пакета

Так же легко вы можете настроить цветовые фильтры.

Например, если требуется отфильтровать передачу пакетов от или на определенный MAC адрес. Этот трюк полезен, чтобы уточнить экранный фильтр по конкретному устройству. Для доработки фильтра в конце добавьте две вертикальные черты ||, означающие «ИЛИ», и новое условие.

Для создания более тонких фильтров вы можете добавлять выражение &&, означающее «И», или, например, заменить выражение == на !=, означающее «не равно», чтобы отфильтровать все, что не соответствует нужному значению.

Заключение

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

Уязвимости в Wi-Fi сетях, связанных с незащищенными фреймами управления, будут во многом устранены в новом стандарте WPA3, однако уже сейчас не стоит ждать у моря погоды и начать предпринимать превентивные меры для защиты. Защищенные управляющие фреймы некоторое время были доступны в стандарте 802.11w, однако в большинстве устройств отключены по умолчанию. Если вы заинтересованы в защите от подобного рода атак, вам следует разобраться, как включить защищенные управляющие фреймы в настройках вашего роутера.

Надеюсь вам понравилось это руководство. По любым вопросам вы всегда можете связаться со мной в Твиттере @KodyKinzie.