Содержание статьи
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-туннеля сможет взаимодействовать с тремя сегментами и расширить свое присутствие в сети.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»