КАК ОСВОИТЬСЯ НА ПЛАТФОРМЕ
0%
Standoff Hackbase
КАК ОСВОИТЬСЯ НА ПЛАТФОРМЕ
Standoff Hackbase
КАК ОСВОИТЬСЯ НА ПЛАТФОРМЕ
Кибербитва Standoff — большое соревнование по кибербезопасности, где команды атакуют и защищают реальные инфраструктуры в условиях, максимально приближённых к боевым. Обычно туда приходят люди с опытом: админы, безопасники, участники CTF и те, кто тренируется уже не первый год. Чтобы постепенно дойти до этого уровня, есть Standoff Hackbase — онлайн-полигон с несколькими разделами разной сложности.
Ниже — коротко о том, чем они различаются, с чего лучше начать и как устроены Сезоны — временные подборки задач со своим рейтингом и отдельной мотивацией для участников.
Привет!

Меня зовут Александра Антипина (N3m351d4), я капитан команды хакеров Cult. Этот текст для тех, кто уже немного знаком с сетями, операционными системами и вебом и хочет понять, как применять знания на практике — в наступательной безопасности, развиваясь шаг за шагом.
Главная страница Standoff Hackbase
С чего мне начать?
Переходить к более сложному разделу имеет смысл, когда ты уверенно решаешь задачи без постоянного обращения к подсказкам и понимаешь, почему выбранный подход сработал.
Bootcamp подходит тем, кто только начинает, давно не практиковался или хочет понять, как устроен Standoff Hackbase. Здесь задачи представлены в обучающем формате: есть подсказки, понятная структура и поэтапный путь к решению — не нужно гадать, чего от тебя хотят. В процессе ты отрабатываешь базовые приёмы атакующего (разведку, эксплуатацию типовых уязвимостей) и основные инструменты. Параллельно появляется привычка фиксировать шаги и доводить атаку до результата.
Bootcamp
Раздел Bootcamp в интерфейсе Standoff Hackbase
Standalone — следующий шаг после Bootcamp, когда ты уже уверенно ориентируешься в базовых техниках и готов действовать автономно. В Standalone тебе предстоит работать с отдельными хостами, преимущественно на Linux. Обычно это одна машина с несколькими сервисами на разных портах, и тебе нужно самостоятельно провести разведку, выявить уязвимости и довести атаку до понятного результата. Здесь можно сдавать отчеты как об отдельных найденных уязвимостях, так и о более сложных критических событиях.
Standalone
Раздел Standalone в интерфейсе Standoff Hackbase
К Industry лучше переходить после Bootcamp и Standalone, когда базовые техники атак уже отработаны.

Сегмент подходит тем, кто хочет поработать уже не с одним хостом, а с фрагментом инфраструктуры — как в реальной кибербитве. Здесь перед тобой будет не отдельная машина, а связанная система: несколько сервисов, сети, роли, конфигурации и ошибки администрирования, типичные для компаний. Соответственно, объектов больше, поверхность атаки шире, и почти всегда приходится строить протяженные цепочки действий — от получения начального доступа до продвижения по сети и работы с ключевыми системами. Ты научишься ориентироваться в сложной среде, выделять приоритетные цели и дисциплинированно вести заметки, чтобы не терять контекст.
Industry
Пример сегмента Industry
Сезоны помогают возвращаться на Hackbase регулярно: даже если базовые сегменты уже знакомы, сезонный скоуп дает новые цели, новые сценарии и понятный горизонт соревнования. Это хороший формат для тех, кто хочет не просто тренироваться в свободном режиме, а сравнивать прогресс с другими участниками в рамках актуального сезона.
На платформе Standoff Hackbase есть не только постоянные сегменты Bootcamp, Standalone и Industry, но и временные Сезоны. Сезон — это ограниченный по времени период с отдельным набором сезонных тачек и собственным соревновательным контуром. Внутри сезона могут появляться как отдельные хосты формата Standalone, так и инфраструктурные сценарии формата Industry: участник решает задачи, реализует критические события, находит уязвимости и зарабатывает сезонные баллы.
Сезоны
Страница актуального Сезона
Следить за рейтингом удобно прямо во время сезона: он показывает, кто сейчас лидирует, сколько баллов уже набрано и за счет чего участники поднимаются выше — через критические события, уязвимости или сочетание разных типов задач. Ссылка для пользователей:

https://hackbase.standoff365.com/season-rating
Для каждого актуального Сезона ведется отдельный сезонный рейтинг Hackbase. В нем учитывается активность именно в рамках текущего сезонного скоупа: общее количество сезонных баллов, реализованные критические события, баллы за критические события, найденные уязвимости и баллы за уязвимости. Поэтому сезонный рейтинг — это не просто общий прогресс на платформе, а отдельная таблица лидеров конкретного сезона.
Сезонный рейтинг
Актуальный сезонный рейтинг
Решай сезонные Standalone- и Industry-тачки, набирай сезонные баллы, следи за позицией в рейтинге и борись за место в топ-25 актуального Сезона.
Как это работает:
сезонная задача баллы сезона позиция в сезонном рейтинге топ-25 закрытое мероприятие.
Сезонный рейтинг дает не только соревновательную мотивацию. Топ-25 участников актуального Сезона в сезонном рейтинге Hackbase попадет на закрытое мероприятие. Это дополнительный повод включаться в сезонные задания с самого начала: чем раньше участник начинает решать сезонные тачки и набирать баллы, тем выше шанс закрепиться в верхней части рейтинга.
Закрытый ивент для топ-25 сезона
Рейтинг прошлого сезона
Перед тем как начать выполнять задания, лучше сразу подготовить отдельное рабочее окружение. Самый удобный и безопасный вариант для старта — виртуальная машина: так проще держать все нужные инструменты в одном месте и быстро откатывать изменения через снапшоты. Кроме того, это позволит не засорять основную систему и в целом безопаснее подключаться к соревновательной инфраструктуре. Обычно используют VirtualBox и VMware Workstation Pro, а на macOS — VMware Fusion и Parallels Desktop.
Если говорить о гипервизорах, то VirtualBox — самый простой бесплатный вариант. Это опенсорсное решение Oracle, которое подходит для большинства учебных задач. Скачать его можно с официального сайта.
VMware Workstation Pro для Windows и Linux и VMware Fusion для macOS также распространяются бесплатно для всех пользователей. Это хорошие варианты, если тебе привычнее экосистема VMware. Загрузить их можно с официальной страницы, а информация о бесплатном использовании подтверждена в официальных материалах Broadcom.

Parallels Desktop — популярный вариант для macOS, особенно для MacBook, но он платный. При этом есть бесплатный 14-дневный пробный период. Скачать триал можно с официального сайта.
Для начинающих проще всего поставить Kali Linux. Это специализированный дистрибутив для решения задач в сфере информационной безопасности, в котором уже «из коробки» есть большая часть нужных утилит: Burp Suite, ffuf, John the Ripper, NetExec, Nmap, sqlmap и многие другие. Так тебе не придется с нуля собирать рабочую среду и разбираться с установкой каждого инструмента отдельно. У Kali есть и готовые VM-образы — если ставишь систему на виртуальную машину, это сделает старт еще проще.
Если ты уже уверенно работаешь с Linux, можно использовать Debian, Ubuntu или другой привычный дистрибутив и ставить утилиты по мере необходимости. Такой вариант дает больше контроля над системой и обычно удобнее для тех, кто уже понимает, какие инструменты действительно нужны. Компромиссный вариант: некоторые пользователи ставят Debian или Ubuntu как основную систему и при необходимости добавляют инструменты отдельно, а в определенных случаях — подключают репозитории Kali. Но для новичка это обычно сложнее, чем просто сразу поставить Kali на виртуальную машину.

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

  • Работай через виртуальную машину.
  • Не держи VPN-соединение постоянно включенным без необходимости (если делаешь перерыв, его лучше отключать).
  • Не оставляй систему без контроля.

