В этой статье мы рассмотрим фильтры отображения Wireshark и посмотрим, как их использовать для обнаружения различных сетевых атак в Wireshark.
Мы собираемся рассмотреть ряд сценариев, обычно выполняемых злоумышленниками, таких как различные методы обнаружения хостов, методы сканирования сетевых портов, различные сетевые атаки, такие как отказ в обслуживании, и атаки на беспроводные сети.
Цель этой статьи — предоставить список действенных и практических методов обнаружения этих сетевых атак с помощью фильтров Wireshark.
Выявление обнаруженого хоста (разведка)
Этот раздел содержит фильтры Wireshark, которые могут помочь выявить злоумышленников, пытающихся найти действующие системы в нашей сети.
Используя эти фильтры, мы должны иметь возможность обнаруживать различные сканирования сетевого обнаружения, тесты ping и другие вещи, которые обычно выполняются на этапе исследования (обнаружение активов).
Вот сводная таблица с более подробной информацией ниже:
Technique | Wireshark Filter | Command / Tool |
---|---|---|
ARP scanning | arp.dst.hw_mac==00:00:00:00:00:00 | arp-scan -l |
IP protocol scan | icmp.type==3 and icmp.code==2 | nmap -sO <target> |
ICMP ping sweep | icmp.type==8 or icmp.type==0 | nmap -sn -PE <subnet> |
TCP ping sweeps | tcp.dstport==7 | nmap -sn -PS/-PA <subnet> |
UDP ping sweeps | udp.dstport==7 | nmap -sn -PU <subnet> |
ARP сканирование
Вот фильтр Wireshark для определения сканирования ARP (метод обнаружения хоста на уровне 2):
arp.dst.hw_mac==00:00:00:00:00:00
Так выглядит сканирование ARP в Wireshark:
Во время сканирования ARP злоумышленник обычно отправляет большое количество широковещательных запросов ARP (ff: ff: ff: ff: ff: ff), направленных на MAC-адрес 00: 00: 00: 00: 00: 00, чтобы узнать действующие IP-адреса в локальной сети. Обычно мы видим что-то вроде этого:
Who has 192.168.0.1? Tell 192.168.0.53
Who has 192.168.0.2? Tell 192.168.0.53
Who has 192.168.0.3? Tell 192.168.0.53
Who has 192.168.0.4? Tell 192.168.0.53
Who has 192.168.0.5? Tell 192.168.0.53
В этом случае злоумышленник имеет IP-адрес 192.168.0.53.
Если мы видим множество этих ARP-запросов, запрашивающих множество разных IP-адресов за короткий период времени, вполне вероятно, что кто-то пытается обнаружить действующие IP-адреса в нашей сети с помощью ARP-сканирования (например, запустив arp-scan -l) …
Сканирование протокола IP
Вот фильтр Wireshark для идентификации сканирования IP-протокола:
icmp.type==3 and icmp.code==2
Так выглядит сканирование IP-протокола в Wireshark:
Сканирование IP-протокола — это метод, который позволяет злоумышленнику узнать, какие сетевые протоколы поддерживаются целевой операционной системой (например, запустив nmap -sO _1_).
При сканировании IP-протокола мы, скорее всего, увидим много сообщений ICMP типа 3 (адресат недоступен) с кодом 2 (протокол недоступен), поскольку злоумышленник обычно отправляет большое количество пакетов с разными номерами протоколов.
При сканировании IP-протокола мы, скорее всего, увидим много сообщений ICMP типа 3 (адресат недоступен) с кодом 2 (протокол недоступен), поскольку злоумышленник обычно отправляет большое количество пакетов с разными номерами протоколов.
При сканировании IP-протокола мы, скорее всего, увидим много сообщений ICMP типа 3 (адресат недоступен) с кодом 2 (протокол недоступен), поскольку злоумышленник обычно отправляет большое количество пакетов с разными номерами протоколов.
Проверка связи ICMP
Вот фильтр Wireshark для обнаружения пакетов ping ICMP (метод обнаружения хоста на уровне 3):
icmp.type==8 or icmp.type==0
Так выглядит очистка ICMP ping в Wireshark:
С помощью этого фильтра мы фильтруем эхо-запросы ICMP (тип 8) или эхо-ответы ICMP (тип 0).
Если мы видим слишком много таких пакетов за короткий промежуток времени, нацеленных на множество разных IP-адресов, то, вероятно, мы видим эхо-запросы ICMP. Кто-то пытается определить все действующие IP-адреса в нашей сети (например, запустив nmap -sn -PE <subnet>).
Проверка связи TCP
Вот фильтр Wireshark для обнаружения пакетов TCP ping (метод обнаружения хоста на уровне 4):
tcp.dstport==7
Вот как выглядит очистка TCP ping в Wireshark:
TCP ping обычно использует порт 7 (эхо). Если мы видим, что больше этого трафика направляется на множество разных IP-адресов, это означает, что кто-то, вероятно, выполняет проверку связи TCP, чтобы найти активные хосты в сети (например, запустив nmap -sn -PS / -PA <subnet>).
UDP ping развертки
Вот фильтр Wireshark для обнаружения пакетов ping UDP (метод обнаружения хоста на уровне 4):
udp.dstport==7
Вот как выглядит очистка UDP ping в Wireshark:
Подобно TCP, UDP ping обычно использует порт 7 (эхо). Если большой объем такого трафика направляется на множество разных IP-адресов, это означает, что кто-то, вероятно, выполняет пинг UDP, чтобы найти активные хосты в сети (например, запустив nmap -sn -PU <subnet>).
Обнаружение сканирования сетевых портов
В этом разделе содержатся полезные фильтры Wireshark для идентификации различных сканирований сетевых портов, сканирования портов и т. д.Вот сводная таблица с более подробной информацией ниже:
Technique | Wireshark Filter | Command / Tool |
---|---|---|
TCP SYN scan | tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size<=1024 | nmap -sS <target> |
TCP Connect() scan | tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size>1024 | nmap -sT <target> |
TCP Null scan | tcp.flags==0 | nmap -sN <target> |
TCP FIN scan | tcp.flags==0x001 | nmap -sF <target> |
TCP Xmass scan | tcp.flags.fin==1 && tcp.flags.push==1 && tcp.flags.urg==1 | nmap -sX <target> |
UDP port scan | icmp.type==3 and icmp.code==3 | nmap -sU <target> |
TCP SYN / скрытое сканирование
Вот фильтр Wireshark для обнаружения TCP SYN / сканирования скрытых портов, также известного как TCP Half-Open Scan:
tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size <= 1024
Вот как выглядит сканирование TCP SYN в Wireshark:
В этом случае мы фильтруем TCP-пакеты с помощью:
-
-
- Установлен флаг SYN
- Флаг ACK не установлен
- Размер окна <= 1024 байта
-
По сути, это первый шаг в трехстороннем TCP-согласовании (начало любого TCP-соединения) с очень маленьким размером окна TCP.
В частности, небольшой размер окна является характерным параметром, используемым такими инструментами, как nmap или massscan во время сканирования SYN, что указывает на то, что данных будет очень мало или вообще не будет.
Если мы видим слишком много таких пакетов за короткое время, скорее всего, кто-то делает:
-
-
- SYN-сканирование в нашей сети (например, путем запуска nmap -sS <target>)
- Порт SYN просматривает сеть (например, запустив nmap -sS -pXX <subnet>)
- SYN-флуд (метод отказа в обслуживании)
-
TCP Connect () сканирование
Вот фильтр Wireshark для обнаружения сканирования портов TCP Connect ():
tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size > 1024
Вот как выглядит сканирование TCP Connect () в Wireshark:
В этом случае мы фильтруем TCP-пакеты с помощью:
-
-
- Установлен флаг SYN
- Флаг ACK не установлен
- Размер окна> 1024 байта
-
Единственное отличие от сканирования SYN — это больший размер окна TCP, который указывает на то, что стандартное TCP-соединение фактически ожидает передачи некоторых данных.
Если мы видим слишком много таких пакетов за короткий промежуток времени, скорее всего, кто-то делает:
-
-
- Сканирование портов в нашей сети (например, путем запуска nmap -sT <target>)
- Порт просматривает сеть (например, запустив nmap -sT -pXX <subnet>)
-
TCP Null сканирование
Вот фильтр Wireshark для определения сканирования TCP Null:
tcp.flags==0
Вот как выглядит сканирование TCP Null в Wireshark:
TCP Null сканирование работает путем отправки пакетов без установленных флагов. Это потенциально может проникнуть в некоторые брандмауэры и обнаружить открытые порты.
Если мы видим такие пакеты в нашей сети, вероятно, кто-то выполняет сканирование TCP null (например, запустив nmap -sN <target>).
TCP FIN сканирование
Вот фильтр Wireshark для определения сканирования TCP FIN:
tcp.flags==0x001
Вот как выглядит сканирование TCP FIN в Wireshark:
Сканирование TCP FIN отличается тем, что отправляет только пакеты с установленным флагом FIN. Это может (все еще) потенциально проникнуть в некоторые брандмауэры и обнаружить открытые порты.
Если мы видим слишком много таких пакетов в нашей сети, вероятно, кто-то выполняет сканирование TCP FIN (например, запускает nmap -sF <target>
).
TCP Xmass сканирование
Вот фильтр Wireshark для обнаружения сканирования TCP Xmass:
tcp.flags.fin==1 && tcp.flags.push==1 && tcp.flags.urg==1
Вот как выглядит сканирование TCP Xmass в Wireshark:
Сканирование TCP Xmass работает путем отправки пакетов с установленными флагами FIN, PUSH и URG. Это еще один метод проникновения в некоторые брандмауэры для обнаружения открытых портов.
Если мы видим такие пакеты в нашей сети, вероятно, кто-то запускает сканирование TCP Xmass (например, запускает nmap -sX <target>).
Сканирование порта UDP
Вот фильтр Wireshark для определения сканирования UDP-портов:
icmp.type==3 and icmp.code==3
Вот как выглядит сканирование UDP-порта в Wireshark:
Хорошим индикатором продолжающегося сканирования порта UDP является большое количество пакетов ICMP в нашей сети, а именно ICMP типа 3 (пункт назначения недоступен) с кодом 3 (порт недоступен). Эти конкретные сообщения ICMP указывают на то, что удаленный порт UDP закрыт.
Если мы видим большое количество этих пакетов в нашей сети за короткий промежуток времени, это, скорее всего, означает, что кто-то сканирует порт UDP (например, запускает nmap -sU <target>).
Обнаружение сетевых атак
Этот раздел содержит фильтры Wireshark, полезные для выявления различных сетевых атак, таких как атаки с отравлением, лавинная рассылка, надежда на VLAN и т. д.
Вот сводная таблица с более подробной информацией ниже:
Technique | Wireshark Filter | Command / Tool |
---|---|---|
ARP poisoning | arp.duplicate-address-detected or arp.duplicate-address-frame | arpspoof, ettercap |
ICMP flood | icmp and data.len > 48 | fping, hping |
VLAN hoping | dtp or vlan.too_many_tags | frogger, yersinia |
Unexplained packet loss | tcp.analysis.lost_segment or tcp.analysis.retransmission | n/a |
ARP отравление
Вот фильтр Wireshark для обнаружения отравления ARP:
arp.duplicate-address-detected or arp.duplicate-address-frame
Этот фильтр отобразит любые вхождения одного и того же IP-адреса, необходимого более чем для одного MAC-адреса. Эта ситуация, скорее всего, указывает на то, что в нашей сети происходит отравление ARP.
ARP Poisoning (также известный как ARP Spoofing) — это метод, используемый для перехвата сетевого трафика между маршрутизатором и другими клиентами в локальной сети. Это позволяет злоумышленнику выполнять атаки типа «человек посередине» (MitM) на соседние компьютеры в локальной сети с помощью таких инструментов, как arpspoof, ettercap и других.
ICMP флуд
Вот как с помощью фильтра Wireshark обнаружить наводнение ICMP (метод отказа в обслуживании):
icmp and data.len > 48
Вот так выглядит атака ICMP flood в Wireshark:
Типичный стандартный ICMP ping отправляет пакеты с 32 байтами данных (команда ping в Windows) или 48 байтами (команда ping в Linux).
Когда кто-то выполняет ICMP-флуд, он обычно отправляет гораздо больший объем данных, поэтому здесь мы фильтруем все ICMP-пакеты с данными размером более 48 байт. Это эффективно обнаружит любой ICMP-поток независимо от типа или кода ICMP.
Злоумышленники часто используют такие инструменты, как fping или hping, для выполнения ICMP-лавинной рассылки.
Надежда на VLAN
Вот фильтр Wireshark для обнаружения надежды VLAN на сеть:
dtp or vlan.too_many_tags
Вот как выглядит атака с надеждой на VLAN в Wireshark:
Hope for VLAN — это метод обхода контроля доступа к сети (NAC), который часто используется злоумышленниками, пытающимися получить доступ к различным VLAN путем неправильной настройки коммутаторов Cisco.
Верным индикатором надежды VLAN является наличие пакетов DTP или пакетов, отмеченных несколькими тегами VLAN.
Если мы видим такие пакеты в нашей сети, возможно, кто-то пытается выполнить VLAN в надежде использовать, например, утилиты frogger или yersinia.
Необъяснимая потеря пакетов
Вот фильтр для обнаружения потери пакетов в сети:
tcp.analysis.lost_segment or tcp.analysis.retransmission
Если мы видим много повторных передач пакетов и разрывы в сетевом соединении (потерянные пакеты), это может указывать на серьезную проблему в сети, возможно, вызванную атакой отказа в обслуживании.
Такая ситуация в Wireshark, безусловно, заслуживает дальнейшего изучения.
Обнаружение атак на беспроводные сети
Этот раздел содержит фильтры Wireshark, полезные для обнаружения различных атак на беспроводные сети, таких как деаутентификация, выход из системы, лавинная рассылка или аутентифицированный отказ в обслуживании.
Вот сводная таблица с более подробной информацией ниже:
Technique | Wireshark Filter | Command / Tool |
---|---|---|
Client deauthentication | wlan.fc.type_subtype == 12 | aireplay-ng, mdk3, mdk4 |
Client disassociation | wlan.fc.type_subtype == 10 | mdk3, mdk4 |
Fake AP beacon flood | wlan.fc.type_subtype == 8 | mdk3, mdk4 |
Authentication DoS | wlan.fc.type_subtype == 11 | mdk3, mdk4 |
Деаутентификация клиента
Вот фильтр Wireshark для обнаружения фреймов деаутентификации в беспроводных сетях:
wlan.fc.type_subtype == 12
Вот как выглядит атака беспроводной деаутентификации в Wireshark:
Присутствие в эфире фреймов типа 12 (деаутентификация), вероятно, указывает на то, что злоумышленник пытается деаутентифицировать других клиентов в сети, чтобы заставить их повторно пройти аутентификацию и, следовательно, собрать (прослушать) рукопожатия четыре WPA / Обмен полосами WPA2 который произошел при повторной аутентификации.
Это хорошо известный метод взлома беспроводных сетей PSK (Pre-shared Key). Как только злоумышленник собирает 4-стороннее рукопожатие WPA, он может попытаться взломать его и, таким образом, получить пароль в открытом виде и получить доступ к сети.
Более подробную информацию об атаках деаутентификации можно найти здесь.
Диссоциация клиента
Вот фильтр Wireshark для обнаружения фреймов диссоциации в беспроводных сетях:
wlan.fc.type_subtype == 10
Вот как выглядит атака беспроводной диссоциации в Wireshark:
Атака диссоциации — это еще один тип атаки на беспроводные сети на основе PSK, который работает против WPA / WPA2. Идея этой атаки заключается в том, что злоумышленник отправляет 10 (отключение) кадров, которые отключают всех клиентов от целевой точки доступа.
Для злоумышленника может быть даже более эффективным собирать 4-сторонние рукопожатия. Злоумышленник может (снова) попытаться взломать один из них и, возможно, получить пароль в открытом виде и получить доступ к сети.
Этот тип атаки может быть выполнен с помощью таких инструментов, как mdk3 или mdk4 (например, запустив mdk4 wlan0mon d).
Вот фильтр Wireshark для обнаружения лавинной рассылки ложных AP-маяков в беспроводных сетях:
wlan.fc.type_subtype == 8
Вот как в Wireshark выглядит атака наводнения беспроводных AP-маяков:
Идея этой атаки состоит в том, чтобы заполнить территорию случайными фальшивыми маяками. Это может вызвать прерывание связи (перегрузку) в зоне или отказ некоторых клиентов (отказ в обслуживании).
Если мы видим большое количество различных кадров маяков за короткий период времени, возможно, кто-то затопляет маяки в этой области.
Такую атаку можно провести с помощью таких инструментов, как mdk3 или mdk4 (например, запустив mdk4 wlan0mon b).
Отказ в обслуживании аутентификации
Вот фильтр Wireshark для обнаружения атак типа «отказ в обслуживании» с аутентификацией в беспроводных сетях:
wlan.fc.type_subtype == 11
Вот так выглядит DoS-атака беспроводной аутентификации в Wireshark:
Этот тип атаки работает путем переполнения точек беспроводного доступа в области множеством фреймов типа 11 (аутентификация), по сути имитируя большое количество клиентов, пытающихся пройти аутентификацию в одно и то же время. Это может привести к перегрузке некоторых точек доступа и их потенциально зависанию или сбросу, а также к нарушению связи (помехам) в области.
Если мы видим большое количество кадров типа 11 за короткий промежуток времени, кто-то может выполнять лавинную аутентификацию в этой области.
Этот тип атаки может быть осуществлен с помощью таких инструментов, как mdk3 или mdk4 (например, запустив mdk4 wlan0mon a).
Вывод
Wireshark — очень мощный инструмент для анализа компьютерных сетей. Огромное количество анализаторов протоколов и возможностей фильтрации позволяет нам легко обнаруживать, визуализировать и изучать множество различных аспектов компьютерных сетей, а не только с точки зрения кибербезопасности.
1 comments On Обнаружение сетевых атак с помощью Wireshark
Очень хорошая статья, без лишних слов, все по делу.
Автор спасибо!