Как я инфру в буткемпе на Standoff365 проходил [Infra 1] — [Infra 12]

от автора

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

Начнем с первой инфры.

[infra-1] Внешняя разведка

Поскольку в подсказках нам указывают сайт на котором нужно искать e-mail, то переходим на сайт www.edu.stf и смотрим в футере, позже они нам все пригодятся.

Вводим получаем первые 50 очков.

[infra-2] Получение доступа к внутренней почте

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

Пошел читать старые методички и вспомнил про утилиту dig. MX — запись почтового сервера в DNS.

dig MX edu.stf @10.124.1.240; <<>> DiG 9.20.22-1-Debian <<>> MX edu.stf @10.124.1.240;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4969;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 1232; COOKIE: fcf10a9b3ec7da8e010000006a1015d40051135593be6226 (good);; QUESTION SECTION:;edu.stf.                       IN      MX;; ANSWER SECTION:edu.stf.                604800  IN      MX      10 mail.edu.stf.;; ADDITIONAL SECTION:mail.edu.stf.           604800  IN      A       10.124.1.203;; Query time: 207 msec;; SERVER: 10.124.1.240#53(10.124.1.240) (UDP);; WHEN: Fri May 22 04:37:44 EDT 2026;; MSG SIZE  rcvd: 101

Добавляем в etc/hosts.

Далее можно использовать Burp, как пишут некоторые авторы райтапов, но для 3 email’ов и 10 паролей это как гнать “КАМАЗ”, чтобы добраться до соседнего дома. Найденные e-mail на сайте и полученный spray.txt прогоняем через консольную утилиту.

atomizer owa mail.edu.stf spray.txt users_standoff.txt -i 0:00:01[*] Trying to find autodiscover URL[+] Using OWA autodiscover URL: https://exchange.edu.stf/autodiscover/autodiscover.xml[+] OWA domain appears to be hosted internally[+] Got internal domain name using OWA: edu[*] Starting spray at 2026-05-21 20:53:27 UTC[-] Authentication failed: t_mathis@edu.stf:password (Invalid credentials)[-] Authentication failed: r_andrews@edu.stf:password (Invalid credentials)[-] Authentication failed: s_dotson@edu.stf:password (Invalid credentials)[*] Starting spray at 2026-05-21 20:58:27 UTC[-] Authentication failed: r_andrews@edu.stf:anna (Invalid credentials)[-] Authentication failed: t_mathis@edu.stf:anna (Invalid credentials)[-] Authentication failed: s_dotson@edu.stf:anna (Invalid credentials)[*] Starting spray at 2026-05-21 21:03:28 UTC[-] Authentication failed: t_mathis@edu.stf:dancer (Invalid credentials)[-] Authentication failed: s_dotson@edu.stf:dancer (Invalid credentials)...[+] Dumped 2 valid accounts to owa_valid_accounts.txt

Находим 2 валдиные учетные записи с паролем.

Можно отправить e-mail с любой из них и ответным письмом получим флаг.

[infra-3] Получение доступа к VPN компании

Это задание напрямую связано с одним из заданием web. Я ранее уже находил этот config во время фаззинга скрытых директорий.

Копируем содержимое, сохраняем в .ovpn подключаемся с кредами найденными в прошлом задании.

[infra-4] Внутренняя разведка (Active Directory)

Далее из файла config узнаем следующее

route 10.154.16.0 255.255.254.0ifconfig 10.154.17.5 255.255.255.224dhcp-option DNS 10.154.16.134

IP-адрес внутри сети: 10.154.17.5 с маской /27 (255.255.255.224). То есть текущая локальная подсеть — это диапазон от 10.154.17.0 до 10.154.17.31.

Почтовый сервер 10.124.1.203, относится к DMZ или соседней технологической подсети периметра, но основные ресурсы AD будут именно в диапазоне 10.154.16.0/23.

Сначала нужно просто понять, какие IP-адреса вообще отвечают на запросы. Пройдемся по всей сети 10.154.16.0/23 без сканирования портов (-sn):

nmap -sn -v 10.154.16.0/23 -oG live_hosts.txt
grep "Up" live_hosts.txt | awk '{print $2}' > targets.txt

Можно пойти еще дальше и собрать файлик для etc/hosts с уже живыми айпишниками и доменными именами, которые nmap выдал в выводе.

awk '/Status: Up/ && $3 !~ /^\(\)$/ { ip = $2; host = $3; gsub(/[()]/, "", host); print ip, host }' infra-hosts1.txt > awk-host.txt

Поиск критических портов инфраструктуры (Для Active Directory)

nmap -sS -Pn -p 88,135,139,389,445,3268,3389,80,443 -iL targets.txt -oN ad_services.txt

Также можно запустить проверку всей сети на протокол SMB (Windows-машины). Команда сама покажет имена компьютеров, версии Windows (например, Windows Server 2019) и входит ли хост в домен:

nxc smb 10.154.16.0/23
Находим комп Родригеза

Находим комп Родригеза

Находим комп родригеза и запрашиваем его телефон с помощью ldap

ldapsearch -x -H ldap://10.154.16.134 -D "r_andrews@edu.stf" -w "***" -b "DC=edu,DC=stf" "(sAMAccountName=*rodriquez*)" | grep "phone"

[infra-5] Получение доступа к компьютеру сотрудника HR-департамента

Далее проводим разведку протоколов, нужный нам winrm.

nxc winrm 10.154.16.0/23 -u 's_dotson' -p '***'

Подключаемся, читаем флаг.

[infra-6] Получите доступ к компьютеру сотрудника HR-департамента

С этим заданием у меня возникли проблемы. Я изучил инфу о фишинге и протестировал мой макрос у себя на локальной машине. Doc документ отлично отркывается и получаю сессию в Adaptix C2. Здесь же отправлял в разное время с 2 аккаунтов, но письма просто идут в пустоту, ни ответа, ни привета.

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

Во время сканирования одного из пк я нашел креды, причем в открытом виде двух ws админов. Простая проверка кредов дала заветную надпись (Pwn3d!) к нужному пк. Подключаемся также по winrm и просто читаем флаг. А закрепление в системе с правами админа, уже не составляет никакого труда.

[infra-7] Повышение привилегий на компьютере сотрудника HR-департамента

Осматриваемся на пк к которому у нас есть креды и доступ по winrm. Winpeas и Sharpup могут помочь https://github.com/ghostpack/sharpup

Для sharpup нужно скомпилировать исходники. Переходим в папку компилируем на Kali.

xbuild SharpUp.csproj /p:Configuration=Release /p:Platform="AnyCPU"

Однако если скомпилируем так, на виндовой машине вылезет ошибка версий, поэтому в файле SharpUp.csproj нужно заменить номер версии в строке на 4.5

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

Тогда в папке bin будет уже готовая версия.

Передаем на сервер. Запускаем

C:\Users\S_Dotson\Documents\SharpUp.exe audit
powerup_win_privs

powerup_win_privs

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

Я делал это с помощью Adaptix C2, только сгенерировать нужно “Service Exe”. Загружаем старый файл переименовываем, а новый файл кладем на место старого. Поскольку служба сейчас остановлена, нужно перезагрузить систему.

Далее получаем сессию, от имени тогоже s_dotson, но уже с правами High Label и с большим количеством прав.

Adaptix_C2

Adaptix_C2

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

Миграция_на_системный_процесс

Миграция_на_системный_процесс

Читаем флаг в корне диска C.

Также не стоит забывать просканить пк через утилиту winpeas.

[infra-8] Повышение привилегий на компьютере сотрудника HR-департамента

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

Просто_читаем_флаг

Просто_читаем_флаг

[infra-9] Эксплуатация внутренних сервисов компании

Этот таск тоже мог бы быть очень крутым, если бы сработал. Здесь речь идет об уязвимости PrintNightmare, одна из доступных CVE — https://github.com/cube0x0/cve-2021-1675 . PrintNightmare основана на том, что служба печати Windows (Print Spooler) доверяла пользователю загрузку драйвера принтера и запускала его с очень высокими привилегиями (SYSTEM)

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

Подключается к службе печати по RPC. Вызывает функцию AddPrinterDriverEx. Указывает путь к DLL (генерируем через msfvenom) через SMB-шару. Заставляет Print Spooler загрузить эту DLL как драйвер. DLL выполняется с привилегиями SYSTEM.

Для эксплуатации PrintNightmare достаточно иметь абсолютно любые валидные доменные учетные данные. У нас их к этому заданию уже вагон и маленькая телега.

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

В итоге я забил на это дело и перешел к другому заданию. Я пошел далее пылесосить соседние пк на предмет других кредов или другой полезной инфы.

Пока я шарился по компам я увидел еще один флаг он оказался из 10 задания.

[infra-10] Получение доступа к учетной записи администратора рабочих станций

Нужно прочитать флаг на компе ws админа, от которого уже есть доступ. Есть smb причем с правами read,write на 2 папки.

Шары_smb

Шары_smb

Подключаемся через smbclient читаем флаг, грузим агента для удобства.

Но вернемся к предыдущему заданию.

В докуметах на этом же компе пользователя L_Shepherd_admin находим файл Database.kdbx.

