open atlas
↑ К треку
Наступательная безопасность RED · 03 · 04

Пивотинг и латеральное движение

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

RED Senior ◷ 18 min
Уровень
ОсновыJuniorMiddleSenior

Всё здесь — только для лаборатории и с авторизацией. Туннелировать через взломанную машину к хостам, которые тебя не просили трогать, или переиспользовать собранные учётки, чтобы залогиниться на другие системы, — ровно та активность, которую scope (область) проекта существует, чтобы ограничивать: сделай это вне письменной области и в сети, которой не владеешь, — и это несанкционированный доступ, преступление в большинстве юрисдикций независимо от намерения. Поднимай это в изолированной лаборатории, на CTF-полигоне или во внутреннем проекте с подписанными rules-of-engagement, где названы сегменты и переиспользование учёток, которые тебе разрешено пробовать. Мы учим механизму, чтобы защитник увидел ровно то место, где цепочка рвётся, — потому что тот же приём, что выигрывает для атакующего, твоя архитектура и должна сделать бесполезным.

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

Плацдарм — это ещё не пробой

Когда атакующий впервые попадает на машину — уязвимый веб-сервер, фишнутый ноутбук, открытый наружу Jenkins, — у него почти никогда нет того, за чем он на самом деле пришёл. Жемчужины короны (база данных, контроллер домена, хранилище секретов) живут в другом месте, обычно в другом сегменте сети, до которого исходный хост дотягивается, а интернет — нет. Вся середина реального вторжения — это путь от плацдарма к цели. MITRE ATT&CK называет эту тактику целиком Lateral Movement (TA0008), и именно здесь сдержанный инцидент превращается в гибель компании.

Под этим зонтиком есть два разных приёма, и смешивать их — самая частая ошибка джуниора:

  • Пивотинг — это сетевой приём. Скомпрометированный хост становится ретранслятором: атакующий туннелирует трафик через него, чтобы достать системы, до которых не может дотянуться напрямую. Его инструменты по-прежнему работают на его собственной машине; взломанная коробка просто пересылает пакеты. Так атакующий на публичном веб-сервере добирается до частной подсети с базой данных позади него.
  • Латеральное движение — это приём личности. Атакующий использует учётки, токены, ключи или доверительные связи, собранные с плацдарма, чтобы аутентифицироваться на других хостах как легитимный пользователь. Никакой эксплойт не срабатывает — он просто логинится. Так один набор закэшированных админских учёток становится всем парком машин.

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

Пивотинг: превращение хоста в ретранслятор

Определяющее свойство пивота в том, что он не стоит атакующему ни одной новой учётки — это чистая доступность. Скажем, плацдарм — это веб-сервер в DMZ, который по замыслу может общаться с внутренней подсетью приложения (он обязан — он отдаёт это приложение). Атакующий не может маршрутизироваться до этой подсети из интернета, а веб-сервер может. Поэтому он превращает веб-сервер в прокси: SOCKS-туннель, проброс порта по SSH или обратное соединение к своей инфраструктуре. Теперь каждый инструмент на ноутбуке атакующего — сканеры, клиенты, эксплойт-фреймворки — достаёт внутреннюю подсеть так, будто атакующий сидит на коробке в DMZ, потому что с точки зрения сети он там и есть.

Вот почему плоские сети — катастрофа. Если каждый хост может дотянуться до любого другого по полезному порту, то один плацдарм даёт атакующему прямую видимость до всего; пивотинг тривиален, потому что не вокруг чего пивотить. Защитное свойство, ломающее это, — сегментация: разбей сеть на зоны с явными правилами доступа по принципу наименьших привилегий между ними, чтобы веб-сервер в DMZ мог дотянуться только до того единственного порта приложения, который ему действительно нужен, и больше ни до чего. Теперь пивот через него покупает атакующему доступ к одному жёстко ограниченному сервису вместо всего хозяйства — ретранслятор всё ещё работает, но ретранслирует в стену.

Латеральное движение: переиспользование личности, а не эксплойтов

Тревожное в реальном латеральном движении — насколько мало оно похоже на взлом. Получив админа на одном Windows-хосте, атакующий часто может прочитать учётный материал прямо из памяти или локального хранилища секретов, а затем переиспользовать его для аутентификации в другом месте — и самая страшная форма этого — pass-the-hash. В Windows-аутентификации NTLM серверу никогда не нужен пользовательский пароль в открытом виде: он принимает криптографический хеш пароля как доказательство личности. Поэтому атакующий, укравший с одной машины NTLM-хеш привилегированной учётки, может предъявить этот хеш напрямую другой машине и аутентифицироваться как тот пользователь — ни разу не взломав пароль. Хеш и есть учётка. Ничего не взломать, ничего не фишить — просто повторить секрет.

Вот почему переиспользование учёток — это множитель, превращающий один хост в тысячу. Классическая катастрофа — единый пароль локального администратора, общий для всех рабочих станций парка: ломаешь одну машину, собираешь этот хеш — и можешь сделать pass-the-hash на любую другую машину с тем же паролем. Та же форма встречается везде вне Windows — долгоживущий облачный ключ доступа на билд-сервере, SSH-приватный ключ без парольной фразы, токен сервисной учётки, примонтированный в под и валидный на весь кластер. Паттерн идентичен: секрет с широкой областью и долгим сроком, закэшированный там, где его прочтёт атакующий, владеющий хостом.

Защитное свойство — гигиена личности, и она атакует переиспользование напрямую: уникальные локальные учётки на каждый хост (чтобы украденный хеш открывал ровно одну коробку — Microsoft LAPS существует именно для этого), короткоживущие и узко ограниченные токены вместо долгоживущих широких ключей, никаких привилегированных учёток, закэшированных на низкодоверенных машинах, и фишинг-устойчивый MFA, чтобы одного повторённого секрета было недостаточно для аутентификации. Соедини это с сегментацией — и оба приёма атакующего голодают: некуда полезно пивотить и нечего переиспользовать, чтобы двигаться.

Почему это работает

Почему pass-the-hash вообще работает — разве хеш не должен быть безопасной для хранения вещью? Тонкость в том, что хеш односторонний лишь по отношению к восстановлению пароля. Но NTLM использует сам хеш как секрет аутентификации в обмене запрос-ответ, поэтому для целей входа обладание хешем эквивалентно обладанию паролем — его никогда не нужно обращать. Это и есть тот изъян проекта, который эксплуатирует атака: система считает «знает хеш» и «знает пароль» одним и тем же доказательством. Современные меры защиты не пытаются сделать хеш неукрадываемым; они делают украденный секрет бесполезным на второй машине (уникальные учётки на хост) или недостаточным сам по себе (второй, фишинг-устойчивый фактор). Зрелый рефлекс: считай любой секрет, закэшированный на хосте, которому ты не полностью доверяешь, уже в руках атакующего, и проектируй так, чтобы обладание им не давало доступности.

Как защитник рассуждает обо всём классе

Зрелый ход — перестать оборонять периметр так, будто попадание на один хост и есть поражение, и вместо этого предполагать пробой: принять как данность, что какой-то хост будет взломан, и спросить «что этот один плацдарм реально позволяет достать и кем стать?». У этого вопроса ровно два ответа, которые надо атаковать. Сегментация ограничивает доступность — сетевые пути по наименьшим привилегиям, чтобы ретранслятор ретранслировал в стену, а не во всё хозяйство. Гигиена личности ограничивает становление — уникальные, короткоживущие, узко ограниченные учётки, чтобы собранная личность открывала одну коробку, а не парк. Детект — третья нога: латеральное движение необычно заметно, если за ним следить — рабочая станция, внезапно аутентифицирующаяся к двадцати хостам, или админский хеш, использованный с IP, с которого он никогда не входил, — это громкий сигнал, поэтому логируй аутентификацию централизованно и алертируй на вход невозможной формы. Вся цепочка пивота-и-движения пентестера — лишь обратная сторона этих трёх контролей; каждое звено — защита, которую ты либо построил, либо нет.

Выбери лучший вариант

В авторизованном внутреннем проекте ты взломал веб-сервер в DMZ и собрал NTLM-хеш локального админа. Ты подтвердил, что тот же хеш аутентифицируется к нескольким внутренним рабочим станциям. Какой проектный фикс отчёт должен поставить во главу как корневую причину?

Викторина

В чём ключевая разница между пивотингом и латеральным движением?

Викторина

Почему pass-the-hash позволяет атакующему аутентифицироваться, ни разу не взломав пароль?

Расставь шаги по порядку

Упорядочь стадии цепочки пивот-затем-латеральное-движение, от начального плацдарма до места, где её ломает закалённая защита:

  1. 1 Атакующий получает плацдарм на одном хосте, смотрящем в интернет
  2. 2 Плацдарм превращается в ретранслятор (SOCKS/SSH-туннель), чтобы достать внутреннюю подсеть — пивот
  3. 3 Учётки/хеши собираются из памяти плацдарма или его хранилища секретов
  4. 4 Собранная личность переиспользуется для аутентификации к внутренним хостам — латеральное движение
  5. 5 Сегментация + уникальные учётки на хост не оставляют куда пивотить и что переиспользовать; цепочка глохнет
Вспомните перед уходом
  1. 01
    Объясни разницу между пивотингом и латеральным движением и почему один плацдарм так редко и есть собственно пробой.
  2. 02
    Что такое pass-the-hash, почему он работает без взлома пароля и какие свойства проекта останавливают цепочку латерального-движения-и-пивота?
Итог

Один плацдарм почти никогда не есть пробой — пробой — это то, что атакующий делает дальше, и он распадается на два механически различных приёма. Пивотинг — сетевой приём: взломанный хост становится ретранслятором (SOCKS-туннель, проброс SSH), чтобы атакующий достал внутренние системы, до которых не маршрутизировался, не стоя ему новой учётки, — чистая доступность. Латеральное движение — приём личности: собранные учётки, хеши, токены или ключи переиспользуются для дальнейшей аутентификации как легитимный пользователь, и самая страшная форма — pass-the-hash, где NTLM принимает сам украденный хеш как доказательство личности, так что ничего не нужно взламывать. Две защиты ложатся один-к-одному на два приёма. Сегментация ограничивает доступность — сетевые зоны по наименьшим привилегиям, чтобы ретранслятор ретранслировал в стену, а не во всё хозяйство. Гигиена личности ограничивает переиспользование — уникальные учётки на хост (LAPS), короткоживущие ограниченные токены, никаких привилегированных секретов на низкодоверенных хостах и фишинг-устойчивый MFA, — чтобы собранный секрет открывал одну коробку, а не парк. Добавь централизованное логирование аутентификации, чтобы ловить громкий вход невозможной формы, и предполагай пробой повсюду. В следующий раз, рассуждая о взломанном хосте, твой вопрос уже не «они вошли?», а «что этот один плацдарм может достать и какую личность переиспользовать — и сделал ли я оба ответа „ничего полезного“?»

Практика

Начни сверху. Задачи идут от простого к сложному: вспомнить факт, применить к случаю, затем senior-уровень. Открой, попробуй, потом открой ответ.

вспомнитьприменитьуглубить0 из 6 завершено

Что-то непонятно?

Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.

хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources2
expand
  1. 01
  2. 02

Trademarks belong to their respective owners. Editorial reference only.