Периодически имеет смысл проверять активные подключения командой вроде netstat -antlp, чтобы замечать неожиданные сетевые соединения. Еще одна важная мера — не оставлять SSH открытым снаружи, если он тебе не нужен для работы: лишние входящие подключения лучше сразу блокировать с помощью локального файрвола или в настройках сети виртуальной машины.
Подготовка к решению задач
Чтобы уверенно решать веб-задачи в Bootcamp, полезно заранее подготовить рабочий набор инструментов и понять общую логику поиска уязвимостей. Ниже — подробный обзор утилит и принципов, которые помогут системно подходить к задачам.
Веб в Bootcamp: что нужно знать
Пример веб-задачи в Bootcamp
Перехват и модификация запросов
Burp Suite (Community или Pro) — основной инструмент для анализа веб-трафика. Через него пропускается весь трафик между браузером и целевым сайтом, а ты можешь видеть и менять запросы на лету. Скачать его можно с официального сайта PortSwigger. Для первого запуска достаточно установить Community Edition и открыть раздел Getting started.
Что важно уметь:

  • Настройка прокси. В браузере настраиваешь HTTP- или HTTPS-прокси на 127.0.0.1:8080 (или на другой порт, который использует Burp) и затем устанавливаешь сертификат Burp в браузер, чтобы смотреть HTTPS-трафик. Но если ты используешь встроенный браузер Burp, он уже настроен для работы через прокси.
Настройка прокси для работы через Burp Suite
  • Proxy intercept. При любых действиях на сайте (логин, поиск, загрузка файлов, отправка форм) перехватываешь запросы, смотришь, какие параметры отправляются, и можешь тут же поменять их в URL и теле запроса — например, заголовки GET, POST (User-Agent, Cookie, Referer и т. п.) или тип содержимого (Content-Type при загрузке файла).
  • Repeater. Позволяет многократно отправлять один и тот же запрос с разными значениями параметров. Это удобно, когда ты вручную подбираешь полезную нагрузку и смотришь, как меняется ответ сервера, не кликая каждый раз в браузере.
Использование Repeater в Burp Suite
  • Intruder (особенно актуален в версии Pro). Нужен для автоматизированного перебора значений в одном или нескольких полях запроса. Его можно использовать для простого брутфорса, перебора ID, токенов и других значений в учебных задачах.
  • Scanner (только Pro-версия). Автоматический поиск стандартных уязвимостей: связанных с внедрением SQL-кода, с XSS, ошибками конфигурации и т. п. В Bootcamp чаще полезнее сначала сделать ручной анализ, а сканер включать точечно, не запускать по всему подряд.
  • Ключевая идея: сначала имеет смысл разобрать в Burp все, что проходит через браузер, а уже потом атаковать.
Сканирование и поиск уязвимостей
sqlmap автоматизирует проверку параметров на SQL-инъекции и на многое другое. Проще всего взять его из официального GitHub-репозитория. После установки стоит открыть вики проекта, разделы Introduction и Usage.
Инструмент используется после первичного анализа, когда уже понятно, какой параметр и в каком контексте стоит тестировать.

Использование:

  • Передать данные в sqlmap можно двумя способами: 1) указать URL прямо в командной строке с параметрами (?id=1 и т. п.); 2) сохранить сырое HTTP-сообщение из Burp в файл, заменить звездочками параметры, которые вы хотите протестировать, и передать его через ключ -r request.txt.
Сохранение запроса для дальнейшего использования в sqlmap
Проверка параметра на SQL-инъекцию с помощью sqlmap
  • Имеет смысл сразу задавать конкретный параметр для тестирования с помощью флага -p, иначе sqlmap будет тратить время на проверку всех параметров подряд.
  • Ключ --batch позволяет инструменту автоматически отвечать на стандартные вопросы, что удобно в задачах.
  • Если доступ к приложению завязан на пользовательской сессии, не забывай явно указывать cookie и нужные заголовки.
  • sqlmap умеет определять тип и уровень инъекции, показывать список баз и таблиц, выгружать содержимое и иногда — выполнять команды на сервере (OS shell, запись файлов).
Перебор директорий и файлов
Для поиска скрытых путей и файлов используют такие инструменты, как Dirb, dirsearch, ffuf, Gobuster:

  • Gobuster — инструмент для перебора директорий.
  • ffuf — еще один инструмент для быстрого перебора директорий и параметров. Распространяется через GitHub, там же есть README с установкой и примерами запуска. Для начала достаточно посмотреть раздел Quick start и базовые примеры использования.
  • dirsearch — альтернатива ffuf на Python. Доступен на GitHub, где описаны установка и основные режимы работы.

Зачем это нужно:

  • находить скрытые админки и панели управления;
  • выявлять директории для загрузки файлов;
  • находить бэкап-файлы (форматы BAK, OLD, ZIP и т. п.);
  • вытаскивать конфигурационные файлы и находить забытые тестовые разделы.

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

В первую очередь стоит проверять, нет ли подсказок в самом задании. Если их нет, удобнее всего брать готовые списки из репозитория SecLists. При решении веб-задач чаще всего смотрят раздел Discovery → Web-Content: для быстрого старта подойдут common.txt или quickhits.txt, а для более широкого поиска — bigger-списки и списки с расширениями. SecLists хорош тем, что там уже собраны типовые пути, имена бэкапов, служебных файлов, админок и других вещей, которые часто встречаются в реальных приложениях.

Во время перебора важно смотреть не только на ответы с кодом 200. Коды 301 и 302 могут указывать на существующий ресурс, который просто редиректит тебя в другое место — например, на страницу логина или на путь со слешем в конце. Код 403 тоже часто бывает полезным: он означает, что доступ запрещен, но сам ресурс при этом существует. Это может быть закрытая админка, директория с файлами или внутренний раздел, до которого ты пока не можешь дотянуться напрямую.

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

  • Определяешь продукт и его версию (к примеру, по заголовкам, футеру, /admin, HTML-комментариям).
  • Запускаешь SearchSploit по названию, смотришь, есть ли что-то подходящее под твой стек и версию.
  • Читаешь описание эксплойта, разбираешься, как он работает, и при необходимости адаптируешь его под задачу (меняешь путь к приложению, параметры, формат URL и т. п.).
  • Главное — не ограничиваться запуском скриптов, а понимать, какую полезную нагрузку отправляет инструмент и куда именно.
Поиск публичного эксплойта под найденную версию сервиса
GitHub часто используют как источник PoC и эксплойтов под конкретные CVE. Полезно заранее понять, какую уязвимость ты ищешь: ее тип (RCE, LPE, SQLi и т. п.) и продукт, к которому она относится. Перед запуском эксплойта нужно внимательно прочитать README:

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

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

В задачах встречаются два близких, но разных подхода: 1) использование веб-шеллов для выполнения команд через HTTP; 2) применение shell-based payload для получения интерактивной оболочки. Чаще всего используют reverse shell: после запуска такой полезной нагрузки целевое устройство само устанавливает исходящее подключение к твоему, на котором уже поднят listener. Для веб-задач это особенно удобно, потому что reverse shell хорошо ложится на сценарии с загрузкой файлов, с RCE или с вызовом PHP-скрипта через браузер.

Самый известный пример — php-reverse-shell от pentestmonkey: это готовый PHP-скрипт, в котором ты указываешь свой IP-адрес и порт, загружаешь файл на сервер и вызываешь его, чтобы получить обратное подключение. Полезно также держать под рукой Reverse Shell Cheat Sheet от pentestmonkey или PayloadsAllTheThings, где собраны готовые one-liner под разные языки и окружения.

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

  • Если нужен не классический reverse shell, а простая веб-оболочка для выполнения команд прямо через браузер, обычно используют single-file PHP shell. Пример — p0wny-shell: это PHP-страница, которая после загрузки дает интерфейс для выполнения команд, для навигации по файловой системе и для базовой работы с хостом.
Сетевые и вспомогательные утилиты
Netcat — базовый инструмент Linux, удобный для приема reverse shell. Сценарий простой: на своей машине ты открываешь порт в режиме прослушивания командой вида nc -lvnp <port>, а в коде веб-шелла или эксплойта прописываешь IP-адрес своей машины и тот же порт. Когда уязвимость срабатывает, целевая система инициирует обратное подключение, и ты получаешь интерактивную оболочку. Главное — не перезапускать nc в момент ожидания, чтобы не потерять входящее соединение.
Подготовка listener
Встроенный HTTP-сервер Python — удобный способ быстро раздать файлы с твоей машины. Команда python3 -m http.server 8888 поднимает простой веб-сервер на порте 8888 — после этого любые эксплойты, бинарники или веб-шеллы, лежащие в текущей директории, можно скачивать по HTTP. Это особенно полезно, когда на целевом устройстве есть только минимальный набор инструментов, но доступны wget или curl: вместо сложных переносов файлов ты просто даешь цели ссылку вроде <Твой IP-адрес>:8888/exploit.py, и она сама забирает нужный файл.
Для загрузки файлов с твоего хоста или внешних ресурсов на скомпрометированной машине можно использовать wget и curl. Через них обычно загружают эксплойты, вспомогательные скрипты и дополнительные утилиты, которые нужны для дальнейшего продвижения. После загрузки файла на хост лучше проверить, куда именно он сохранился и с какими правами: иногда по умолчанию он неисполняемый. В таких случаях для бинарников или скриптов, которые планируется запускать, нужно явно поменять права, например с помощью chmod +x.
Инструменты
Анализ точек входа
Любой элемент приложения, куда пользователь может что-то ввести или загрузить, — это потенциальная точка атаки. К таким элементам относятся поля на странице входа и регистрации, поле поиска, поле для ввода комментария и форма обратной связи, личные сообщения, область загрузки файлов (аватарки, документов, изображений), а также параметры в URL, cookie и скрытые поля форм. При первичном осмотре сайта полезно выписать все точки входа и проверить, какие данные реально уходят на сервер.

В точках входа чаще всего проверяют три вещи: возможность внедрить SQL-код, обойти аутентификацию и манипулировать параметрами доступа. Для SQL-инъекций лучше тестировать не только явные параметры в URL, но и тело POST-запроса, заголовки и cookie, обращая внимание на изменения в ответе: ошибки в базе данных, изменение количества выводимых записей, отличия в структуре страницы. При проверке на обход аутентификации пробуют отправить пустой логин или пароль, использовать простые подстановки вроде admin' OR '1'='1, а также изменить роль или уровень доступа через параметры (role=user → role=admin) и cookie.

Манипуляции с параметрами — отдельный важный блок: изменение ID объектов, статусов, флагов доступа позволяет понять, проверяет ли сервер права пользователя или просто доверяет тому, что пришло из браузера. Ключевой принцип простой: все, что отправляет клиент, можно изменить, поэтому ориентироваться нужно не на интерфейс, а на реальные запросы.
Типичные точки входа: формы
Загрузка файлов
Отдельный важный тип задач — поиск уязвимостей в формах загрузки файлов (OWASP File Upload Cheat Sheet). Почти всегда цель одна и та же: понять, что сервер проверяет и как именно он обрабатывает загруженный файл.
Для начала стоит выяснить, по какому признаку определяется тип файла: по расширению, по заголовку Content-Type, по сигнатуре содержимого (магические байты) или по сочетанию этих факторов. Дальше нужно посмотреть на поведение приложения: куда сохраняется загруженный файл (какой путь или URL используется), можно ли обратиться к нему напрямую из браузера, меняется ли имя файла при сохранении (случайные имена, добавление префиксов, суффиксов, изменение расширения). Это помогает понять, есть ли шанс перейти от загрузки файла к эксплуатации уязвимости — например, RCE, SSRF или LFI.

  • Почти в каждой такой задаче полезно перехватить запрос загрузки в Burp и поэкспериментировать уже на уровне сырого HTTP. Обычно пробуют менять имя и содержимое файла, заголовок Content-Type, но делать это нужно осознанно: понимать, какую именно атаку ты пытаешься реализовать — RCE, SSRF, обход фильтрации по типу и т. п.
Механика загрузки файлов
Определение стека и версии ПО
Во многих задачах уязвимость привязана к конкретной версии движка, CMS, плагина или панели, поэтому один из первых шагов — понять, что именно «крутится» на сервере и какой версии. Для этого сначала имеет смысл внимательно посмотреть сами страницы: футер (Powered by, номер версии), стандартные пути вроде /wp-admin/, /administrator/, страницу админки и входа, явные упоминания CMS, фреймворков или плагинов в тексте и интерфейсе.

Дальше полезно изучить заголовки HTTP-ответов. Поле Server часто показывает тип веб-сервера, X-Powered-By — информацию о PHP, ASP.NET и других технологиях, а некоторые панели и продукты добавляют свои специфичные заголовки. Не игнорируй и исходный код страниц: в HTML-комментариях иногда оставляют версии, а в именах JavaScript- и CSS-файлов могут быть прописаны номера релизов. Отдельные пути к статическим файлам плагинов и модулей тоже помогают определить, какая именно система используется.

  • Как только у тебя есть связка «продукт — версия», можно переходить к поиску уязвимостей именно под эту комбинацию: смотреть CVE, PoC и готовые эксплойты через SearchSploit, Exploit-DB, GitHub и другие источники. Такой подход гораздо эффективнее слепого перебора.
Определение версии продукта по ответу приложения
Второй этап атаки: что после RCE
Во многих задачах удаленное выполнение кода или получение шелла — это не финал, а только середина пути. После того как ты попал на устройство, часто требуется сделать следующий шаг — повысить привилегии (LPE) или расширить доступ внутри системы. Для LPE обычно смотрят версии ядра, glibc, sudo и других компонентов, ищут нестандартные права (SUID-бинарники, странные разрешения на файлы, подозрительные cron-задачи) и проверяют типовые ошибки конфигурации, под которые уже есть локальные эксплойты.

  • Помимо вертикального роста (повышения прав) есть и горизонтальное перемещение — переход от одного пользователя к другому, выход на другие сервисы на этой же машине или на соседних хостах. В Bootcamp важно смотреть, что именно считается конечной целью в задаче: шелл может оказаться только промежуточным результатом.
Получение шелла — только промежуточный этап атаки
Работа с описанием задания и подсказками
Описание задачи — часть условия, и его не стоит пролистывать. В тексте часто прямо указано, куда смотреть: на страницу входа, область загрузки файлов, поле поиска, API, на конкретный сервис или технологию. Иногда по формулировке можно угадать и тип уязвимости: авторы задач редко пишут слова случайно. Подсказки, которые вынесены в отдельные пункты, могут содержать уже более конкретные вещи: версию ПО, намек на CVE, предложение перехватить определенный запрос или обратить внимание на cookie.

  • Удобная стратегия — сначала попробовать решить задачу без подсказок, а когда почувствуешь, что застрял, возвращаться к ним и корректировать направление. Это помогает и мыслить самостоятельно, и при этом не тратить часы на тупиковые ветки. Со временем благодаря описанию и подсказкам начинаешь гораздо быстрее находить правильный вектор.
Воспроизводимость, записи и чек-листы
Чтобы не начинать каждый раз с нуля, полезно фиксировать свои действия. Записывай, какие запросы ты перехватывал, какие параметры менял и какой результат получал, какие команды запускал на цели, какой эксплойт использовал и с какими аргументами. Из этих заметок со временем формируется шаблон write-up: он включает краткое описание задачи, поверхностное исследование (что за сервис и версия), информацию о найденной уязвимости и путях эксплуатации, а также описание этапа постэксплуатации и получения флага или нужного доступа.

  • На основе таких записей удобно делать и свои небольшие чек-листы: что обязательно проверить в форме логина, что делать, если есть возможность загрузить файлы, какие шаги пройти сразу после получения шелла. В будущем это сэкономит массу времени: вместо того чтобы вспоминать, что вообще можно попробовать, ты просто пройдешь по уже отработанному маршруту. В результате ты не только решишь задание, но и получишь повторяемый процесс, который можно применять к новым целям и в более сложной инфраструктуре.
Пример фиксации шагов при решении задачи
Принципы решения задач
Пример инфраструктурной задачи в Bootcamp
Инфраструктурные задачи в Bootcamp: что нужно знать
Разведка и DNS
В инфраструктурных задачах все начинается с изучения того, какие хосты вообще существуют и как устроен домен компании. Обычно используют DNS-утилиты dig, nslookup и host. С их помощью запрашивают записи:

  • A и AAAA — чтобы узнать IP-адреса веб-серверов, VPN и почты;
  • MX — чтобы найти почтовые серверы;
  • NS — чтобы понять, какие DNS-серверы отвечают за домен;
  • TXT — чтобы увидеть SPF, DKIM и иногда служебные комментарии.

Уже на этом этапе можно собрать список поддоменов и хостов вроде vpn.company.tld, mail.company.tld, autodiscover.company.tld, заметить использование внешних сервисов и выписать имена, которые пригодятся дальше при поиске почты, VPN и точек входа.

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

