Ques/Help/Req Tunnels Nightmare. Используем провайдерские протоколы для пивотинга

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
В современном стеке протоколов TCP/IP есть множество протоколов туннелирования. Обычно они используются для расширения сетей продакшена, построения инфраструктуры. Но в моем исследовании я буду использовать их как пентестерский инструмент.

Pivoting — это комплекс мероприятий, в рамках которого атакующий эскалирует свое присутствие в сети. Пивотинг — это часть постэксплуатации, то есть действий после получения первичного доступа к системе. Существует множество способов пивотинга, но в моем ресерче речь пойдет именно о протоколах туннелирования, то есть сценарии, где атакующий продвигается по сети с помощью технологий туннелирования. В этой статье я продемонстрирую пивотинг на уровнях L2 и L3.

warning​


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

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



TUN vs. TAP​


Для туннельного пивотинга используются специальные виртуальные сетевые драйверы. Различают два вида VPN-интерфейсов:

  • TUN — виртуальный сетевой драйвер, который используется для построения L3-туннелей. Работает на сетевом уровне, оперируя IP-пакетами;
  • TAP — виртуальный сетевой драйвер, который эмулирует Ethernet. Работает на канальном уровне, оперируя Ethernet-кадрами.

Если атакующий стремится перемещаться по подсетям во время пивотинга, скорее всего, он будет использовать драйвер TUN, однако, если атакующий нуждается в проведении атак канального уровня, ему необходим именно TAP-интерфейс, именно L2-туннель. Пентестер может спросить: «А почему у меня не работает Responder? Туннель же есть». Но на практике не все так просто, и необходимо учитывать свои потребности в плане проведения атак. Оба этих драйвера будут участвовать здесь на протяжении всей статьи.



Осторожность при адресации на TAP-интерфейсе​


При работе с целевой сетью через TAP будь осторожен с получением адреса на TAP-интерфейс с помощью DHCP. По DHCP может прилететь новая информация о шлюзе по умолчанию, что иногда приводит к разрыву сетевой связности. Как только ты запустишь dhclient, второй командой удаляй новый маршрут по умолчанию:

sudo dhclient -v tap0; sudo route del default

GRE (L3)​


GRE (Generic Routing Encapsulation) — одно из самых популярных решений при построении туннелей site-to-site между организациями. Это самостоятельный протокол, имеющий собственный заголовок и не опирающийся на TCP/UDP. Разработан инженерами Cisco, но поддерживается всеми вендорами. Его главный принцип работы — это инкапсуляция полезной нагрузки, позволяющая достичь адресата. В основе его работы лежит три сущности:

  • GRE-заголовок — содержит разные параметры и идентификатор инкапсулируемого протокола;
  • Delivery-заголовок — содержит адреса источника и назначения, при этом используются публичные адреса из интернета (согласно конфигурации на пограничных маршрутизаторах), по факту выполняет функцию доставки данных;
  • пассажир — непосредственно сами данные.

GRE можно использовать как инструмент пивотинга, позволяющий атакающему получить доступ к подсети на уровне L3. Целевыми устройствами могут быть:

  • пограничный маршрутизатор (например, Cisco IOS или RouterOS);
  • взломанный сервер на Linux.

Я покажу пример именно с пограничным роутером Cisco, хотя сама концепция настройки GRE глобально не меняется. Дизайн лабораторной сети для демонстрации техник — на диаграмме ниже.

Лабораторная сеть

Это простой пример для демонстрации. Атакующий и пограничный роутер здесь имеют белые адреса, а за самим роутером находятся три VLAN-сегмента:

  • 10.10.200.0/24;
  • 10.10.220.0/24;
  • 10.10.240.0/24.

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

Присоединяйся к сообществу «Xakep.ru»!​


Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

-60%

1 год​


9990 рублей 4000 р.


[TD]

1 месяц​


920 р.
[/TD]

Я уже участник «Xakep.ru»
 
198 114Темы
635 085Сообщения
3 618 401Пользователи
EeOneНовый пользователь
Верх