Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В современном стеке протоколов TCP/IP есть множество протоколов туннелирования. Обычно они используются для расширения сетей продакшена, построения инфраструктуры. Но в моем исследовании я буду использовать их как пентестерский инструмент.
Pivoting — это комплекс мероприятий, в рамках которого атакующий эскалирует свое присутствие в сети. Пивотинг — это часть постэксплуатации, то есть действий после получения первичного доступа к системе. Существует множество способов пивотинга, но в моем ресерче речь пойдет именно о протоколах туннелирования, то есть сценарии, где атакующий продвигается по сети с помощью технологий туннелирования. В этой статье я продемонстрирую пивотинг на уровнях L2 и L3.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Все эти методики скорее экзотические, однако я покажу, в каких случаях их можно использовать в сетях продакшена. Учти, что эти техники требуют именно прав администратора на скомпрометированных машинах, так как без этого не получится напрямую взаимодействовать с сетевыми интерфейсами и настройками туннелей.
Для туннельного пивотинга используются специальные виртуальные сетевые драйверы. Различают два вида VPN-интерфейсов:
Если атакующий стремится перемещаться по подсетям во время пивотинга, скорее всего, он будет использовать драйвер TUN, однако, если атакующий нуждается в проведении атак канального уровня, ему необходим именно TAP-интерфейс, именно L2-туннель. Пентестер может спросить: «А почему у меня не работает Responder? Туннель же есть». Но на практике не все так просто, и необходимо учитывать свои потребности в плане проведения атак. Оба этих драйвера будут участвовать здесь на протяжении всей статьи.
При работе с целевой сетью через TAP будь осторожен с получением адреса на TAP-интерфейс с помощью DHCP. По DHCP может прилететь новая информация о шлюзе по умолчанию, что иногда приводит к разрыву сетевой связности. Как только ты запустишь dhclient, второй командой удаляй новый маршрут по умолчанию:
sudo dhclient -v tap0; sudo route del default
GRE (Generic Routing Encapsulation) — одно из самых популярных решений при построении туннелей site-to-site между организациями. Это самостоятельный протокол, имеющий собственный заголовок и не опирающийся на TCP/UDP. Разработан инженерами Cisco, но поддерживается всеми вендорами. Его главный принцип работы — это инкапсуляция полезной нагрузки, позволяющая достичь адресата. В основе его работы лежит три сущности:
GRE можно использовать как инструмент пивотинга, позволяющий атакающему получить доступ к подсети на уровне L3. Целевыми устройствами могут быть:
Я покажу пример именно с пограничным роутером Cisco, хотя сама концепция настройки GRE глобально не меняется. Дизайн лабораторной сети для демонстрации техник — на диаграмме ниже.
Лабораторная сеть
Это простой пример для демонстрации. Атакующий и пограничный роутер здесь имеют белые адреса, а за самим роутером находятся три VLAN-сегмента:
В этом сценарии атакующий построит GRE-туннель между собой и пограничным роутером, а затем сквозь сам роутер поверх GRE-туннеля сможет взаимодействовать с тремя сегментами и расширить свое присутствие в сети.
Источник: xakep.ru