Примеры:
  • dig company.tld A
  • dig company.tld MX
  • dig company.tld NS
  • dig company.tld TXT

nslookup — более простая утилита, которая часто уже есть в системе и подходит для базовой проверки записей. Она удобна, когда нужно оперативно «спросить» DNS без лишних деталей.

Примеры:
  • nslookup company.tld
  • nslookup -type=MX company.tld
  • nslookup -type=TXT company.tld

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

Примеры:
  • host company.tld
  • host -t mx company.tld
  • host -t ns company.tld
  • host -t txt company.tld

Отдельно всегда стоит проверять, не открыт ли трансфер зоны. Трансфер зоны — ситуация, когда DNS-сервер по ошибке отдает сразу всю зону домена, то есть список поддоменов, хостов и записей целиком. Это может упростить разведку, потому что ты получишь не отдельные имена по одному, а почти полную карту домена. Проверяют это обычно через dig, указав конкретный NS-сервер:

dig axfr company. tld @ns1.company.tld

Если трансфер разрешен, сервер вернет содержимое зоны целиком. Если нет — ты увидишь отказ или пустой ответ.

В реальных инфраструктурах трансфер зоны встречается нечасто, но проверять стоит всегда, потому что это один из самых эффективных способов получить полезные результаты на раннем этапе разведки.
Первичная разведка: DNS
Следующий базовый инструмент — nmap. Скачать его можно с официального сайта. Для начала стоит посмотреть Reference Guide, где разобраны основные ключи и примеры сканирования.

  • nmap помогает понять, какие порты открыты и какие сервисы там работают, а с ключами -sV и -sC он позволяет определить версии сервисов и запустить стандартные скрипты. Обычно в ходе решения задач сначала сканируют отдельные IP-адреса или небольшие подсети, найденные через DNS или после подключения к VPN, а по результатам уже рисуют карту доступных сервисов и выбирают наиболее интересные цели.
Разведка по открытым источникам
Параллельно с технической разведкой имеет смысл пройтись по открытым источникам. Публичный сайт компании (разделы «О компании», «Контакты», «Сотрудники»), вакансии, профили в соцсетях и на специализированных платформах — все это помогает понять, кто в ней работает и какие системы используются. Помимо всего прочего, ищут схемы email-адресов (например, name.surname@company.tld или n.surname@…), упоминания внутренних порталов и сервисов, названия серверов на скриншотах, а также документы вроде инструкций и PDF-руководств. В таких файлах часто встречаются адреса для подключения к VPN, URL-адреса OWA, ссылки на SharePoint и другие внутренние системы, которые становятся точками входа в инфраструктуру.
Пример получения веб-доступа к корпоративной почте
Почта и учетные записи
Первым делом следует попробовать получить веб-доступ к почте. Задача — найти интерфейс, в который можно зайти по логину и паролю. Для этого по результатам использования DNS-утилит и nmap смотрят хосты с открытыми 80/443 — проверяют, не «крутится» ли там OWA, ECP, Roundcube, SOGo или другая веб-почта. Дополнительно обращают внимание на поддомены наподобие mail, webmail, owa, portal, а также на явные ссылки на веб-доступ к почте и на URL вида /owa, /mail, /login на корпоративном домене.

  • Когда понятно, где находится точка входа, встает вопрос логинов и паролей. В этом случае используется распыление паролей — password spraying (MITRE ATT&CK — T1110.003): берется список логинов (по формату адресов из OSINT, учебным спискам пользователей или результатам выполнения предыдущих задач по AD) — и вместе с ними аккуратно проверяются пароли (один или несколько). Цель — получить хотя бы одну валидную пару логина и пароля и при этом не вызвать массовые блокировки, поэтому нужно ограничивать частоту запросов и число попыток на одного пользователя. Найденные учетки пригодятся не только для веб-почты, но и для подключения к VPN, входа в домен и получения доступа к внутренним веб-сервисам.
VPN и получение доступа ко внутренней сети
Чтобы перейти от внешнего периметра к внутренней сети, нужны VPN-конфиг и учетные данные. Их ищут на публичном сайте (особенно в разделах для удаленных сотрудников), на внутренних порталах, если уже есть к ним доступ, а также в письмах и файлах пользователей. Чаще всего это файлы формата OVPN или CONF, а также инструкции по подключению, где отдельно указаны логины, пароли или ссылки на SSO. Получив конфиг и креды, ты подключаешься к VPN, смотришь, какой внутренний IP-адрес тебе назначен, какие подсети стали доступны, и заново запускаешь разведку (nmap) уже изнутри.

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

  • ssh -D (SOCKS-прокси).
  • chisel — инструмент для создания сетевых туннелей поверх HTTP. Скачать можно с GitHub, там же есть примеры запуска в режимах Server и Client.
  • frp — инструмент для создания реверс-прокси и туннелей.
  • На своей стороне можно использовать proxychains — утилиту для проксирования сетевых запросов через SOCKS/HTTP (пригодится для запуска сканеров и других инструментов). В результате ты будешь работать с внутренней сетью так, как будто физически находишься в ней: сканировать, подключаться к сервисам, общаться с доменом.
Подключение к VPN и выход во внутреннюю сеть
Active Directory
Когда есть доступ к машине, входящей в домен, в ход идет PowerShell. На доменных Windows-хостах устанавливают нужные модули и используют cmdlet вроде Get-ADUser, Get-ADGroup, Get-ADComputer, Get-ADObject. Задача — получить список пользователей, групп, компьютеров, понять структуру домена и OU, увидеть важные группы (Domain Admins, локальные администраторы, группы с правами на определенные сервера), а также найти сервисные учетки с привязкой к конкретным хостам. Работать нужно аккуратно, без лишнего шума, и сохранять результаты: эти данные понадобятся во многих последующих шагах (от Kerberoasting до фишинга и LPE).

Отдельный пласт — утилиты Impacket. Это набор Python-скриптов, который существенно упрощает работу с доменом:

  • GetADUsers.py — для выгрузки пользователей;
  • GetUserSPNs.py — для поиска SPN-аккаунтов под Kerberoasting;
  • secretsdump.py — для дампа хешей из реестра, LSA, NTDS (если есть права);
  • wmiexec.py, psexec.py, smbexec.py — для удаленного выполнения команд с предоставленными учетными данными.

Impacket доступен на GitHub, в репозитории есть примеры с готовыми скриптами (GetUserSPNs.py, secretsdump.py, wmiexec.py и другими).

Типичный сценарий: использовать найденные логины (хеши), чтобы попасть на контроллеры домена или файловые серверы, собрать еще больше хешей и токенов, а затем применить технику Pass-the-Hash (MITRE ATT&CK —T1550.002), Kerberoasting и разные варианты повышения привилегий.
Первичная разведка при помощи Impacket
Доставка и выполнение полезной нагрузки (фишинг, reverse shell)
В инфраструктурных задачах часто встречаются сценарии с документами и макросами. Тебе нужно создать файл в формате DOC или XLS с макросом, который либо поднимает reverse shell, либо скачивает и запускает полезную нагрузку с твоего сервера, и отправить этот файл условной жертве в рамках учебной среды (через почту или другой канал, описанный в задании). Макрос должен запускаться автоматически (например, через Document_Open или Workbook_Open).

Полезная нагрузка в инфраструктурных заданиях почти всегда ориентирована на Windows: это могут быть one-liner для PowerShell, скомпилированные через msfvenom EXE-файлы или другие генераторы, скрипты, запускаемые через планировщик задач, службы, макросы и т. п. На своей машине ты поднимаешь listener (через nc, Metasploit или другой handler), принимаешь входящее подключение — и уже из полученного шелла занимаешься повышением привилегий, сбором хешей и дальнейшим продвижением по сети.

Стоит отметить, что на кибербитве Standoff встречаются домены на Linux (FreeIPA) — там может потребоваться нагрузка для OpenOffice.
Пример полезной нагрузки в инфраструктурной задаче
Локальное повышение привилегий (LPE)
На Linux-хостах один из базовых векторов LPE связан с путями и правами на каталоги. Проверяют, можно ли записывать файлы в директории, которые входят в $PATH или используются в скриптах, запускаемых с повышенными правами. Если каталог доступен на запись, а из него запускается бинарник от root, то этот бинарник можно подменить своим и выполнить код уже с привилегиями администратора. Похожая идея работает с cron и systemd: если команда в планировщике использует небезопасный путь, можно попытаться вставить туда свой файл.

В Windows важно не столько помнить названия всех отдельных эксплойтов, сколько понимать типовые классы проблем. Неправильно заданный путь к бинарнику службы (без кавычек и с пробелами) или возможность записи в каталог, откуда она запускается, дает шанс подменить исполняемый файл и выполнить код с правами этой службы. Небезопасные права на службы и задания, доступные на запись скрипты автозапуска, слабые ACL на файлы, папки и ветки реестра — все это потенциальные точки для LPE. Отдельная тема — устаревшие драйверы и системное ПО с известными LPE-уязвимостями: агенты, SCADA, антивирусы.

Поскольку вариантов много, на практике часто используют автоматизированные сборщики информации вроде winPEAS и похожие скрипты. Они сканируют службы, права, задачник, реестр и подсвечивают места, где привилегии можно повысить. В задачах в Bootcamp подсказки обычно намекают, к какому именно классу уязвимости стоит присмотреться.
Память, LSASS и учетные данные
Когда у тебя уже есть высокие права на хосте (админ или SYSTEM), имеет смысл перейти к работе с памятью и хранилищами учеток. Основная цель дампа LSASS — вытащить пароли (иногда в открытом виде), NTLM-хеши и Kerberos-токены. Для этого используют Mimikatz и аналогичные инструменты либо сначала делают дамп процесса lsass.exe с помощью ProcDump или других средств, а затем разбирают его уже на своей машине.

Если у тебя есть NTLM-хеш, можно использовать технику Pass-the-Hash и аутентифицироваться без знания пароля к SMB, WinRM, RDP, WMI с помощью утилит Impacket, CrackMapExec, NetExec и т. п. Это позволяет переходить между хостами, выполнять команды на других машинах и получать доступ к файлам и сервисам. В некоторых случаях пароль все-таки нужен явно — например, для входа в веб-панель, для подключения к VPN или для того, чтобы применить учетку в следующей задаче. Тогда хеш прогоняют через инструменты для подбора паролей — Hashcat или John the Ripper — с подходящими режимами и словарями, рассчитывая на слабый или типовой пароль. Хеши и токены так же важны, как логины и пароли: сохраняй их, и они обязательно помогут тебе при выполнении задач.
Использование CrackMapExec
Kerberoasting и атаки на домен
Kerberoasting — это техника, которая позволяет получить хеши паролей сервисных учеток и взломать их офлайн. С помощью инструментов вроде Impacket и Rubeus (инструмент для работы с Kerberos в Windows-доменах) запрашиваются TGS-тикеты на аккаунты со SPN. Тикеты сохраняются в файле, а затем хеши шифрования из этих тикетов «гоняются» через Hashcat, John the Ripper. Если пароль удается подобрать, сервисная учетка дает доступ к привязанным сервисам (SQL, веб-приложениям, SharePoint и т. п.) и может сильно упростить дальнейшее повышение привилегий в домене.

Ключевое условие успешного Kerberoasting — грамотная разведка домена. Важно найти сервисные учетки, понять, к каким хостам и сервисам они привязаны, и оценить их права: иногда это простой сервис с ограниченными привилегиями, а иногда — учетка с очень высоким уровнем доступа. В задачах в Bootcamp обычно явно или между строк указывают, какие сервисы и аккаунты стоит проверить, так что имеет смысл внимательно читать описание и подсказки и сопоставлять их с результатами AD-разведки.
Инструменты
Начинай с внешней разведки
Перед тем как запускать сканеры и эксплойты, сначала собери максимум информации снаружи. Посмотри DNS-записи (включая поддомены и MX), публичный сайт, документацию, инструкции, вакансии, соцсети и любые упоминания о компании. Отдельно укажи формат логинов и почты, выпиши имена и роли сотрудников, выдели упоминания VPN, внутренних порталов и приложений. Все это потом пригодится для распыления паролей (password spraying), поиска веб-почты и VPN, а в учебных сценариях — еще и для социальной инженерии.
Строй цепочку атаки по данным из разных заданий
Инфраструктурные задачи на Hackbase часто связаны логически. Учетные данные, которые ты нашел в почте, могут подойти для подключения к VPN; VPN дает возможность сканировать внутреннюю сеть и работать с доменом; доступ к устройству в домене открывает путь к LPE и дампу LSASS; хеши и пароли из дампа используются для Kerberoasting, для получения доступа к файловым серверам, SharePoint и другим сервисам. Не относись к каждой задаче как к полностью отдельной: сохраняй все логины, пароли, хеши, тикеты, VPN-конфиги, пути и думай, где их можно применить дальше.
Понимай контур
На каждом шаге важно четко понимать, где ты находишься. Внешний периметр — это сайт, DNS, почта, VPN. Внутренняя сеть — этап после подключения к VPN или построения туннеля, когда ты сканируешь внутренние адреса и ищешь ключевые хосты. Отдельный узел — когда у тебя уже есть локальный доступ к машине (шелл, RDP, WinRM). Контроллеры домена и критически важные сервисы — конечные цели. От этого зависит выбор инструментов: снаружи логичны OSINT, DNS и nmap по внешним IP-адресам; внутри сети — внутренние сканы, AD-разведка и Kerberoasting; на хосте — LPE, дампы памяти и passthe hash.
Следи за привилегиями и группами
Как только у тебя появляется доступ к домену или конкретному хосту, первым делом посмотри, в какие группы входит пользователь и какие хосты или сервисы связаны с этими группами. Обрати внимание на локальных администраторов, группы с правами на вход по RDP и управление службами, а также на сервисные учетки, работающие от имени привилегированных пользователей. Часто задачу можно решить не становясь администратором домена, а просто поднявшись до нужной группы на нужной машине и грамотно использовав эти права.
Относись к хешам и токенам как к ресурсу
Любые найденные пароли, хеши, Kerberos-тикеты, VPN-конфиги — это такой же ценный ресурс, как хороший эксплойт. Их нужно аккуратно сохранять, помечать, откуда они взяты, какие права дают и где уже были использованы. Это помогает не теряться, не перезапускать одни и те же атаки и быстро подбирать набор учеток и хешей под конкретный шаг цепочки.
Обобщенная цепочка атаки
Условно весь путь в инфраструктурных задачах можно представить так:

  1. Внешняя разведка (DNS, сайт, открытые источники).
  2. Поиск точки входа (распыление паролей, получение веб-доступа к почте или подключение к VPN).
  3. Получение доступа ко внутренней сети (через VPN или туннели со скомпрометированного хоста).
  4. Разведка домена (PowerShell, Impacket, поиск критически важных аккаунтов и групп), доставка полезной нагрузки (фишинг, макросы, запуск кода на узлах).
  5. LPE и дамп памяти (поиск типовых векторов, LSASS, хешей).
  6. Kerberoasting и закрепление (TGS-тикеты, подбор паролей сервисных учеток, получение доступа к ключевым сервисам).

Каждый шаг опирается на предыдущий: чем аккуратнее ты собираешь и структурируешь информацию по ходу атаки, тем проще становится решать последующие задачи.
Принципы решения задач
Подключение
Для подключения к инфраструктуре Standoff Hackbase необходим OpenVPN-клиент — скачать его можно с официального сайта. Установив клиент, импортируй в него файл конфигурации (OVPN), полученный в интерфейсе Standoff 365 — в разделе Рабочее пространство Доступ и ресурсы. Затем клиент запросит логин и пароль от твоей учетной записи на портале Standoff 365. После успешной авторизации ты окажешься внутри виртуального полигона.
Где взять VPN-конфигурацию для Bootcamp
Скоуп и общая информация
Основная служебная информация о стенде и рабочий скоуп находятся на вкладке Bootcamp Описание. Там указан внешний периметр — подсеть, с которой обычно начинают сканирование после подключения к VPN, а также технические ограничения: например, в какие часы сегмент может быть недоступен из-за техобслуживания. Эту информацию имеет смысл зафиксировать перед началом работы.
Описание стенда и рабочий скоуп
Что делать после подключения
После подключения к VPN зайди в Bootcamp Описание и уточни скоуп и ограничения. Затем открой раздел Критические события, выбери задание и начни с сетевой разведки в пределах указанной подсети. По результатам разведки строится дальнейший сценарий: эксплуатация сервиса на внешнем периметре, поиск способа подключиться к VPN, работа с почтой или фишинг — в зависимости от формата конкретной задачи.
Восстановление инфраструктуры
Иногда задача на полигоне не решается не из-за твоих действий, а из-за самой инфраструктуры: стенд одновременно используют многие участники, и их (и твои) действия могут временно «уронить» сервисы или сломать их логику.

