NSK CTF School 2026: архивы ALICE, рейдовые боссы и восемь баллов до победы

7 ноября на NSK CTF School 2026 сыграли 52 команды. Школьникам предложили 25 тасков в восьми категориях — от криптографии и анализа файлов до веб-уязвимостей и реверса. Всё это объединила история «Лаборатории X»: участники разбирались в её прошлом, восстанавливали записи суперкомпьютера ALICE и искали флаги. В старшем зачёте Новосибирской области победителя и второе место разделили восемь баллов.

Ревизия лаборатории

По легенде турнира, «Лаборатория X» скрывалась за дверью, которой нет на чертежах. Трое постоянных сотрудников проводили эксперименты, а суперкомпьютер ALICE наблюдала за происходящим. Её правило — смотреть и не вмешиваться. Участникам предстояло разобраться в накопленном архиве: журналах, записях камер, протоколах и списках допусков.

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

Турнир прошёл онлайн в формате Jeopardy. В программу вошли network, crypto, forensic, misc, osint, pwn, reverse и web. Команды соревновались в четырёх зачётах: 22 — среди учащихся 10–11 классов Новосибирской области, 13 — среди учащихся 7–9 классов области, семь — в зачёте СФО и десять — в гостевом.

Репозиторий соревнования — https://github.com/acisoru/NSKCTF-2026-v2

Тематическое оформление было даже у системных сообщений

Кнопка, утка и три босса

В анонсе организаторы приглашали игроков без опыта и обещали задания, в которых поможет внимательность. Одним из вводных тасков стал DON’T PRESS в категории web. На экране была кнопка, нажать которую мешали несколько ограничений. Сначала она была отключена, затем убегала от курсора, а после требовала тысячу нажатий с паузами.

Авторское решение показывало, что все эти препятствия находились на стороне браузера. Отключённую кнопку можно было включить через инструменты разработчика, убегающую — нажать с клавиатуры, а счётчик — изменить в cookie. Таск знакомил с тем, почему серверу нельзя доверять данным, которые присылает пользователь.

В «Маршруте утки» из категории misc участники восстанавливали движение по последовательности команд за 2191 сутки. Утка поворачивала, шла вперёд, наступала в лужи и вытирала лапы о коврик. Следы оставались только от мокрых лап — нужно было увидеть, что она натоптала.

Другой misc, «Ревизия: карантин», предлагал собрать отряд, найти снаряжение и пройти рейдовых боссов. Вне безопасных зон разрешался PvP. По условию, первые два босса выдавали персональные допуски, а последний открывал архив с флагом участникам отряда, нанёсшего финальный удар.

Именно этот таск запомнился Марку revpwn из Cyb3rp4w5. На вопрос о любимом задании он ответил коротко: «Пострелялся, поубивал».

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

«А мы лишь курировали»

Cyb3rp4w5 начала игру с криптографии. По словам Марка, первый таск команда решила с помощью GPT и быстро включилась в соревнование. Дальше участники распределяли работу между ИИ-агентами.

«Писали небольшие скиллы под агентов, далее делили по командам агентов и отправляли всё это дело по чатам», — рассказал Марк.

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

По его словам, работе мешали лимиты и ошибки ToS. После ошибок команда создавала новые чаты, а при исчерпании лимитов использовала новые аккаунты.

Отдельные задания Марк решал вручную. Он привёл пример таска, который назвал «Забытая таблица»: извлёк хеш из архива, подобрал пароль по словарю с помощью John the Ripper и получил флаг.

Восемь баллов между первым и вторым местом

По ходу игры Cyb3rp4w5 пришлось догонять лидера.

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

По словам Марка, уверенность в победе появилась после решения OSINT-таска, у которого до этого не было ни одного решения. Команда продолжила работать: хотела добрать ещё один таск и увеличить преимущество примерно до тысячи баллов.

В итоговой таблице разрыв оказался значительно меньше. Cyb3rp4w5 набрала 17 085 баллов, Flag Bearers — 17 077. Третье место в старшем зачёте Новосибирской области заняла A1 H4ck с 16 175 баллами.

В зачёте 7–9 классов области победила [LIT]pwn4food — у команды тоже 17 077 баллов. В зачёте СФО первой стала Ligu, в гостевом — l0st byt3s.

Зачёт Первое место Второе место Третье место
НСО, 10–11 классы Cyb3rp4w5 — 17 085 Flag Bearers — 17 077 A1 H4ck — 16 175
НСО, 7–9 классы [LIT]pwn4food — 17 077 Джентельмены — 7 202 NAVI — 6 293
СФО Ligu — 14 089 Шарокататели — 4 232 fr34kk1d5 — 1 886
Гостевой l0st byt3s — 10 170 TechnoH4ck — 9 253 KernelSense — 5 437