07 Апр, 2023

Протокол интернет-управляющих сообщений (ICMP)

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

ICMP ( ICMP ) это протокол, который является частью пакета Internet Protocol (IP). Он используется для отправки сообщений об ошибках и оперативной информации о состоянии сети между сетевыми устройствами, такими как маршрутизаторы и хосты.

Полное описание ICMP - это “Протокол сообщений управления Интернетом”. Это протокол сетевого уровня, который используется сетевыми устройствами для связи друг с другом. Он предназначен для предоставления обратной связи о проблемах сети, таких как недоступные хосты или перегрузка сети.

Сообщения ICMP обычно генерируются автоматически сетевыми устройствами, такими как маршрутизаторы или брандмауэры. Некоторые распространенные сообщения ICMP включают запросы и ответы “ping”, которые используются для проверки доступности узла в сети.

Стандартные команды от неавторизованных пользователей

Ping Flood Attack: Эта атака включает в себя отправку большого количества эхо-запросов ICMP в целевую систему, в результате чего она перестает отвечать на законный трафик.

Ping of Death Attack: Эта атака включает в себя отправку слишком большого ICMP-пакета в целевую систему, что приводит к ее сбою или нестабильности.

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

Инструменты для использования протокола ICMP

Ручные Инструменты:

  • Ping: Один из самых основных и часто используемых инструментов для тестирования ICMP. Он отправляет пакет эхо-запроса ICMP на целевой хост и ожидает ответа.

  • Traceroute: Инструмент, используемый для отслеживания пути, который проходит ICMP-пакет от исходного хоста к конечному хосту. Он отправляет серию ICMP-пакетов с увеличивающимися значениями времени ожидания (TTL) и записывает IP-адреса маршрутизаторов, через которые проходят пакеты.

  • Hping: Инструмент командной строки, который может отправлять различные типы ICMP-пакетов, включая эхо-запросы и запросы временных меток. Он также может быть использован для отправки пакетов TCP / UDP и выполнения других функций тестирования сети.

  • Nmap: Популярный инструмент сканирования сети, который можно использовать для отправки ICMP-пакетов хостам и выполнения множества других сетевых тестов.

  • Netcat: Универсальная сетевая утилита, которую можно использовать для отправки и получения ICMP-пакетов, а также для выполнения множества других сетевых задач.

  • fping: Утилита ping, которая может отправлять несколько эхо-запросов ICMP одновременно и отображать результаты в формате списка.

  • Paping: Утилита ping, которая может выполнять более сложные измерения времени и производительности, чем стандартная утилита ping.

  • Smokeping: Веб-инструмент, который может отслеживать задержку в сети и потерю пакетов, отправляя ICMP-пакеты через регулярные промежутки времени.

  • Icmpsh: Инструмент, который позволяет удаленно выполнять команды через пакеты эхо-запросов ICMP и ответов. Его можно использовать для разведки сети и тестирования на проникновение.

Автоматизированные инструменты:

  • Zabbix: Средство мониторинга сети, которое может отправлять ICMP-пакеты хостам и предупреждать администраторов о возникновении сетевых проблем.

  • PRTG: Инструмент сетевого мониторинга, который может отправлять ICMP-пакеты хостам и выполнять другие сетевые тесты для мониторинга производительности и доступности.

  • Nagios: Популярный инструмент мониторинга сети, который может отправлять ICMP-пакеты хостам и предупреждать администраторов о возникновении проблем.

  • SolarWinds Network Performance Monitor: Комплексный инструмент мониторинга сети, который может отправлять ICMP-пакеты хостам и выполнять другие сетевые тесты для мониторинга производительности и доступности.

  • Spiceworks Network Monitor: Бесплатный инструмент мониторинга сети, который может отправлять ICMP-пакеты хостам и предупреждать администраторов о возникновении проблем.

  • Nmap Scripting Engine (NSE): Функция инструмента сканирования сети Nmap, которая позволяет пользователям писать пользовательские сценарии для отправки ICMP-пакетов и выполнения других сетевых тестов.

  • Wireshark: Анализатор сетевых протоколов, который может захватывать и анализировать ICMP-пакеты, а также другие типы сетевого трафика.

  • Scapy: Основанный на Python инструмент для тестирования сети и обработки пакетов, который может отправлять и получать ICMP-пакеты, а также другие типы сетевого трафика.

  • Netzob: Инструмент для обратного проектирования сетевых протоколов, который может быть использован для тестирования реализаций ICMP и анализа структуры пакетов.

  • Metasploit Framework: Популярный инструмент тестирования на проникновение, который включает эксплойты на основе ICMP для тестирования сетевой безопасности.

  • Cain and Abel: Средство тестирования сети на базе Windows, которое включает функции на основе ICMP для сканирования сети и тестирования на проникновение.

