ICMP-туннелирование или Ping Power | OTUS

ICMP-туннелирование или Ping Power

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

Internet Control Message Protocol (ICMP) — это вспомогательный протокол стека TCP/IP, используемый сетевыми устройствами в целях отправки информации о работе и сообщений об ошибках. Наиболее известное и популярное ICMP-сообщение — ping.

Отправка ping осуществляется от одного узла в сети к другому. Сам по себе он состоит из заголовков второго и третьего уровней (речь идет о MAC и IP-заголовках, определенных OSI-моделью), а также специального ICMP-пакета. На практике отправляющий узел определяет параметры адресата и, если сообщение до этого адресата дойдет, узел отправит его обратно:

1_r3Vun5KPHe7ktYPpvVaPrg_1-1801-9cde06.png

Вот как выглядит IP-датаграмма ping-пакета:

1_DJZez6oQhbC_pOYDgVfRTg_1-1801-8932a6.png

Идем дальше. ICMP-туннелирование мы можем выполнить, поместив в данные полезной нагрузки лишь то, что желаем отправить. Как правило, по дефолту полезная нагрузка содержит что-то типа ASCII-строки  «abcdefghijklmnopqrstuvwabcdefghi»:

1_DhqCSKkCHl8Lu_RwGWWP8A_1-1801-34449d.png

При этом инкапсуляция HTTP-пакета в полезную нагрузку нередко применяется в целях обхода платного Wi-Fi. Возможно такое и посредством прокси-сервера, ожидающего ping-сообщения и отсылающего эти сообщения по мере надобности (к примеру, в HTTP-форме).

Что же, давайте рассмотрим пример использования ICMP-туннеля:

1_yNNoRhB3taQLoGroWGSelw_1-1801-7d5b79.png

  1. Посредством нужных инструментов типа ptunnel выполняем инкапсуляцию HTTP-пакета, который мы желаем отправить в Google в составе ping-пакета, то есть внутри полезной нагрузки. Далее выполняем его отправку по IP прокси-сервера.
  2. Как известно, роутеры в аэропорту нередко позволяют отправлять ICMP-трафик за пределы сети, следовательно, роутер без проблем доставит ping-сообщение на прокси-сервер.
  3. В итоге прокси-сервер получит ping-пакет и разобьет его на 2 части:

а) ICMP-заголовки; b) полезную нагрузку с исходным HTTP-сообщением.

При этом важно понимать, что  IP-адрес отправителя HTTP-пакета (адрес, который прокси отправляет Google), должен быть одновременно и IP-адресом самого прокси-сервера, а не вашего компьютера либо роутера аэропорта, ведь Google должен ответить как раз прокси, а не вам.

Источник: https://infosecwriteups.com/ping-power-icmp-tunnel-31e2abb2aaea.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто