От веба до захвата домена: чему пентестер может научиться на большой инфраструктуре

14524
От веба до захвата домена: чему пентестер может научиться на большой инфраструктуре

Найти дыру мало, самое сложное начинается после взлома.

image

В CTF обычно понятно, чего от тебя хотят: где-то есть уязвимость, за ней — флаг. В реальном пентесте все устроено менее удобно. Можно получить доступ к одному серверу и только потом понять, что он был промежуточной точкой, а нужная система находится в другом сегменте сети. Приходится разбираться в связях между сервисами, искать учетные данные, повышать привилегии, строить маршруты для пивотинга и собирать отдельные находки в одну цепочку.

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

Наш герой, wr3dmast3r, начинал совсем не с информационной безопасности — работал кальянным мастером. Сейчас он senior-пентестер в крупной компании, автор подробного гайда по подготовке к сертификации BSCP, ведет канал wr3dmast3r vs pentest и занимается менторством по веб-пентесту. На Standoff Hackbase он пришел уже с хорошей базой в веб-безопасности, но довольно быстро обнаружил пробелы в работе с внутренней инфраструктурой. В итоге именно это стало для него одной из главных точек роста — и привело к первому месту в рейтинге платформы.

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

«Я был ориентирован в основном на первоначальный пробив периметра»

С какими навыками ты пришел на Standoff Hackbase и что оказалось для тебя новым?

До Standoff Hackbase я активно занимался веб-безопасностью: искал уязвимости, адаптировал и писал эксплойты, чаще работал с векторами, ведущими к RCE. В основном я был ориентирован на первоначальный пробив периметра.

Довольно быстро выяснилось, что с внутренней инфраструктурой у меня все гораздо хуже. До этого я проходил лаборатории OSCP и Hack The Box, но с некоторыми вещами почти не сталкивался — например, с длинным пивотингом через несколько систем и вообще с инфраструктурой такого масштаба.

На Hackbase бывало, что до цели нужно было пройти через несколько промежуточных систем, несколько раз перестроить маршруты и при этом не потерять уже полученный доступ. Именно работу внутри сети мне пришлось прокачивать быстрее всего.

Не искать уязвимость, а строить модель системы

Как ты работаешь с новой инфраструктурой, когда еще не знаешь, где находится точка входа?

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

Если ничего очевидного нет, начинаю копать глубже: учетные данные, механизмы аутентификации, веб-приложения, доверительные отношения между системами.

Но самое важное — постепенно собрать у себя в голове модель инфраструктуры. Я должен понимать, как связаны компоненты, какие данные между ними передаются, где находятся границы доверия.

Поэтому сам сервис для меня редко становится тупиком. Тупиковой может оказаться гипотеза, с которой я к нему пришел. Получив новые данные в другой части сети, я могу вернуться к тому же узлу и посмотреть на него уже совершенно иначе.

Как понять, что пора перестать развивать гипотезу и искать другой путь?

Я использую обычный таймбоксинг. На первичную проверку идеи обычно даю себе около получаса. Если появляются промежуточные результаты — необычный ответ сервиса, новые данные, учетная запись, доступ к еще одному объекту, — продолжаю.

Если проходит час-два, а я не получил ни результата, ни новой информации, переключаюсь.

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

После таких историй у меня появилось правило: если долго не получается реализовать вектор, нужно расширить поверхность атаки и заново посмотреть на систему.

Почему одна уязвимость еще ничего не значит

Чем такая работа отличается от обычных CTF?

Подход на старте похожий: изучаешь поверхность атаки, сервисы и возможные пути продвижения. Разница появляется дальше.

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

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

Поэтому сложнее всего обычно не найти конкретную уязвимость, а собрать цепочку.

Она может выглядеть примерно так: взломать веб-приложение, получить учетные данные, закрепиться, повысить привилегии, организовать пивотинг, перейти в другой сегмент сети и уже там получить доступ к системе, связанной с критическим событием.

Каждый шаг по отдельности иногда довольно простой. Сложность в том, чтобы увидеть между ними связь.

От VPN до другого домена

Можешь разобрать одну такую цепочку, которую ты прошел на Hackbase?

Одна из самых запомнившихся начиналась с бота. Через него я получил VPN-конфигурацию и учетные данные, подключился к VPN и получил доступ к корпоративному Outlook.

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

Среди них я заметил токен привилегированного пользователя, связанного с SCCM/ConfigMgr. Получилось использовать его контекст безопасности и открыть командную оболочку уже с повышенными правами.

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

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

Эта цепочка мне особенно запомнилась из-за SCCM. До нее у меня почти не было практического опыта работы с ConfigMgr. Приходилось прямо во время решения читать документацию, проверять гипотезы и разбираться, как все устроено. После этого SCCM перестал быть для меня какой-то неизвестной корпоративной технологией.

Сканер находит порт. Дальше начинается работа

Какие инструменты ты чаще всего используешь?

На старте набор довольно обычный. Nmap — для исследования сетевой поверхности, FFUF — для поиска директорий, файлов и скрытых обработчиков.

Но основную работу я стараюсь делать вручную.

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

Автоматизация помогает уменьшить пространство поиска. Решение часто появляется уже после этого.

ИИ как ускоритель, но не оператор атаки

Что из этой работы уже можно поручить ИИ?

Я использую ИИ практически в каждом исследовании. Например, удобно разбирать большие JavaScript-файлы, искать интересные обработчики, анализировать незнакомый код, адаптировать публичный эксплойт или автоматизировать повторяющиеся действия.

Но сначала я сам стараюсь сузить задачу хотя бы до конкретного эндпоинта или механизма. После этого ИИ уже помогает проверить гипотезу или заметить детали, которые я пропустил.

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

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

Для меня сейчас ИИ — это ускоритель обработки информации, но не самостоятельный оператор атаки.

Можно ли стать лидером на Hackbase и все равно не быть сильным пентестером

Ты входишь в топ-3. Насколько рейтинг вообще отражает реальный уровень?

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

Если есть подробные райтапы и ты уже хорошо знаешь устройство лабораторий, часть действий можно автоматизировать. Поэтому первое место само по себе не означает, что на совершенно незнакомом проекте человек покажет такой же результат.

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

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

Флаг — не конец исследования

Тогда что ты посоветуешь человеку, который только приходит на Hackbase?

Не ставить топ рейтинга главной целью.

Гораздо полезнее полностью разбираться в инфраструктуре: понимать, как соединены сегменты, где проходят границы доверия и почему конкретная цепочка вообще сработала.

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

Именно этот навык потом переносится на другие инфраструктуры. Рейтинг через сезон изменится. Способность разобраться в незнакомой системе останется.

Сейчас на Standoff Hackbase идет второй сезон — System Breach. На платформе доступны задания разного уровня, отдельные хосты и отраслевые инфраструктуры; новые задачи появляются по ходу сезона. Попробовать свои силы можно на сайте Standoff Hackbase.

DCAP
Вебинар 10 сентября · 11:00

Новые возможности Гарда DCAP

Эксперты обсудят, как датацентричный подход помогает навести порядок в корпоративных хранилищах.

Принять участие
Реклама. ООО «Гарда Технологии», ИНН 5260443081. 16+

Рекламодатель
ООО «СерчИнформ»
ИНН: 7704306397
searchinform.ru↗
ИИ-ассистент СерчИнформ