Локальная CTF-площадка: базовая инструкция для школы

Локальная CTF-площадка: базовая инструкция для школы

Эта страница описывает практический порядок запуска локальной CTF-площадки в школе: загрузка файлов, подготовка VirtualBox, настройка Wi-Fi-сети, запуск серверной виртуальной машины, подключение участников и сохранение результатов.

Это открытая базовая памятка для организатора. Она не заменяет официальные требования и инструкции конкретной олимпиады или соревнования. Перед проведением обязательно сверяйтесь с актуальными документами первоисточника.

Первоисточник

Официальная страница для региональных организаторов практического тура ВСОШ по информатике, профиль «Информационная безопасность»:

https://vsosh.miem.hse.ru/organizers 

На этой странице размещаются виртуальные машины участника, виртуальные машины организатора для 9, 10 и 11 классов, инструкции участника и инструкции организатора.

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


Кому подойдёт эта схема

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

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

Исходные условия примера

Организатор

Ноутбук с 16 ГБ оперативной памяти. На нём запускается серверная виртуальная машина нужного класса.

Участники

5 компьютеров на МОС 12. На каждом компьютере запускается VirtualBox и виртуальная машина участника.

Сеть

Отдельный Wi-Fi-роутер. Интернет не обязателен. Главное — чтобы участники видели серверную виртуальную машину.

Запуск классов

9, 10 и 11 классы запускаются по очереди. Одновременно держать три серверные виртуальные машины не требуется.


Общая схема работы

Ноутбук организатора ↓ VirtualBox ↓ ВМ администратора нужного класса ↓ CTFd с заданиями ↓ Wi-Fi-роутер ↓ ПК участников на МОС 12 ↓ VirtualBox ↓ ВМ участника ↓ Браузер внутри ВМ открывает CTFd

В официальной логике практического тура используется CTFd: серверная виртуальная машина содержит платформу и задания, а виртуальная машина участника содержит инструменты, README и справочные материалы.


1. Скачать необходимые файлы

С официальной страницы организаторов нужно скачать:

  • виртуальную машину участника;
  • виртуальную машину администратора для 9 класса;
  • виртуальную машину администратора для 10 класса;
  • виртуальную машину администратора для 11 класса;
  • инструкцию участника;
  • инструкцию организатора.

Если проводится только один класс, скачивается ВМ участника и ВМ администратора соответствующего класса. Если планируется запуск 9, 10 и 11 классов по очереди, удобнее заранее скачать все три серверные ВМ.

Официальный раздел: https://vsosh.miem.hse.ru/organizers

2. Подготовить папки

На ноутбуке организатора удобно сразу создать отдельную папку:

D:\VSOSH_IB_2026\ 00_docs\ 01_downloads\ 02_student_vm\ 03_admin_vm_9\ 04_admin_vm_10\ 05_admin_vm_11\ 06_results\ 9_class\ 10_class\ 11_class\ 07_backup\

На ПК участника под отдельным пользователем можно создать:

/home/vsosh/VSOSH_IB_2026/student_vm/

Лучше избегать длинных путей, случайных папок на рабочем столе и названий вроде «новая папка финал 2». С виртуальными машинами проще работать из понятной структуры.


3. Настроить Wi-Fi-роутер

Роутер лучше использовать как отдельную локальную сеть для мероприятия. Интернет для такого запуска не обязателен.

Имя Wi-Fi: VSOSH-IB DHCP: включён Интернет: не обязателен Адрес роутера: например 192.168.50.1 Сеть: например 192.168.50.0/24

В настройках роутера обязательно отключите всё, что похоже на изоляцию клиентов:

  • AP Isolation;
  • Client Isolation;
  • Guest Network Isolation;
  • «Изоляция клиентов»;
  • «Гостевая сеть» для участников.

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


4. Подготовить ноутбук организатора

На ноутбук организатора нужно установить:

  • VirtualBox;
  • архиватор для распаковки файлов;
  • браузер;
  • PDF-ридер для инструкций.

Затем нужно распаковать серверные виртуальные машины:

9 класс → D:\VSOSH_IB_2026\03_admin_vm_9\ 10 класс → D:\VSOSH_IB_2026\04_admin_vm_10\ 11 класс → D:\VSOSH_IB_2026\05_admin_vm_11\

В VirtualBox серверную ВМ можно добавить через «Машина → Добавить», если есть файл .vbox, или через «Файл → Импорт конфигураций», если используется .ova или .ovf.