База_где_деньги_лежат

База_где_деньги_лежат

База данных естественно под паролем, который неизвестен. Снимаем хэш с помощью джона и брутим.

Ломаем_базу

Ломаем_базу
Открываем_базу

Открываем_базу

Здесь получаем креды еще от двух пользователей.

Уже с этими кредами заходим на комп BACKUP и читаем флаг.

[infra-11] Восстановление пароля учетной записи

Тоже неплохое задание. По задумке автора из подсказки.

С помощью учетной записи из группы ws_admins зайдите в компьютер (cfrazier.edu.stf), создайте дамп LSASS и получите хеш-сумму пароля пользователя.Далее используйте специальные инструменты (john, Hashcat) для восстановления пароля.

Конечно можно с собой таскать mimikatz и дампить NTLM хэши паролей.

Однако когда у вас есть ссессия в Adaptix C2, причем уже High Level, остается только повыситься до SYSTEM.

Далее вводим команду

lsadump_secrets
Дампим_секреты

Дампим_секреты

Пароль уже в открытом виде. Однако не всегда это работает, но в данном случае отработало.

[infra-12] Эксплуатация внутренних сервисов компании

С этим заданием я так знатно запарился и нашел много неверных “викторов”.

Я пошел на сервера MSSQL, BACKUP в надежде найти ключи от DC.

Сайт

Сайт

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

Еще_неправильный_сайт

Еще_неправильный_сайт

Я даже сначала не прочитал внимательно задание, а пошел сразу искать пути к Doamin Controller. А в задании нужно было SHPOINT.

В итоге ключи к SHPOINT подбираются просто.

Берем_последний_флаг

Берем_последний_флаг

Но можно пойти по пути автора таска и использовать атаку Kerberoasting.

nxc ldap edu.stf -u Internet -p Web12345678 --kerberoasting out2.

Получим хэш, ломаем Джоном, за 3 секунды, получаем пароль, логинмся через evil-winrm.

Берем_последний_флаг_по_задумке_автора

Берем_последний_флаг_по_задумке_автора

Infra пройдена.

Как итог

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

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

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

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

Самый_сложный_таск_на_всем_диком_Западе

Самый_сложный_таск_на_всем_диком_Западе

Активных хакеров — 2820

Активные_хакеры

Активные_хакеры

А теперь немного подсчета. Если активных хакеров у нас 2820, а прошли 52 человека, то получается полностью прошли буткемп около 1.84%. Менее 2% людей не только из РФ, судя по тому что сайт имеет английскую версию, а также можно найти райтапы некоторых тасков на английском языке.

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

Здесь может быть несколько причин почему так.

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

Второе — во время прохождения, сервер с заданием упал, люди обращаются в поддержку, а решаются такие проблемы не всегда быстро. У меня например было такое. Я сел решать задание в пятницу вечером. На одном из тасков web отсутсвовала связь с базой данных, в итоге кокретный таск решить нельзя. Обратился в поддержку в пятницу вечером, ответ был только в понедельник утром. По выходным поддержка не работает. За выходные я не смог порешать буткемп, а в понедельник возвращаться уже не было ни времени ни желания. В итоге человек просто сгорает и бросает это дело.

Третье — подсказки. Некоторые из них скорее всего давно не обновлялись, а некоторые эксплойты или пути решения уже не работают. Я также с этим столкнулся, но просто пошел другим путем и решил пару тасков не по задумке автора. Также некоторые из подсказок — это не подсказки, а тупо решение по типу “заюзайте вот такой эксплойт с номером”. Не могу сказать, что это плохо, но некоторых может оттолкнуть.

Что имеем по итогу? Неплохую сеть из windows AD, пусть не самую новую, но работающую, также сервера с разными дистрибутивами в основном Debian и Ubuntu. Не самые заезжанные уязвимости и в целом неплохую инфраструктуру, на которой можно отточить навыки работы с netexec, impacket, C2 на выбор и других утилит. К тому же это еще и бесплатно.

Однако за бесплатностью кроется и дьявол. Если бесплатно, то вам ничего и не должны. Не нужно удивляться, если вы приходите после работы в надежде пройти интересную машину, а получите неработающий таск. Ладно, но можно пройти другой? Да, но есть и ключевой таск, который просто не пустит вас в инфру, если вы ранее не сохранили файл доступа…

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

Я лишь описал свой опыт прохождения и взаимодействия с платформой. У кого-то возможно все проходит гладко и ничего не падает и не лагает. Однако пообщавшись с коллегами, я понял, что я такой не один…

ссылка на оригинал статьи https://habr.com/ru/articles/1043364/