Если что-то идет не так, сначала проверь базовые вещи: есть ли подключение к VPN, правильный ли скоуп, IP-адреса и порты, корректны ли команды, параметры эксплойта; прочти подсказки к заданию. Если все верно, но сервисы по-прежнему не отвечают, сильно тормозят или ведут себя технически странно, имеет смысл считать, что проблема может быть на стороне стенда.

Для внепланового восстановления инфраструктуры в разделе Bootcamp есть кнопка Восстановить. Рядом с ней отображается счетчик вроде «Запросы участников: 2 из 3» — это количество уже отправленных запросов на перезапуск. Когда счетчик достигнет 3 из 3, платформа перезапустит сервисы — и инфраструктура должна вернуться в штатное рабочее состояние.
Кнопка восстановления инфраструктуры Bootcamp
Bootcamp. Подключение и траблшутинг
Пример сценария в сегменте Standalone
Чтобы уверенно разбираться с хостами на Standalone, имеет смысл заранее освоить базовый набор консольных утилит и подходы к анализу сервисов. Ниже — обзор инструментов, которые чаще всего пригождаются при разведке, эксплуатации уязвимостей и при построении цепочек атак.
Standalone: что нужно знать
В Standalone ты зачастую работаешь с отдельным Linux-хостом, на котором одновременно могут работать несколько сервисов на разных портах. Поэтому после эксплуатации RCE-уязвимости особенно важно использовать следующие базовые системные утилиты (они помогают быстро понять, что вообще запущено на машине, какие процессы слушают сеть, от каких пользователей они работают, какие службы стартуют через systemd и где лежат их конфиги):

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

  • ss -tulnp — одна из самых полезных команд для первичной разведки сети на Linux. Она показывает, какие TCP- и UDP-порты слушаются, на каких адресах, и по возможности сразу привязывает их к процессу.

  • netstat -tulnp — старая, но до сих пор полезная альтернатива ss. На некоторых хостах именно netstat может быть привычнее (кроме того, он может быть уже установлен по умолчанию). Применяется для той же задачи — для просмотра открытых портов и процессов, которые их «держат».

  • lsof -i — команда для просмотра сетевых соединений и процессов, которые с ними связаны. Ее удобно использовать, когда нужно не просто увидеть порт, а понять, какой именно процесс работает с сетью.

  • systemctl — основная утилита для работы со службами в системах с systemd. С ее помощью можно посмотреть, какие сервисы есть в системе, какие из них активны и как они называются.
Примеры:
  • systemctl list-units --type=service
  • systemctl status nginx
  • systemctl cat nginx

  • service — более простой интерфейс для управления службами, который иногда удобен для быстрой проверки статуса. В современных системах часто работает как обертка над systemd.
Пример: service nginx status

  • find — команда для поиска файлов по имени, типу, правам или другим признакам. В Standalone она особенно полезна для поиска конфигов, флагов, резервных копий, скриптов и подозрительных файлов.
Примеры:
  • find / -name «*.conf» 2>/dev/null
  • find / -perm -4000 2>/dev/null

  • grep — утилита для поиска строк внутри файлов. Ее удобно использовать для поиска паролей, путей, имен пользователей, токенов, строк подключения и других артефактов в конфигах и логах.
Примеры:
  • grep -R «password» /etc 2>/dev/null
  • grep -R «listen» /etc/nginx 2>/dev/null

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

Просмотр конфигов — отдельная важная часть разведки. Чаще всего имеет смысл смотреть /etc, каталоги приложений, домашние директории сервисных пользователей, /var/www, /opt и другие типичные места, где лежат конфиги и рабочие файлы приложений. Для этого обычно используют cat, less, head, tail и grep.
Примеры:
  • cat /etc/passwd
  • less /etc/nginx/nginx.conf
  • tail -n 50 /var/log/nginx/error.log
Первичная разведка на хосте Standalone
Отдельный класс инструментов — скрипты для автоматизированной проверки прав и типичных ошибок конфигурации. Для Linux-хостов часто используют:

  • LinPEAS — скрипт для поиска путей повышения привилегий в Linux.
  • LinEnum — скрипт для аудита Linux-систем и поиска векторов LPE.
  • linux-exploit-suggester — инструмент для поиска возможных эксплойтов под текущую систему.
  • pspy — утилита для мониторинга процессов при отсутствии root-доступа. Используется для поиска cron-задач и других действий привилегированных пользователей.

Такие скрипты «пробегаются» по SUID-бинарникам, capabilities, cron-задачам, правам на файлы и каталогам, подсвечивают потенциальные точки LPE и помогают заметить вещи вроде Python 3.9 с cap_setuid=ep. Скрипты не отменяют необходимость ручного анализа, но хорошо работают как радар: показывают, куда в первую очередь стоит смотреть при поиске векторов повышения привилегий.
Автоматизированный поиск путей для LPE на Linux
Наконец, для работы с эксплойтами и полезной нагрузкой в Standalone почти всегда пригодятся языки и компиляторы на самой машине. Python 3 удобен для быстрого написания небольших скриптов под конкретный хост (брутфорс, RCE, обертки над CVE), GCC позволяет собирать C-эксплойты локально под нужную версию ядра и библиотек, а утилиты вроде socat помогают получать более стабильные шеллы и пробрасывать порты. Все это в связке с описанными выше инструментами разведки и веб-эксплуатации полностью покрывает процесс атаки — от обнаружения сервиса на порте до написания и запуска собственного эксплойта прямо на Standalone-хосте.

На открытых портах, помимо веба, часто «живут» базы данных и другие сервисы: PostgreSQL, MySQL, FTP, панели управления и т. п. После первичной разведки портов важно не просто зафиксировать номер порта, а разобраться, какой именно сервис там работает и какой версии: просмотреть баннеры, вывод nmap -sV, попробовать подключиться к сервису с помощью стандартного клиента (psql, mysql, redis-cli, ftp, smbclient). Дальше подход такой же, как с вебом: сверяешь версию и конфиг, проверяешь типичные ошибки (анонимный доступ, слабые пароли, опасные настройки), а под подтвержденную версию уже ищешь CVE и готовые эксплойты на Exploit-DB, GitHub или Metasploit.

Многие Standalone-задания как раз строятся на связке «версия сервиса — публичный эксплойт». Так что умение читать баннеры, пользоваться «родными» клиентами и аккуратно адаптировать эксплойт под конкретный хост критически важно.
Инструменты
В Standalone-сегменте ты работаешь не с абстрактными задачами, а с отдельными хостами и можешь сдавать два типа результатов: отчеты об уязвимостях и отчеты о критических событиях.
Уязвимости
Уязвимость — это конкретный технический баг, который можно воспроизвести на хосте и использовать для получения флага. В Standalone заранее указано, какие именно классы уязвимостей стоит искать. Это удобно: ты не перебираешь все подряд вслепую, а понимаешь, на какие векторы атаки имеет смысл смотреть в первую очередь. При этом важно помнить, что на одном хосте далеко не всегда есть весь набор возможных уязвимостей. Где-то акцент сделан на веб-части и логике приложения, где-то — на выполнении кода и дальнейшем повышении привилегий.
Path Traversal
Path Traversal, или выход за пределы каталога, — это уязвимость, при наличии которой приложение позволяет читать файлы вне разрешенной директории. Обычно она встречается там, где сервер принимает имя файла или путь от пользователя: например, при скачивании документов, просмотре картинок, логов, вложений или служебных файлов. Суть проверки простая: понять, можно ли вместо ожидаемого пути передать конструкции вроде …/ и выйти из рабочей папки приложения в файловую систему хоста.