5. Настроить сеть серверной ВМ

Для серверной виртуальной машины администратора нужен доступ из локальной сети. Поэтому в VirtualBox для ВМ администратора обычно выбирают сетевой мост.

VirtualBox → выбрать ВМ администратора → Настройки → Сеть → Адаптер 1 → Включить сетевой адаптер → Тип подключения: Сетевой мост / Bridged Adapter → Имя: Wi-Fi-адаптер ноутбука

Важное уточнение: адрес платформы для участников лучше брать у самой серверной виртуальной машины, а не у пользователя на МОС 12 и не у компьютеров участников. После запуска серверной ВМ нужно узнать её IP в локальной сети.


6. Запустить платформу для нужного класса

Пример для 9 класса:

1. Подключить ноутбук организатора к Wi-Fi VSOSH-IB. 2. Открыть VirtualBox. 3. Запустить ВМ администратора 9 класса. 4. Внутри ВМ открыть терминал. 5. Выполнить команду: ./ctfd_start.sh

После запуска платформы внутри серверной ВМ нужно открыть:

http://127.0.0.1:80

Если CTFd открылся внутри серверной ВМ, значит платформа поднялась локально.


7. Узнать IP серверной ВМ

Внутри серверной ВМ в терминале выполните:

ip a

Нужно найти адрес в сети роутера, например:

192.168.50.20

Тогда адрес платформы для участников будет:

http://192.168.50.20:80

Если после перезапуска IP изменился, нужно снова проверить адрес командой ip a и дать участникам новый адрес. Если роутер позволяет, лучше закрепить IP для серверной ВМ по MAC-адресу.


8. Настроить CTF Owl / FRP Settings

В CTFd нужно войти как администратор и открыть:

Admin Panel → Plugins → CTF owl → FRP Settings

В настройках нужно заменить:

localhost или 127.0.0.1

на IP серверной ВМ, который видят участники:

192.168.50.20

Затем сохранить настройки.

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


9. Подготовить ПК участника на МОС 12

На каждом ПК участника удобно создать отдельного пользователя:

vsosh

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

  • создать пользователя vsosh;
  • не давать ему права администратора;
  • установить VirtualBox из-под администратора системы;
  • проверить, что пользователь vsosh может запустить VirtualBox;
  • скопировать ВМ участника в папку пользователя;
  • добавить или импортировать ВМ участника в VirtualBox.
Пример папки: /home/vsosh/VSOSH_IB_2026/student_vm/

Если VirtualBox под пользователем vsosh не запускается, нужно проверить права пользователя, установку VirtualBox и поддержку виртуализации на компьютере.


10. Настройки ВМ участника

ВМ участника обычно лучше оставить с сетевым режимом NAT.

VirtualBox → ВМ участника → Настройки → Сеть → Адаптер 1 → NAT

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


11. Запустить ВМ участника

Под пользователем vsosh запустите VirtualBox и откройте ВМ участника.

Внутри ВМ участника используется логин и пароль:

kali / kali

После входа в Kali откройте браузер внутри виртуальной машины и перейдите по адресу платформы:

http://IP_серверной_ВМ:80

Пример:

http://192.168.50.20:80

12. Проверить доступ перед стартом

До начала тура нужно проверить не просто запуск ВМ, а полный путь участника:

1. ПК участника подключён к Wi-Fi VSOSH-IB. 2. Пользователь вошёл под аккаунтом vsosh. 3. VirtualBox запускается. 4. ВМ участника запускается. 5. Вход kali / kali работает. 6. В браузере внутри Kali открывается CTFd. 7. Участник входит в CTFd. 8. Раздел Challenges открывается. 9. Задание открывается. 10. Если есть Launch — кнопка работает. 11. Тестовый флаг принимается. 12. Scoreboard обновляется.

13. Подготовить логины и пароли участников

Логины и пароли для CTFd лучше подготовить заранее.

ФИО | Класс | ПК | Логин CTFd | Пароль CTFd | Примечание

Возможные форматы логинов:

v00.000.000 или ivanov-ii

Соответствие ФИО участника и его учётной записи нужно сохранить отдельно, чтобы после тура корректно перенести результаты.


14. Что сказать участникам перед началом