Последние пять известных CVE для ICMP

CVE-2023-23415 – Уязвимость протокола удаленного выполнения кода Internet Control Message Protocol (ICMP)

CVE-2023-22411 – Уязвимость для записи за пределы сети в демоне обработки потоков (flowd) Juniper Networks Junos OS позволяет злоумышленнику, не прошедшему проверку подлинности, на основе сети вызвать отказ в обслуживании (DoS). На устройствах серии SRX, использующих Унифицированные политики с IPv6, когда определенный пакет IPv6 проходит через динамический фильтр приложения, который генерирует сообщение об отказе ICMP, отслеживается ядро flowd и PFE перезапускается. Эта проблема затрагивает: Juniper Networks ОС Junos серии SRX: 19.2 версии до 19.2R3-S6; 19.3 версии до 19.3R3-S6; 19.4 версии до 19.4R3-S9; 20.2 версии до 20.2R3-S5; 20.3 версии до 20.3R3-S4; 20.4 версии до 20.4R3-S3; 21.1 версии до 21.1R3; 21.2 версии до 21.2R3; 21.3 версии до 21.3R2; 21.4 версии до 21.4R2.

CVE-2023-22391 – Уязвимость в управлении очередями класса обслуживания (CoS) в Juniper Networks ОС Junos на устройствах серии ACX2K позволяет злоумышленнику, не прошедшему проверку подлинности в сети, вызвать отказ в обслуживании (DoS). Определенные пакеты неправильно перенаправляются в очередь, используемую для другого высокоприоритетного трафика, такого как BGP, PIM, ICMP, ICMPV6 ND и ISAKMP. Из-за такой неправильной классификации трафика получение высокой скорости этих конкретных пакетов вызовет задержки в обработке другого трафика, что приведет к отказу в обслуживании (DoS). Продолжающийся прием такого объема трафика создаст состояние устойчивого отказа в обслуживании (DoS). Эта проблема затрагивает ОС Juniper Networks Junos на серии ACX2K: все версии до 19.4R3-S9; Все версии 20.2; версии 20.3 до 20.3R3-S6 на серии ACX2K; версии 20.4 до 20.4R3-S4 на серии ACX2K; Все версии 21.1; версии 21.2 до 21.2R3-S3 на серии ACX2K. Примечание: Эта проблема затрагивает устаревшие устройства на базе PPC серии ACX2K. Эта платформа достигла Последней поддерживаемой версии (LSV) с момента выпуска Junos OS 21.2.

CVE-2023-20051 – Уязвимость в векторном процессоре пакетов (VPP) Cisco Packet Data Network Gateway (PGW) может позволить удаленному злоумышленнику, не прошедшему проверку подлинности, остановить обработку ICMP-трафика через соединение IPSec. Эта уязвимость возникает из-за того, что VPP неправильно обрабатывает искаженный пакет. Злоумышленник может воспользоваться этой уязвимостью, отправив искаженный пакет инкапсулирующей полезной нагрузки безопасности (ESP) по соединению IPSec. Успешный эксплойт может позволить злоумышленнику остановить ICMP-трафик по IPSec-соединению и вызвать отказ в обслуживании (DoS).

CVE-2022-45434 – Некоторые программные продукты Dahua имеют уязвимость в виде не прошедших проверку подлинности нерегулируемых запросов ICMP на удаленном сервере DSS. После обхода политики контроля доступа брандмауэра, отправив определенный созданный пакет на уязвимый интерфейс, злоумышленник может использовать сервер-жертву для запуска атаки с запросом ICMP на указанный целевой хост.

Полезная информация

ICMP - это протокол третьего уровня (сетевого уровня) в семиуровневой модели OSI. Это помогает диагностировать проблемы с сетевым подключением или передачей данных между устройствами путем отправки, получения и обработки сообщений ICMP для сообщения о проблемах с подключением к исходному сетевому устройству.

ICMP - это протокол без установления соединения, используемый для целей управления сетью. Он не включает в себя связанные процессы, включающие установление и закрытие соединений, как это делает TCP, и ICMP не допускает целевых портов на устройствах.

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

ICMP - это протокол сообщения об ошибках, который сетевые устройства, такие как маршрутизаторы, используют для генерации сообщений об ошибках на исходный IP-адрес, когда сетевые проблемы препятствуют доставке IP-пакетов. 