Если такая уязвимость есть, цель обычно формулируется очень прямо. В твоем случае нужно получить содержимое файла /etc/pt.flag. Это значит, что тебе нужно найти параметр, который участвует в чтении файла, подменить его так, чтобы приложение вместо разрешенного объекта открыло /etc/pt.flag, и получить содержимое этого файла в ответе сервера. Содержимое и есть подтверждение уязвимости, которое потом отправляется в отчет.
SSRF
SSRF, или Server-Side Request Forgery, — это уязвимость, при наличии которой приложение по твоему запросу обращается к другому ресурсу от имени сервера. Обычно такое встречается в функциях загрузки по URL, проверки ссылок, импорта данных, генерации превью и в других местах, где сервер умеет ходить по адресу, который ты ему передашь. Главный смысл SSRF в том, что сервер может достучаться туда, куда ты напрямую снаружи попасть не можешь: например, во внутреннюю сеть или на loopback-адрес.

В Standalone задача сформулирована так: обратиться по внутреннему адресу на порт 9732, то есть к http://127.0.0.1:9732. Это означает, что где-то в приложении может быть точка, которая позволяет серверу сделать HTTP-запрос по переданному URL. Тебе нужно найти эту точку, подставить внутренний адрес вместо внешнего и добиться того, чтобы сервер сам сходил на локальный сервис. Если в ответе ты получил данные от внутреннего сервиса или тем более сам флаг — задача решена, и этот результат можно сдавать как SSRF.
SQLi
SQL-инъекция — это уязвимость, при наличии которой пользовательский ввод небезопасно встраивается в SQL-запрос к базе данных. В Standalone такие задачи обычно завязаны на поисковых строках, параметрах фильтрации, ID в URL, полях форм или cookie. Цель здесь не просто найти ошибку, а дойти до конкретного результата в базе данных.

В нашем случае нужно получить содержимое ячейки flag из таблицы secret. Это очень хороший ориентир, потому что сразу понятно, что конечная цель — чтение данных из БД, а не, например, обход логина или blind-тестирование ради самого факта инъекции. Значит, после нахождения точки SQLi тебе нужно определить, можно ли вытащить названия таблиц и столбцов, добраться до таблицы secret и прочитать поле flag. Сделать это можно вручную или с помощью sqlmap, если параметр подходит для автоматизации. Успешным результатом считается именно извлечение нужного значения из БД.
RCE
RCE, или удаленное выполнение кода, — уже более серьезная уязвимость, при наличии которой удается заставить сервер выполнить команды операционной системы. Это можно сделать через небезопасную загрузку файлов, внедрение команд (command injection), небезопасные плагины, десериализацию, шаблонизаторы, уязвимые панели и другие векторы. Цель обычно не просто доказать, что команда выполняется, а реализовать на хосте конкретное действие.

В Standalone для подтверждения RCE требуется выполнить скрипт /home/rceflag. Это значит, что после выполнения команд на сервере тебе нужно не просто вызвать whoami или id ради проверки, а именно дойти до выполнения указанного файла. Часто результат работы скрипта — это и есть флаг или UID для отчета. То есть логика такая: сначала подтверждаешь, что код реально выполняется, потом запускаешь нужный скрипт и получаешь итоговый идентификатор.
LPE
LPE, или локальное повышение привилегий, — это сценарий, в котором у тебя уже есть какой-то доступ к устройству, но ты работаешь не под той учетной записью, которая нужна для финальной цели. Тогда следующая задача — повысить привилегии (например, с непривилегированного пользователя до root). Для этого ищут SUID-бинарники, capabilities, небезопасные cron-задачи, ошибки в sudo, writable path, системные мисконфигурации и другие типовые векторы.

Для подтверждения LPE необходимо выполнить скрипт /home/lpeflag. Важно понимать, что это либо недоступно обычному пользователю, либо требует более широкого набора прав. Выполнить скрипт нужно уже после повышения привилегий, а не просто из текущего шелла. Поэтому логика такая: сначала находишь входную точку, затем получаешь первоначальный доступ к хосту, потом поднимаешь привилегии до нужного уровня и только после выполняешь /home/lpeflag.

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

В результате ты тоже получаешь флаг в виде UID — он подтверждает, что ты не просто нашел одиночную уязвимость, а построил целую цепочку атаки. Флаг сдается так же — через интерфейс платформы, и обычно критические события приносят больше баллов, чем изолированные баги.
Пример критического события на Standalone-хосте
Важно: на пути к реализации критического события тебе могут встретиться уязвимости, не перечисленные в списке. За них можно получить баллы.
Критические события
Подключение
Для Standalone используется тот же VPN-доступ, что и для остальных сегментов. Конфиг берется в интерфейсе Standoff 365, в разделе Рабочее пространствоДоступ и ресурсы: это файл для OpenVPN, который открывает доступ ко всем адресам вида *.standalone.stf. Скачиваешь конфигурацию, импортируешь ее в OpenVPN-клиент, авторизуешься со своим логином и паролем — и после этого можешь подключаться к хостам Standalone по именам и IP-адресам из описания.
Доступ к Standalone-хостам через VPN
Скоуп и общая информация
Информация о каждом хосте находится на странице Standalone: выбираешь нужный сценарий (например, Board, Rawmatex, Tube) и открываешь вкладку Описание. Там указаны легенда, имя хоста и его адрес (например, board.standalone.stf, 10.124.249.16), а также ссылка на тот же раздел Доступ и ресурсы с VPN-конфигом.
Что делать после подключения
После подключения к VPN открой страницу Standalone, выбери интересующий хост и внимательно прочитай его описание, чтобы зафиксировать имя, IP-адрес и скоуп. Затем посмотри вкладки Уязвимости и Критические события — там перечислены типы уязвимостей и сценарии, за которые можно получить флаги и баллы. Дальше все начинается с разведки выбранного хоста по указанному адресу: сканируешь порты, смотришь, какие сервисы подняты, и уже от этого строишь атаку — ищешь отдельные баги или собираешь цепочку до критического события.
Восстановление инфраструктуры
Как и в Bootcamp, если ты подозреваешь, что работа хоста была нарушена, сначала стоит проверить базовые вещи: подключение к VPN, соответствие IP-адресов, портов скоупу из описания, правильность своих команд и параметров эксплойтов, а также прочитать подсказки и условия задания. Если после этого поведение хоста все еще выглядит технически некорректным, есть смысл предположить, что сломался именно стенд.

Для таких случаев в правой части страницы каждого хоста (Board, Rawmatex, Tube и т. д.) есть кнопка Восстановить. Нажав ее, ты отправишь запрос на перезапуск хоста: платформа пересоздает его экземпляр и вернет сервисы в рабочее состояние. Используй восстановление точечно — только тогда, когда убедился, что проблема не в твоих действиях, а в самом стенде.
Перезапуск Standalone-хоста
Подключение и траблшутинг
Industry — это раздел Standoff Hackbase, в котором ты работаешь уже не с отдельным хостом, а с корпоративными инфраструктурами. В каждом виртуальном предприятии обычно есть внешний и внутренний периметр, домены, несколько сетевых сегментов, хосты с разными ролями и набор критических событий, которые нужно реализовать. В отличие от Standalone, акцент делается не на работе с одной машиной, а на цепочке действий внутри среды — от получения первичного доступа до компрометации важного сервиса, узла администрирования или бизнес-процесса.
Инфраструктурный сценарий в Industry
Industry: что нужно знать
В Industry пригодится почти весь набор инструментов, описанных в разделах выше. На первом этапе это nmap, DNS-утилиты (dig, nslookup, host), веб-инструменты вроде Burp и dirsearch, а также базовые клиенты для сервисов на открытых портах. Они помогают не просто найти один уязвимый хост, а понять, как устроена конкретная инфраструктура: какие домены используются, какие сервисы выставлены наружу, где могут быть точки входа и какие узлы выглядят административно значимыми.

После получения первичного доступа на первый план выходят инструменты для внутренней разведки и продвижения по сети. Для Windows-среды это:

PowerShell — базовый инструмент для работы внутри Windows после получения доступа. Через него удобно собирать системную информацию, смотреть данные о пользователях, группах, сетевых подключениях, службах, процессах, историю команд и содержимое интересных файлов. Обычно начинают с whoami, hostname, ipconfig /all, Get-LocalUser, Get-LocalGroupMember, Get-Process, Get-Service, Get-ChildItem, Get-Content и других команд. Если хост в домене и доступны нужные модули, через PowerShell также удобно делать разведку по Active Directory.


  • Evil-WinRm — инструмент для получения удаленного доступа к Windows через WinRM. Распространяется через GitHub Hackplayers. В README есть описание параметров подключения и примеры использования.

  • CrackMapExec или NetExec — инструменты для работы с сетями Windows и выполнения команд по различным протоколам. Актуальная версия NetExec, инструкции по установке и примеры использования доступны на GitHub.

  • wmiexec — скрипт из Impacket для удаленного выполнения команд через WMI. Обычно его используют, когда есть учетные данные и нужно получить полуинтерактивный доступ без полноценного RDP. Это хороший вариант для тихой удаленной работы с Windows-хостом.

Типовой запуск выглядит так:
python3 wmiexec.py DOMAIN/user:password@target
или
python3 wmiexec.py -hashes LMHASH:NTHASH DOMAIN/user@target

  • psexec — еще один инструмент из Impacket. Работает по принципу, похожему на классический PsExec: создает сервис на целевой машине и позволяет сразу выполнять команды в удаленной системе через него почти так же, как если бы ты работал в ее командной строке. При этом может быть более заметным (оставляет артефакты), так как использует сервис. Удобен, когда у тебя уже есть валидные учетные данные администратора на удаленном хосте.

Типовой запуск:
python3 psexec.py DOMAIN/user:password@target
или
python3 psexec.py -hashes LMHASH:NTHASH DOMAIN/user@target

  • smbexec — инструмент из того же набора, который тоже позволяет выполнять команды удаленно через SMB. Его можно рассматривать как еще одну альтернативу wmiexec.py и psexec.py, если один из способов не сработал или оказался неудобным в конкретной среде.

Типовой запуск:
python3 smbexec.py DOMAIN/user:password@target
или
python3 smbexec.py -hashes LMHASH:NTHASH DOMAIN/user@target

Могут также быть полезными утилиты для локального сбора информации о системе и поиска уязвимых мест. Например, winPEAS — скрипт, который автоматически проверяет компьютер и позволяет найти пути повышения привилегий в Windows. Он анализирует настройки системы, права пользователей, службы, файлы и другие элементы, где могут быть ошибки в конфигурации или слабые места. Скачать его можно с GitHub carlospolop (в разделе Releases также есть README, чек-листы и готовые бинарники).

С помощью описанных выше инструментов обычно собирают учетные данные, смотрят группы и права, проверяют доступ к WinRM, RDP, SMB, исследуют следы администрирования, конфиги, unattended-файлы, историю PowerShell и другие места, где могут быть сведения, полезные для следующих шагов.
Горизонтальное передвижение по сети при помощи Impacket
Если задача доходит до повышения привилегий, в ход идут инструменты для работы с памятью и сервисными учетками:

  • ProcDump — инструмент Microsoft Sysinternals для снятия дампов процессов.

  • Mimikatz — инструмент для работы с учетными данными в Windows.

  • pypykatz— аналог Mimikatz на Python.

  • secretsdump — скрипт из набора Impacket для извлечения хешей из SAM, LSA и NTDS.dit, если у тебя уже есть достаточные привилегии на хосте или контроллере домена.

  • Hashcat — инструмент для офлайн-подбора паролей по хешам с поддержкой большого числа алгоритмов и ускорением через GPU.

  • John the Ripper — инструмент для подбора паролей по хешам, который часто удобен для быстрых проверок, работы со словарями и базового офлайн-крекинга.

  • GetUserSPNs — скрипт из набора Impacket для поиска сервисных учетных записей с SPN и для запроса TGS-билетов. Полученные билеты затем можно анализировать офлайн, например для подбора паролей сервисных аккаунтов (в рамках техники Kerberoasting).

И прочие средства, используемые для атак на LSASS, для извлечения NTLM-хешей и Kerberos-тикетов. В Industry это особенно важно, потому что для реализации критических событий часто нужно не просто проэксплуатировать один локальный баг, а скомпрометировать административный узел, систему управления, доменную инфраструктуру или сервисную учетку, через которую можно повлиять сразу на несколько хостов. Проще говоря, инструменты нужны не только для взлома одного сервиса, а для построения полной цепочки атаки: для входа в инфраструктуру, сбора артефактов, расширения доступа и перемещения до целевой системы.
Инструменты
Как устроен сегмент
У каждой компании и отрасли экономики в Industry есть карточка с описанием инфраструктуры, и именно эта карточка является отправной точкой для решения. Обычно в ней указаны ключевые исходные данные: домены, сведения о внешнем и внутреннем периметре, иногда шлюзы, подсети и другие опорные точки для старта. Например, в описании могут быть подсети внешнего, внутреннего периметра и домен вроде icg. stf, а в более крупных сценариях — сразу несколько доменов и сетей. Это важно, потому что описания критических событий часто краткие: в них указаны цель атаки, последствия и тип артефакта (вроде файла с флагом), но не всегда есть домен, адреса и полная карта сегмента.
Изучение связей пользователей в домене при помощи BloodHound
BloodHound — инструмент для анализа связей в Active Directory. Документация с описанием установки и начальной настройки доступна на сайте SpecterOps.
С чего начинать решение
Выпиши информацию о доменах, внешнем и внутреннем периметре, имена сервисов, а также любые подсказки о структуре сети. После открой список критических событий и сопоставь каждое из них с инфраструктурой: к какому домену относится задача, какой продукт или какая роль упомянуты в описании, где этот сервис логичнее искать и какой уровень доступа для него обычно нужен. Только затем начинается разведка: сканирование внешнего периметра, поиск доступных сервисов, проверка веба, почты, VPN, Windows-инфраструктуры, административных узлов и систем управления.
Какие навыки особенно важны
Требуется все, что уже отработано в Bootcamp и Standalone: навыки сетевой разведки, работы с вебом, эксплуатации типовых уязвимостей, умение анализировать Windows- и Linux-хосты, искать конфиги, учетки и ошибки в правах. Но добавляется еще один важный уровень — умение видеть инфраструктуру целиком. Нужно понимать, какие узлы являются пользовательскими, какие — серверными, где находятся системы управления, какие сервисные учетные записи связывают сегменты между собой и через какие хосты реально двигаться дальше. Чем лучше ты умеешь строить карту окружения и отмечать связи между системами, тем проще решаются задачи такого уровня.
Пример логики решения
Типичный сценарий в Industry может выглядеть так: сначала ты получаешь доступ к одному из Windows-хостов, возможно, находишь на нем следы административной активности, затем проводишь локальное перечисление артефактов — истории PowerShell, конфигов развертывания, unattended-файлов, сведений о локальных группах и политиках. Можно извлечь из них учетные данные или понять, какой узел в инфраструктуре играет роль системы управления. После этого найденный доступ используется для перехода на административный хост, где собираются уже более чувствительные данные — например, сервисные учетные записи или материалы для аутентификации. Именно такая цепочка, а не отдельная изолированная уязвимость чаще всего и приводит к реализации критического события.
Принципы решения задач
Подключение и скоуп
Подключение к Industry организовано так же, как и к другим сегментам Standoff Hackbase: VPN-конфиг берется на странице Рабочее пространство Доступ и ресурсы, после чего импортируется в OpenVPN-клиент. Но в отличие от Bootcamp, где скоуп часто более понятный, в Industry особенно важно сразу открыть описание конкретного сегмента. Именно там обычно указаны домены, информация о внешнем и внутреннем периметре, иногда — шлюзы, подсети и другие данные, без которых к критическим событиям вообще трудно подступиться. Карточки заданий могут быть намеренно краткими: в них описываются цель и последствия, но не всегда представлен весь необходимый скоуп.
Где смотреть скоуп для сегмента Industry (ICG)
Восстановление
Если что-то идет не так, логика траблшутинга остается той же: сначала проверяешь подключение к VPN, соответствие скоупу, корректность адреса и домена, доступность хостов, правильность своих команд и гипотезы, а уже потом подозреваешь проблему со стендом.
На странице сценария в Industry есть кнопка Восстановить, которая позволяет перезапустить конкретный сегмент, если он начал работать некорректно. Ее стоит использовать точечно, когда поведение инфраструктуры действительно выглядит сломанным: сервисы не отвечают, хосты ведут себя не так, как должны, или задача перестает воспроизводиться при корректных шагах.
Перезапуск сегмента Industry
Подключение и траблшутинг