Работа выполняется внутри виртуальной машины Kali. 1. Запустите VirtualBox. 2. Откройте виртуальную машину участника. 3. Войдите в Kali: kali / kali. 4. Откройте браузер внутри Kali. 5. Перейдите по адресу платформы. 6. Войдите под выданным логином и паролем CTFd. 7. Задания находятся в разделе Challenges. 8. Если в задании есть кнопка Launch — нажмите её и дождитесь запуска. 9. Найденный флаг вводите в поле ответа. 10. Следите за количеством попыток. 11. Интернет не используется.

Внутри ВМ участника уже есть справочные материалы и инструменты. В инструкции участника перечислены каталоги с документацией, Obsidian, Ghidra, IDA Freeware, gdb, dirsearch, curl, LibreOffice, binwalk, pwntools, Volatility и другие утилиты.


15. Проведение одного класса

Пример порядка для 9 класса:

1. Запустить ВМ администратора 9 класса. 2. Выполнить ./ctfd_start.sh. 3. Проверить http://127.0.0.1:80 внутри серверной ВМ. 4. Узнать IP серверной ВМ через ip a. 5. Настроить FRP Settings на этот IP. 6. На 5 ПК участников запустить ВМ участника. 7. Открыть CTFd из браузера внутри Kali. 8. Выдать логины и пароли. 9. Проверить вход всех участников. 10. Провести тур. 11. После тура выгрузить результаты. 12. Выключить ВМ администратора 9 класса.

Для 10 и 11 класса порядок такой же, только запускается соответствующая серверная ВМ.


16. После завершения тура

После тура нужно сохранить результаты.

  • открыть Admin Panel;
  • открыть Scoreboard;
  • сохранить страницу итоговых результатов в PDF;
  • выгрузить CSV с результатами;
  • выгрузить Submissions;
  • выгрузить Users + fields;
  • сохранить протокол соответствия участников и учётных записей.
Пример структуры: D:\VSOSH_IB_2026\06_results\9_class\ D:\VSOSH_IB_2026\06_results\10_class\ D:\VSOSH_IB_2026\06_results\11_class\

17. Если платформа не открывается

Проверить серверную сторону

  • ВМ администратора запущена?
  • Команда ./ctfd_start.sh выполнена?
  • Внутри серверной ВМ открывается http://127.0.0.1:80?
  • IP серверной ВМ правильно найден через ip a?
  • В FRP Settings указан IP серверной ВМ, а не localhost?

Проверить участника

  • ПК участника подключён к правильной Wi-Fi-сети?
  • ВМ участника запущена?
  • Браузер открыт именно внутри Kali?
  • Адрес платформы введён правильно?
  • ВМ участника находится в режиме NAT?

Проверить роутер

  • DHCP включён?
  • Изоляция клиентов отключена?
  • Это не гостевая сеть?
  • Все устройства подключены к одной Wi-Fi-сети?

18. Если Launch не работает

Если сама платформа открывается, но задания с кнопкой Launch запускаются неправильно, чаще всего проблема в FRP Settings.

Проверить: Admin Panel → Plugins → CTF owl → FRP Settings Должно быть: IP серверной ВМ в локальной сети Не должно быть: localhost 127.0.0.1

После изменения настроек нужно сохранить их, обновить страницу задания и повторить Launch.


19. Быстрый чеклист

  • [ ] Скачана ВМ участника.
  • [ ] Скачана ВМ администратора нужного класса.
  • [ ] Установлен VirtualBox на ноутбуке организатора.
  • [ ] Установлен VirtualBox на ПК участников.
  • [ ] Настроен отдельный Wi-Fi-роутер.
  • [ ] Изоляция клиентов на роутере отключена.
  • [ ] Серверная ВМ запускается.
  • [ ] Выполняется команда ./ctfd_start.sh.
  • [ ] CTFd открывается внутри серверной ВМ.
  • [ ] IP серверной ВМ найден через ip a.
  • [ ] FRP Settings настроен на IP серверной ВМ.
  • [ ] На МОС 12 создан пользователь vsosh.
  • [ ] Пользователь vsosh без административных прав.
  • [ ] ВМ участника запускается.
  • [ ] Вход kali / kali работает.
  • [ ] Из браузера внутри Kali открывается CTFd.
  • [ ] Тестовый пользователь входит в CTFd.
  • [ ] Challenges открываются.
  • [ ] Launch работает.
  • [ ] Тестовый флаг принимается.
  • [ ] Scoreboard обновляется.
  • [ ] Логины и пароли участников подготовлены.
  • [ ] После тура результаты выгружены и сохранены.

Связанные материалы