Известные баннеры

  • ICMP Echo Request (Ping Request): Этот тип пакета ICMP обычно используется для проверки сетевого подключения между двумя устройствами. Он отправляет эхо-запрос целевому хосту и ожидает ответа. Если целевой хост отвечает, это указывает на наличие подключения между двумя устройствами.

  • ICMP Destination Unreachable: Этот тип ICMP-пакета отправляется маршрутизатором или другим сетевым устройством, чтобы указать, что оно не может доставить IP-пакет по назначению. Сообщение об ошибке может указывать на причину сбоя, такую как неизвестный хост, перегрузка сети или брандмауэр, блокирующий трафик.

  • ICMP Time Exceeded: Этот тип ICMP-пакета отправляется маршрутизатором или другим сетевым устройством, чтобы указать, что IP-пакет превысил свое значение времени ожидания (TTL) и был отброшен. В сообщении об ошибке может указываться количество переходов, при котором пакет был отброшен, что может помочь диагностировать проблемы с маршрутизацией.

  • ICMP Redirect: Этот тип ICMP-пакета отправляется маршрутизатором на устройство, чтобы сообщить ему, что существует лучший маршрут к месту назначения. Пакет содержит IP-адрес нового шлюза, который будет использоваться для назначения.

Книги для изучения ICMP 

ICMP by Beau Williamson: В этой книге подробно рассматривается протокол ICMP, включая его историю, структуру и использование для устранения неполадок в сети и управления ею.

TCP/IP Illustrated, Volume 1: The Protocols by W. Richard Stevens: Хотя эта классическая книга не посвящена конкретно ICMP, она подробно описывает набор протоколов TCP / IP, включая ICMP и его использование для управления сетью и устранения неполадок.

Practical Packet Analysis, Third Edition: Using Wireshark to Solve Real-World Network Problems by Chris Sanders: Эта книга посвящена использованию анализатора сетевых протоколов Wireshark для анализа и устранения неполадок в сети, включая проблемы, связанные с ICMP.

Computer Networking Problems and Solutions: An innovative approach to building resilient, modern networks by Russ White and Ethan Banks: В этой книге рассматривается ряд сетевых тем, включая ICMP и его использование для управления сетью и устранения неполадок.

Routing TCP/IP, Volume II: CCIE Professional Development by Jeff Doyle and Jennifer DeHaven Carroll: Эта книга предназначена для сетевых специалистов, готовящихся к сертификационному экзамену CCIE, и охватывает передовые сетевые темы, включая ICMP и его использование в управлении сетью и устранении неполадок.

Список полезной нагрузки для ICMP

  • ICMP Echo Request (Ping Request): Это сообщение содержит полезную нагрузку из произвольных данных, которые отправляются на целевой хост. Полезная нагрузка может быть использована для тестирования сетевого подключения или измерения задержки в сети.

  • ICMP Information Request: Это сообщение содержит полезную нагрузку, которая определяет тип запрашиваемой информации, такой как время на целевом хосте или его сетевая конфигурация.

  • ICMP Router Advertisement: Это сообщение содержит полезную нагрузку, которая определяет сетевой префикс и другую информацию о конфигурации маршрутизаторов в локальной сети.

  • ICMP Redirect: Это сообщение содержит полезную нагрузку, которая указывает IP-адрес нового шлюза, который будет использоваться для назначения.

  • ICMP Address Mask Request: Это сообщение содержит полезную нагрузку, которая определяет маску подсети для сети целевого хоста.

Смягчение последствий

  1. Одним из простейших способов смягчения последствий ICMP-атак является фильтрация ICMP-трафика на границе сети с помощью брандмауэра или системы предотвращения вторжений (IPS). Это может быть сделано путем блокирования определенных типов ICMP-сообщений или ограничения скорости ICMP-трафика.

  2. Другая стратегия заключается в ограничении скорости ICMP-трафика, которому разрешен вход в сеть. Это может помочь предотвратить атаки ICMP flood, которые перегружают сеть большим объемом ICMP-трафика.

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

  4. Системы обнаружения и предотвращения сетевых вторжений (IDS / IPS) могут помочь обнаруживать и блокировать атаки, которые злоупотребляют ICMP. Эти системы могут быть настроены на оповещение администраторов или автоматическое блокирование трафика, соответствующего определенным критериям.

  5. Мониторинг трафика ICMP может помочь выявить необычные закономерности или всплески трафика, которые могут указывать на атаку. Сетевые администраторы могут использовать такие инструменты, как Wireshark или tcpdump, для сбора и анализа ICMP-трафика.

Заключение

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

Хотя ICMP является важным протоколом, он также может быть использован для вредоносных целей, таких как DoS-атаки. Чтобы снизить риски, связанные с атаками на основе ICMP, сетевые администраторы могут использовать различные методы, включая фильтрацию ICMP-трафика, ограничение скорости ICMP-трафика и использование систем IDS / IPS для обнаружения и блокирования атак.

Другие Услуги

Готовы к безопасности?

Связаться с нами