Привет, Хабр!
Когда я только начал интересоваться информационной безопасностью, аббревиатура CTF встречалась буквально везде: в чатах, статьях, вакансиях и рассказах специалистов из ИБ.
Проблема была только одна — совершенно непонятно, что это такое и с чего вообще начинать.
В этой статье я постараюсь простыми словами подробно рассказать, что такое CTF, какие бывают категории задач, где тренироваться новичку и как не потерять мотивацию в первый месяц обучения.
Что такое CTF?
Если говорить простыми словами:
CTF (Capture The Flag) — это соревнование по информационной безопасности, где участникам нужно решать технические задачи и находить специальные строки — флаги.
Если вы когда-нибудь проходили квесты или решали головоломки, то принцип очень похож. Только вместо загадок здесь используются технологии, программы и компьютерные сети.
Когда я впервые услышал про CTF, мне казалось, это что-то вроде соревнований для профессиональных хакеров.
На практике большинство новичков начинают с очень простых задач, которые можно решить даже без глубоких знаний программирования или безопасности.
По сути CTF — это набор практических технических задач разной сложности, каждая из которых требует исследовать, анализировать или взламывать что-то в рамках правил соревнования.
Каждый найденный флаг приносит очки, а побеждает тот, кто наберет их больше остальных.
Что такое флаг?
Поскольку почти все задания в CTF сводятся к поиску флага, стоит разобраться, что это вообще такое.
Флаг — это специальная строка, которая подтверждает, что вы нашли правильное решение. Обычно она выглядит примерно так:
CTF{w3lc0me_t0_the_g4me}
Механика очень простая:
Нашли флаг —> Отправили его на платформу —> Получили очки.
Зачем вообще это нужно?
Когда я только начинал, мне казалось, что CTF — это просто набор задачек ради очков. Но уже через несколько недель понял, что здесь гораздо важнее сам процесс поиска решения.
Например, благодаря CTF я впервые начал регулярно обращаться к технической документации и перестал воспринимать незнакомые технологии как что-то пугающее.
Вот несколько причин, почему многие задерживаются в этой сфере надолго:
-
Практика:
Вместо сухой теории вы постоянно сталкиваетесь с реальными задачами: анализируете сайты, работаете с сетями, изучаете криптографию и программы. -
Навык поиска информации:
Очень быстро приходит понимание, что знать всё невозможно. Намного важнее уметь находить нужную информацию и применять её на практике. -
Сообщество:
Через соревнования многие находят единомышленников, будущих коллег и даже команды для крупных турниров. -
Карьера:
Хорошие результаты на CTF нередко становятся заметным плюсом при трудоустройстве. Многие работодатели в сфере ИБ обращают внимание на участие в соревнованиях, а крупные турниры иногда становятся местом знакомства будущих сотрудников и работодателей. -
Призы:
CTF — это не только обучение и практика. На крупных соревнованиях призовые фонды могут исчисляться сотнями тысяч рублей, а иногда и миллионами.
Помимо денег часто разыгрывают технику, мерч, сертификаты и приглашения на стажировки.
Как проходит соревнование?
Процесс обычно выглядит примерно так:
-
Регистрируетесь на платформе или соревновании.
-
Получаете доступ к списку задач. Обычно они разделены по категориям.
Например:
Web — задачи на сайты и веб-приложения.
Crypto — задачи на шифрование.
Reverse — анализ программ.
Forensics — расследование цифровых следов.(Если эти названия пока ни о чем не говорят — не переживайте.
Ниже мы подробно разберем каждую категорию и посмотрим примеры реальных задач) -
Выбираете понравившуюся задачу и начинаете разбираться в условиях.
Иногда организаторы выдают файл для анализа, иногда — ссылку на сайт или доступ к удаленному серверу. -
Находите флаг и отправляете его в систему проверки.
-
Получаете очки и переходите к следующей задаче.
На словах всё выглядит довольно просто, но именно во время решения задач начинается самое интересное: поиск подсказок, проверка гипотез, работа с новыми инструментами и постоянное изучение чего-то незнакомого.
Важно понимать:
Никто не ожидает, что вы сразу будете разбираться во всех категориях CTF. Ошибки, поиск подсказок и чтение разборов — нормальная часть обучения.
Форматы соревнований: что вас ждет на CTF
Когда я впервые услышал про CTF, мне казалось, что все соревнования устроены одинаково:
Есть задачи, решаешь их, получаешь очки.
На практике форматов несколько, и ощущения от них могут сильно отличаться.
Давайте коротко разберем самые популярные:
1. Jeopardy (Task-based):
Это именно тот формат, с которого начинает большинство новичков.
Участникам выдают набор задач, разделенных по категориям.
За каждую решенную задачу начисляются очки.
Как правило, чем сложнее задача, тем больше баллов она приносит.
Если вы никогда раньше не участвовали в CTF — почти наверняка ваш первый турнир будет именно в формате Jeopardy.
Почитать подробнее:
2. Attack-Defense:
Каждой команде выдают несколько рабочих сервисов (например сайт, почту или API), которые должны постоянно оставаться доступными.
Нужно защищать свои сервисы, закрывая уязвимости, и параллельно атаковать инфраструктуру противника, чтобы украсть их флаги.
В отличие от Jeopardy, здесь нет отдельного списка задач.
Само соревнование идет в реальном времени: команды одновременно защищают свою инфраструктуру и атакуют чужую.
Почитать подробнее:
3. Mixed / Hybrid:
Редкий формат, объединяющий классический Jeopardy и динамику Attack-Defense.
Это уже уровень профи, который проверяет и глубокие теоретические знания, и умение работать в условиях жесткого стресса.
На старте можно просто знать о существовании такого формата.
Встречается он заметно реже, чем классический Jeopardy.
4. Pentest (Pentesting CTF)
Формат, максимально приближенный к реальной работе ИБ-специалиста. Участникам выдают инфраструктуру или набор систем для анализа, задача — найти как можно больше уязвимостей и подготовить отчет с рекомендациями по их устранению.
В чистом виде на классических турнирах встречается редко.
Полезная информация:
С какого формата начинать?
Если вы дочитали до этого места и всё ещё думаете, с чего начать — выбирайте Jeopardy, это самый простой и понятный формат для старта.
(По крайней мере, именно так начинал я)
Когда открываешь первый CTF, и без того хватает новых терминов, непонятных задач и инструментов. Поэтому формат, где можно спокойно решать одну задачу за другой, оказывается намного дружелюбнее для новичка.
С более сложными форматами вроде Attack-Defense лучше знакомиться позже.
Когда уже появляется понимание, как работают веб-приложения, сети и основные типы уязвимостей.
Как лучше участвовать, одному или в команде?
Почти каждый новичок рано или поздно задается вопросом:
«Стоит ли искать команду или лучше учиться самостоятельно?»
За время знакомства с CTF я успел попробовать оба варианта, поэтому поделюсь своими наблюдениями.
Командный формат (обычно до 5 человек)
Для большинства новичков команда оказывается самым комфортным вариантом старта.
В команде можно быстрее закрывать задачи: пока один участник исследует веб-приложение, другой анализирует файл или занимается криптографией.
Плюсы:
-
Быстрый обмен опытом и рост.
Сегодня вы объясняете товарищу основы Web, а завтра он помогает вам разобраться в Crypto. Такой обмен опытом ускоряет обучение в разы. -
Разделение задач.
Пока один участник занимается Web, другой может исследовать Reverse или Forensics. Это позволяет охватывать больше задач за меньшее время. -
Нетворкинг.
Через CTF многие находят друзей, будущих коллег и даже команды, с которыми потом участвуют в крупных турнирах.
Из личного опыта могу сказать, что команда часто помогает не столько решить задачу, сколько не застрять в тупике. Иногда достаточно одной идеи со стороны, чтобы сдвинуться с места после часа безуспешных попыток.
Минусы:
-
Нужно искать людей, с которыми комфортно работать.
-
Приходится договариваться о времени, распределении задач и организации процесса.
-
Иногда мнения о способе решения могут расходиться.
Где искать команду?
Самый простой вариант — Telegram-чаты, Discord-серверы и сообщества по информационной безопасности.
Не бойтесь писать первым. Многие команды начинались буквально с пары человек, которые решили попробовать свои силы на ближайшем соревновании.
Одиночный формат
В этом случае вы остаетесь один на один с задачами.
Такой подход требует больше терпения, но позволяет глубже погружаться в решение и полагаться только на собственные силы.
Плюсы:
-
Глубокое погружение.
Приходится самостоятельно разбираться во всех деталях задачи. -
Самостоятельность.
Вы сами ищете информацию, проверяете гипотезы и принимаете решения. -
Гибкость.
Не нужно подстраиваться под расписание или интересы других участников.
Минусы:
-
Некоторые задачи могут отнимать значительно больше времени.
-
Сложнее охватывать сразу несколько категорий.
-
На старте проще потерять мотивацию после серии неудачных попыток.
С чего лучше начать?
Если говорить о первом опыте участия в CTF, я бы всё же рекомендовал попробовать командный формат.
Так проще задавать вопросы, обсуждать идеи и знакомиться с новыми направлениями. А когда появится больше уверенности, всегда можно попробовать силы в solo-режиме и проверить себя самостоятельно.
Но независимо от того, будете вы играть в команде или в одиночку, довольно быстро возникает следующий вопрос:
«Какие вообще бывают задачи в CTF?»
Когда я только начинал, количество категорий выглядело пугающе. Казалось, что нужно одновременно разбираться в Web, криптографии, сетях, программировании и ещё десятке неизвестных направлений.
На практике всё оказалось намного проще: большинство участников со временем выбирают несколько направлений, которые им действительно интересны, и развиваются именно в них.
Направления задач: что предстоит изучать
Web — Уязвимости сайтов и веб-приложений
Что это такое?
Web — одна из самых популярных категорий на CTF.
В задачах этого типа участнику нужно искать уязвимости в сайтах и веб-приложениях: анализировать запросы, изучать исходный код страниц, проверять механизмы авторизации и находить ошибки в логике работы приложения.
С Web я начал одним из первых. Наверное, потому, что сайты окружают нас каждый день, и гораздо проще исследовать то, чем сам постоянно пользуешься.
Практический пример:
Задача: «Inspect HTML»
Суть: Флаг скрыт прямо на странице, но увидеть его можно только
«заглянув под капот».
На первый взгляд ничего подозрительного нет.
Решение:
Открываем консоль разработчика (F12), переходим во вкладку Elements и находим флаг в закомментированном HTML-коде: picoCTF{1n5p3t0r_0f_h7ml_1fd8425b}Наш флаг:
picoCTF{1n5p3t0r_0f_h7ml_1fd8425b}
Что изучать дальше?
-
PortSwigger Web Security Academy — качественная теория и лаборатории для тренировки взлома.
-
Научиться эксплуатировать XSS: xss.school.sibears.ru, xss-game.appspot.com
-
Курс от команды CyberEd — для начинающих в вебе и тех, кто хочет развиваться в пентесте, с практикой
Что пригодится из инструментов?
-
Burp Suite — главный инструмент веб-пентестера для перехвата и анализа HTTP-запросов.
-
DevTools (F12) — встроенные инструменты браузера для просмотра кода страниц, запросов и ошибок.
-
Postman — удобная программа для ручной отправки и тестирования API-запросов.
-
ffuf — инструмент для быстрого перебора директорий, файлов и параметров на сайтах.
-
Nmap — сканер сетей и сервисов для разведки и поиска открытых портов.
Кому подойдет это направление?
Если вам нравится:
-
Искать ошибки в логике сайтов;
-
Разбираться, как работает интернет;
-
Тестировать веб-приложения
то Web — отличный вариант для старта.
Crypto — Шифрование данных и слабости криптоалгоритмов
Что это такое?
Криптография занимается защитой информации с помощью математических алгоритмов.
В CTF-задачах обычно требуется расшифровать сообщение, восстановить секретный ключ или найти ошибку в реализации алгоритма шифрования.
Иногда решение находится за пару минут, а иногда одна задача заставляет вспоминать школьную математику, теорию чисел и вещи, о которых вы даже не подозревали.
Для меня Crypto долго оставалась одной из сложных категорий. Очень часто я понимал идею задачи только после того, как читал разбор решения. И это тоже оказалось нормальной частью обучения.
Практический пример:
Задача: «Шифр Цезаря»
Суть: У нас есть зашифрованная строка:PGS{Jrybpzr_Gb_Cnegl}
Нужно понять, каким образом она была зашифрована и восстановить исходный текст.На первый взгляд строка выглядит случайной, однако начало флага напоминает привычный формат CTF.
Решение:

Я обычно начинаю такие задачи с CyberChef — это один из самых популярных инструментов для работы с данными и шифрами в CTF.
Загружаем строку в поле Input и применяем операцию ROT13.
В результате получаем:
Итоговый флаг:CTF{Welcome_To_Party}
Что изучать дальше?
-
Математика в кибербезопасности — отличный бесплатный фундамент на Stepik для понимания, советую.
-
Простые задания по криптографии: cryptopals.com или cryptohack.org, а также справочник cryptohack.gitbook.io/cryptobook/
Что пригодится из инструментов?
-
CyberChef — инструмент для кодирования, декодирования, анализа данных и решения криптографических задач.
-
SageMath — математическая система, которая часто помогает решать сложные задачи по криптографии.
-
RsaCtfTool — набор автоматизированных атак на RSA.
Кому подойдет это направление?
Если вам нравится:
-
Математика
-
Логические задачи
-
Поиск закономерностей
-
Работа с алгоритмами
Crypto может стать одним из самых интересных направлений в CTF.
Steganography (Stegano) — Скрытая информация в файлах
Что это такое?
Стеганография — это способ скрыть информацию так, чтобы окружающие даже не подозревали о её существовании. Если криптография шифрует сообщение, то стеганография старается скрыть сам факт его передачи.
Когда я впервые столкнулся со стеганографией, меня удивило, насколько странными могут быть способы передачи информации.
Например, один из самых известных исторических примеров относится ещё к Древней Греции: послание наносили на голову раба, ждали, пока отрастут волосы, а затем отправляли его к адресату. Получателю оставалось лишь снова сбрить волосы и прочитать сообщение.
Практический пример:
Задача: «Скрытый смысл»
Суть: Дан документ, в котором на первый взгляд ничего нет.
Решение:
Выделяем текст в документе (или меняем цвет фона) — флаг был скрыт белым шрифтом на белом фоне:CTF{anxiety}
Что пригодится из инструментов?
-
StegOnline — онлайн-сервис для анализа изображений и поиска скрытой информации.
-
StegSolve — программа для исследования различных слоёв и цветовых каналов изображения.
-
stegseek — инструмент для подбора паролей и извлечения данных из файлов Steghide.
-
zsteg — утилита для поиска скрытых данных в PNG- и BMP-изображениях.
Кому подойдет это направление?
Если вам нравится:
-
Искать скрытые детали
-
Анализировать изображения и файлы
-
Разбираться в необычных способах передачи информации
-
Внимательно исследовать артефакты
то Steganography может оказаться одним из самых интересных направлений в CTF.
Reverse Engineering — Анализ программ изнутри
Что это такое?
Reverse Engineering (реверс-инжиниринг) — это попытка понять, как работает программа, не имея перед глазами её описания или исходного кода.
Представьте, что вам дали сейф с кодовым замком, но забыли сообщить комбинацию. Можно бесконечно подбирать цифры наугад, а можно разобраться, как устроен механизм внутри.
Примерно этим и занимается реверс-инженер.
В CTF участнику обычно выдают программу (.exe, .elf и т.д.), которая проверяет пароль или флаг. Задача — понять, какие проверки происходят внутри, и восстановить правильный ввод.
Именно после первых задач по реверсу я впервые задумался о том, сколько логики скрывается внутри самых обычных программ. До этого момента казалось, что если нет исходников — значит понять работу приложения уже невозможно.
Практический пример:
Задача: «Python Rev»
Суть: дан Python-скрипт, нужно применить базовые навыки реверс-инжиниринга и заставить его вывести флаг. (Решить можно используя логику)

Решение:
В подобных задачах я обычно начинаю с поиска места, где программа сравнивает введённую строку с правильным значением.При просмотре кода видно, что перед проверкой введённый текст проходит несколько преобразований: часть символов меняется местами, часть заменяется другими значениями.
Если выполнить эти действия в обратном порядке, можно восстановить исходный флаг.
После анализа получаем:
CTFlearn{eaten_341eat009}
Главная идея реверса здесь очень простая:
Не подбирать правильный ответ, а понять, как программа сама его проверяет.
Что изучать дальше?
-
Первый документальный фильм о реверс-инжиниринге — база для понимания истории и сути.
-
Подкаст «Реверс-инженер в 17 лет» — рассказ о том, как выглядит путь в реверс и чем занимаются специалисты на практике.
-
PicoCTF Reverse — набор простых задач для первых шагов в анализе программ.
Что пригодится из инструментов?
-
Ghidra — дизассемблер для исследования программ без исходного кода.
-
IDA Free — программа для анализа исполняемых файлов.
-
x64dbg — отладчик для пошагового изучения работы программ под Windows.
-
Binary Ninja Community — инструмент для анализа бинарных файлов с современным и удобным интерфейсом.
Кому подойдет это направление?
Если вам нравится:
-
Разбираться в устройстве программ
-
Искать скрытую логику
-
Исследовать бинарные файлы
-
Понимать, как работают приложения изнутри
то Reverse Engineering может стать отличным выбором.
Forensics — Компьютерная криминалистика
Что это такое?
Forensics (форензика) — это анализ цифровых следов, оставшихся после работы пользователя или программы.
Форензика стала для меня одной из самых неожиданных категорий.
Многие задачи здесь решаются не сложными инструментами, а обычной внимательностью. Иногда флаг буквально лежит на поверхности, но его сложно заметить из-за привычки искать что-то гораздо более хитрое.
В таких задачах приходится исследовать файлы, сетевой трафик, метаданные изображений, дампы памяти, журналы событий и другие артефакты.
По сути участник выступает в роли цифрового следователя, который пытается восстановить цепочку событий по найденным уликам.
Это одно из самых разнообразных направлений в CTF. Сегодня вы изучаете метаданные фотографии, завтра анализируете сетевой трафик, а послезавтра пытаетесь понять, что происходило в памяти зараженного компьютера.
Практический пример:
Задача: «Ох, как жаль»
Суть: Дана картинка, флаг не виден глазу.

Решение:
На первый взгляд кажется, что картинку нужно как-то анализировать или искать скрытые данные внутри файла.Но в форензике всегда полезно начинать с самых простых проверок.
Открываем свойства изображения и смотрим метаданные.
Флаг был спрятан прямо в поле Description (Описание):
StepCTF{Oh_you_knew_that}
Что изучать дальше?
-
PicoCTF Forensics — подборка учебных задач по цифровой криминалистике.
-
CyberDefenders — платформа с практическими расследованиями и реалистичными сценариями инцидентов.
-
TryHackMe: Investigating Windows — лаборатория по исследованию Windows.
-
ctf101.org — краткий справочник по основным техникам и категориям CTF
Что пригодится из инструментов?
-
Wireshark — инструмент для анализа сетевого трафика.
-
Autopsy — программа для исследования дисков, файловых систем.
-
Volatility — инструмент для анализа дампов оперативной памяти.
-
ExifTool — утилита для просмотра и изменения метаданных файлов.
-
Foremost — программа для восстановления удалённых файлов по их сигнатурам.
-
010 Editor— HEX-редактор для анализа структуры файлов.
Кому подойдет это направление?
Если вам нравится:
-
Расследовать инциденты
-
Искать цифровые следы
-
Анализировать файлы и артефакты
-
Восстанавливать картину произошедшего по косвенным данным
то Forensics может стать отличным направлением для изучения.
Конечно, это далеко не все категории, которые можно встретить на соревнованиях.
Именно Web, Crypto, Stegano, Reverse и Forensics чаще всего рекомендуют новичкам для старта, поскольку они помогают сформировать базовые навыки и познакомиться с разными сторонами информационной безопасности.
Но по мере роста опыта вы наверняка начнете встречать и другие направления. Давайте коротко познакомимся и с ними.
OSINT — Поиск информации из открытых источников
Что это такое?
OSINT (Open Source Intelligence) — это поиск и анализ информации из открытых источников.
В отличие от многих других категорий CTF, здесь обычно не нужно искать уязвимости или анализировать код.
Главная задача — собрать разрозненные данные и превратить их в цельную картину.
В качестве источников могут использоваться фотографии, социальные сети, поисковые системы, архивы сайтов, карты и даже случайные детали на заднем плане изображения.
Многие новички любят OSINT за то, что для старта здесь практически не требуется знание программирования.
Чаще всего на CTF встречаются несколько направлений OSINT:
-
GeoINT — поиск локаций по фотографиям и видео;
-
SOCMINT — анализ социальных сетей и открытых профилей;
-
Web OSINT — работа с доменами, сайтами и веб-архивами;
-
Username OSINT — поиск следов человека по никнейму на разных ресурсах.
Практический пример:
Задача: «Найти место»
Суть: Дано фото улицы. Нужно найти точную локацию и определить, что за скрытая надпись на фото.
Решение:
Внимательно изучаем фотографию.
На снимке можно заметить характерную городскую застройку, небоскребы и несколько деталей (Например, флаг США в левом верхнем углу кадра), которые помогают сузить круг поиска.

В подобных задачах я обычно открываю Google Maps или панорамы улиц и начинаю искать совпадающие ориентиры.
После этого можно сравнить расположение зданий, дорог и других заметных объектов с исходной фотографией.
Флаг, это скрытая надпись:
CTF{Buono_Beach}
Что изучать дальше?
-
OSINT Framework — каталог OSINT-инструментов, сгруппированных по направлениям.
-
Awesome OSINT — подборка полезных ресурсов и инструментов для работы с открытыми источниками.
-
Wayback Machine — интернет-архив, позволяющий посмотреть старые версии сайтов.
-
GeoGuessr — игра, которая помогает тренировать навыки геолокации.
-
Статьи и разборы по GeoINT и SOCMINT — хороший способ познакомиться с реальными методами поиска информации.
Кому подойдет это направление?
Если вам нравится:
-
Искать информацию по крупицам
-
Анализировать фотографии и документы
-
Работать с картами и геолокацией
-
Проводить небольшие расследования
то OSINT может стать отличной точкой входа в CTF.
Pwn — Искусство взлома
Что это такое?
Pwn считается одной из самых сложных категорий в CTF.
Если Reverse отвечает на вопрос «как работает программа?», то Pwn задаёт
другой вопрос: «что произойдёт, если заставить её работать неправильно?»
Обычно для этого используются ошибки управления памятью, некорректная обработка пользовательского ввода и различные уязвимости в логике программы.
Именно здесь появляются знаменитые переполнения буфера, ROP-цепочки и эксплуатация бинарных файлов.
Не переживайте, если эти термины пока звучат пугающе.
На старте достаточно понять общую идею: программа доверяет данным пользователя слишком сильно, а мы пытаемся этим воспользоваться.
Практический пример:
Задача: «Buffer Overflow»
Суть:
Программа запрашивает имя пользователя и сохраняет его в небольшой участок памяти.Разработчик рассчитывал, что пользователь введет короткую строку, но длина ввода никак не проверяется.
#include <stdio.h>#include <string.h>void win() { printf("Поздравляем! Ваш флаг: CTF{y0u_pwn3d_1t}\n");}void vulnerable_function() { char buffer[16]; // Выделено место всего для 16 символов printf("Введите ваше имя: "); gets(buffer); // ОПАСНАЯ ФУНКЦИЯ! Она принимает ввод любой длины}int main() { vulnerable_function(); return 0;}
Решение:
Представим, что программа выделила место только под 16 символов:
[................]
Если ввести строку длиннее, лишние данные начнут записываться поверх соседних областей памяти.
В некоторых случаях это позволяет изменить ход выполнения программы и заставить её перейти в специальную функцию, которая выводит флаг.
После успешной эксплуатации получаем:
CTF{y0u_pwn3d_1t}
Главная идея задачи не в том, чтобы запомнить адреса памяти или команды, а в понимании того, что ошибки работы с памятью могут полностью изменить поведение программы.
Что изучать дальше?
-
pwn.college — платформа для изучения бинарной эксплуатации и pwn-задач.
-
Protostar — классический набор упражнений по основам эксплуатации.
-
OverTheWire (Behemoth, Utumno, Maze) — варгеймы для изучения бинарных уязвимостей на практике.
-
LiveOverflow — YouTube-канал с понятными объяснениями pwn.
-
Nightmare от Guyinatuxedo — подробный практический курс по бинарной эксплуатации.
Кому подойдет это направление?
Если вам нравится:
-
Разбираться в устройстве операционных систем
-
Понимать работу памяти и процессора
-
Искать низкоуровневые уязвимости
-
Автоматизировать эксплуатацию программ
то Pwn может стать одним из самых интересных и одновременно самых сложных направлений в CTF.
Misc — Всё, что не вошло в другие категории
Что это такое?
Misc (Miscellaneous) — это категория для задач, которые сложно отнести к Web, Crypto, Reverse или другим классическим направлениям.
Именно здесь организаторы чаще всего дают волю фантазии.
В одной задаче может понадобиться написать небольшой скрипт, в другой — разобраться с необычным форматом файла, а в третьей — догадаться до совершенно нестандартного решения.
Потому что Misc — это прежде всего про неожиданность.
Возможный пример задачи:
Задача: «Странный архив»
Суть:
Участнику выдают архив, внутри которого находятся тысячи папок и файлов.
На первый взгляд все они выглядят одинаково, но где-то среди них спрятан флаг.Решение:
Пытаться открывать каждый файл вручную бессмысленно.Вместо этого пишем небольшой скрипт на Python или Bash, который автоматически обходит все каталоги и ищет строки, содержащие флаг.
Через несколько секунд находим нужный файл и получаем:
CTF{automation_saves_time}
Такие задачи хорошо показывают одну из важных идей CTF:
Иногда правильное решение заключается не в поиске уязвимости, а в автоматизации скучной работы.
Что изучать дальше?
-
Python для автоматизации — помогает быстро решать рутинные задачи и писать полезные скрипты.
-
Bash-скрипты — способ автоматизировать работу в Linux.
-
CTF101 — ресурс по основным категориям и техникам CTF.
-
Writeup’ы по Misc-задачам — нестандартные подходы к решению задач.
Кому подойдет это направление?
Если вам нравится:
-
Решать нестандартные задачи
-
Автоматизировать рутинные действия
-
Писать небольшие скрипты
-
Искать неожиданные способы решения проблем
то Misc может оказаться одной из самых интересных категорий на соревнованиях.
Admin / System — Работа с операционными системами
Что это такое?
Admin/System — категория, связанная с администрированием операционных систем и серверов.
В большинстве задач приходится работать с Linux: искать файлы, разбираться в правах доступа, изучать конфигурации сервисов и анализировать поведение системы.
По сути такие задания проверяют не умение «взламывать», а способность уверенно ориентироваться в операционной системе и понимать, как она устроена изнутри.
Многие навыки из этой категории пригодятся не только на CTF, но и в реальной работе системного администратора, DevOps-инженера или специалиста по информационной безопасности.
Практический пример:
Задача: «Bandit Level 0»
Суть: Вам выдали доступ к серверу, флаг лежит в файле прямо в текущей папке. Нужно подключиться к системе и найти его.Решение:
Подключаемся к серверу (пароль такой же, как логин — bandit0)
ssh bandit0@bandit.labs.overthewire.org -p 2220
После подключения первым делом смотрим содержимое текущей директории.
bandit0@bandit:~$ ls -a
Читаем файл, который нам вывелся: readme
bandit0@bandit:~$ cat readmeboJ9jbbUNNfktd78OOpsqOltutMc3MY1
Команда cat вывела флаг:
CTF{boJ9jbbUNNfktd78OOpsqOltutMc3MY1}
На первый взгляд задача выглядит слишком простой, но именно с таких упражнений обычно начинается знакомство с Linux и работой на удаленных серверах.
Что изучать дальше?
-
OverTheWire: Bandit — знакомство с Linux через игру.
-
Linux Journey — бесплатный курс по основам Linux.
-
The Linux Command Line — большой учебник по командной строке Linux, по ссылке доступен для скачивания.
-
TryHackMe Linux Fundamentals — практическое введение в Linux для начинающих.
-
Hack The Box Academy: Linux Fundamentals — курс по работе с Linux.
Кому подойдет это направление?
Если вам нравится:
-
Работать с Linux
-
Разбираться в устройстве операционных систем
-
Исследовать серверы и сервисы
-
Автоматизировать рутинные задачи
то Admin/System может стать отличной отправной точкой для изучения инфраструктуры и системного администрирования.
Network — Анализ сетей и сетевого трафика
Что это такое?
Network — категория, посвященная компьютерным сетям и обмену данными между устройствами.
В таких задачах участникам приходится исследовать сетевой трафик, разбираться в работе различных протоколов и искать информацию, которая передается между компьютерами.
Чаще всего здесь встречаются:
-
HTTP и HTTPS
-
DNS
-
TCP/IP
-
Wi-Fi сети
-
Дампы трафика (.pcap)
-
Поиск учетных данных и флагов в сетевых пакетах.
Большинство задач в этой категории решаются при помощи Wireshark — программы для анализа сетевого трафика.
Практический пример:
Задача: «router»
Суть: Перед нами страница авторизации роутера.
Задача — получить доступ к панели управления и найти флаг.

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


После входа обнаруживаем флаг:
evoctf{router_password_is_sooo_weak}
Что важно понять?
Этот пример скорее демонстрирует проблему слабых и стандартных паролей.
В реальных Network-задачах участники чаще работают не с веб-интерфейсами, а с сетевым трафиком:
-
Анализируют дампы Wireshark
-
Ищут логины и пароли в HTTP-запросах
-
Восстанавливают переданные файлы
-
Исследуют работу сетевых протоколов
-
Ищут утечки данных в пакетах.
Вот дополнительные примеры задач из категории Network:
Что изучать дальше?
-
Курс по компьютерным сетям на YouTube (Андрей Созыкин)— введение в устройство компьютерных сетей.
-
Wireshark — инструмент для анализа сетевого трафика.
-
Wireshark Labs — практические задания по работе с реальными сетевыми пакетами.
-
OverTheWire: Leviathan и Natas — упражнения на исследование сетевых сервисов и веб-приложений.
-
Practical Networking — ресурс по TCP/IP и сетевым протоколам.
Что пригодится из инструментов?
-
Wireshark — позволяет изучать сетевой трафик.
-
tshark — версия Wireshark для работы из терминала.
-
tcpdump — консольная утилита для захвата сетевого трафика.
-
netcat — универсальный инструмент для взаимодействия с сетевыми сервисами.
-
Nmap — сканер сетей и сервисов для разведки и поиска открытых портов.
Кому подойдет это направление?
Если вам нравится:
-
Разбираться, как работает интернет
-
Анализировать сетевой трафик
-
Исследовать протоколы связи
-
Искать уязвимости в сетевых сервисах
то категория Network может стать отличным выбором.
Дополнительные категории
Категориями, которые мы разобрали выше, покрывается большая часть задач на большинстве CTF-соревнований.
Однако на некоторых турнирах можно встретить и более специфические направления. Обычно они появляются реже, но всё равно заслуживают внимания.
Коротко познакомимся с несколькими такими категориями.
PPC — Алгоритмы и программирование
Что это такое?
PPC (Professional Programming and Coding) — категория для тех, кто любит писать код и решать алгоритмические задачи.
Если в большинстве CTF приходится искать уязвимости, анализировать файлы или исследовать программы, то здесь основной инструмент — собственный код.
Например, участнику могут выдать большой объём данных и попросить обработать его за ограниченное время или написать программу, которая автоматически взаимодействует с удалённым сервисом.
Чаще всего встречаются задачи на:
-
Обработку больших объёмов данных
-
Автоматизацию действий
-
Работу со строками и структурами данных
-
Математику и комбинаторику
-
Взаимодействие с удалёнными сервисами
Эта категория особенно понравится тем, кто уже знаком со спортивным программированием или просто любит решать алгоритмические задачи.
JOY — Развлекательные и нестандартные задачи
Не все задачи на CTF создаются ради проверки технических навыков.
Иногда организаторы специально добавляют задания, которые должны удивить, рассмешить или просто дать участникам небольшой отдых между более серьёзными категориями.
Именно для этого существует JOY.
Здесь можно встретить что угодно: от мемов и загадок до небольших квестов и необычных механик взаимодействия с участником.
На одном соревновании задача может решаться за несколько секунд, а на другом заставить половину участников спорить о правильном ответе до самого конца турнира.
Главная особенность JOY — непредсказуемость.
Заранее почти невозможно угадать, что именно придумали организаторы.
STORY — Сюжетные задачи и квесты
В категории STORY флаг обычно не спрятан в одной конкретной задаче.
Вместо этого организаторы строят целую историю, внутри которой участнику приходится проводить небольшое расследование.
Это может быть переписка сотрудников компании, набор документов, фотографии, записи звонков или другие цифровые артефакты.
Постепенно изучая материалы и связывая найденные факты между собой, участник продвигается по сюжету и выходит на решение.
Очень часто STORY объединяет сразу несколько категорий одновременно:
-
OSINT
-
Web
-
Crypto
-
Forensics
-
Reverse
По сути это мини-детектив, где технические навыки помогают раскрыть историю шаг за шагом.
Что важно запомнить?
Когда впервые видишь такой список категорий, легко подумать, что для участия в CTF нужно разбираться буквально во всём.
У меня самого в начале было именно такое ощущение. На практике всё гораздо проще.
Со временем у большинства участников появляется специализация. Кто-то развивается в Web, кто-то в Reverse или Crypto. Это нормально: невозможно одинаково глубоко знать все направления сразу.
Например:
-
Кто-то сильнее в Web;
-
Кто-то решает Crypto;
-
Кто-то занимается Reverse или Pwn;
-
Кто-то специализируется на OSINT и Forensics.
Поэтому не стоит пытаться охватить всё сразу.
Главное — выбрать направление, которое вызывает интерес именно у вас.
В CTF гораздо полезнее хорошо разобраться в одной категории и получать удовольствие от процесса, чем пытаться изучить всё сразу и быстро потерять мотивацию.
Где тренироваться новичку?
Когда я только начинал изучать CTF, мне казалось, что сначала нужно изучить как можно больше теории: прочитать статьи, посмотреть курсы и лекции, разобраться во всех терминах.
На практике оказалось, что этот путь работает не так хорошо, как кажется.
Можно несколько недель смотреть видео по веб-безопасности и криптографии, а потом открыть первую задачу и понять, что всё равно непонятно, с чего начать.
CTF — это история про практику.
Можно знать определения десятков терминов и понимать принцип работы различных атак, но настоящие навыки появляются только во время решения задач.
Поэтому совет, который я бы дал самому себе из прошлого, звучит очень просто:
Начинайте решать задачи как можно раньше!
Примерно так выглядит обучение большинства игроков:
Задача —> Поиск информации —> Ошибки —>
Новая попытка —> Решение —> Следующая задача
Именно этот цикл постепенно превращает новичка в человека, который уже начинает узнавать типовые приёмы и подходы.
Что желательно знать перед стартом
-
Основы Linux
-
Базовые команды терминала
-
Как работают сайты и HTTP
-
Основы Python
-
Английский для чтения документации
Но даже без всего этого можно начинать решать самые простые задачи.
Платформы для новичков
1. picoCTF
Пожалуй, лучший старт для первого знакомства с CTF.
Задачи расположены по уровням сложности, многие сопровождаются подсказками, а категории охватывают практически все основные направления.
Если вы никогда не решали CTF-задачи — я бы начал именно отсюда.
Ссылки на ресурсы:
-
picoCTF — одна из лучших платформ для первого знакомства с CTF.
2. TryHackMe
Интерактивная платформа с пошаговыми лабораториями и практическими заданиями.
Подходит тем, кто хочет не просто искать флаги, а постепенно разбираться в том, как устроены различные технологии.
Из комнат для новичков могу порекомендовать:
-
Investigating Windows — вводная комната по анализу Windows систем.
-
Basic Pentesting — знакомство с основными этапами пентеста.
-
Linux Fundamentals — практическое введение в Linux для начинающих.
Ссылки на ресурсы:
3. HackerLab
Русскоязычная платформа с CTF-задачами, практическими лабораториями и тренировочными машинами.
Хороший вариант для тех, кому комфортнее изучать материалы на русском языке.
Ссылки на ресурсы:
4. Root Me
Одна из самых больших коллекций задач по различным категориям информационной безопасности.
Когда первые платформы начинают казаться слишком простыми, Root Me помогает выйти на следующий уровень сложности.
Ссылки на ресурсы:
5. OverTheWire
Настоящая классика.
Особенно рекомендую варгейм Bandit для знакомства с Linux и командной строкой.
Многие специалисты по ИБ начинали именно с неё.
Ссылки на ресурсы:
-
Игра: Bandit — самый популярный варгейм OverTheWire для новичков.
6. Stepik
Отдельно хочу отметить несколько курсов на Stepik. Они хорошо сочетают теорию и практические задания, поэтому могут стать полезным дополнением к CTF-платформам.
Ссылки на ресурсы:
-
Базовый курс по CTF — хороший старт для знакомства с категориями и типовыми задачами.
-
Task-Based CTF для новичков — курс с интересными практическими CTF-задачами.
Когда станет мало простых задач
Рано или поздно наступает момент, когда базовые платформы перестают казаться сложными.
Тогда можно попробовать более продвинутые площадки:
7. Hack The Box
Одна из самых известных платформ для практики пентеста и атак на реальные сервисы.
Ссылки на ресурсы:
8. DreamHack
Регулярные соревнования и качественные тренировочные задания.
Ссылки на ресурсы:
9. CryptoPals
Практический курс по криптографии, который многие считают обязательным для тех, кто хочет серьёзно разобраться в Crypto-направлении.
Ссылки на ресурсы:
Где искать соревнования?
Если существует сайт, который знает почти каждый CTF-игрок, то это CTFtime.
На нем публикуются почти все крупные соревнования мира, календарь будущих турниров, рейтинги команд и архив прошедших CTF.
Именно там публикуются:
-
Будущие соревнования
-
Рейтинги команд
-
Результаты турниров
-
Архивы прошедших CTF
Из русскоязычных ресурсов также можно посмотреть:
-
CTFNews — новости, анонсы и разборы соревнований на русском языке.
-
CTFCup — российская площадка с соревнованиями и активным сообществом.
-
ХакатоныРус — анонсы CTF, хакатонов, соревнований и образовательных мероприятий.
Несколько советов напоследок
Если вы дочитали до этого места, то уже знаете о CTF намного больше, чем большинство людей, которые только слышали эту аббревиатуру.
Но самое важное начинается именно после прочтения статьи.
CTF невозможно изучить только по гайдам, видео и книгам. В какой-то момент всё равно придется открыть первую задачу и попробовать решить её самостоятельно.
Поэтому предлагаю простую цель на ближайший вечер:
-
Зарегистрироваться на picoCTF или TryHackMe.
-
Решить хотя бы одну задачу.
-
Если не получилось — найти writeup и понять решение.
Этого уже достаточно для старта. Главное — начать.
Не стремитесь решать всё самостоятельно с первой попытки. На начальном этапе намного важнее понять ход мыслей автора решения, чем получить флаг любой ценой.
Через несколько недель регулярной практики многие термины из этой статьи перестанут казаться сложными, а некоторые категории наверняка начнут нравиться больше остальных.
Именно так большинство людей и приходит в CTF: сначала из любопытства, потом ради интереса, а дальше неожиданно обнаруживает себя глубокой ночью на очередном соревновании, обсуждающим с друзьями какой-нибудь странный таск, который почему-то не даёт уснуть.
Спасибо, что дочитали до конца.
Это моя первая статья на Хабре, поэтому буду рад замечаниям, советам и конструктивной критике в комментариях.
Если статья оказалась полезной и вы захотите поддержать меня,
буду рад подписке на мой Telegram-канал. Там я делюсь своим путем в кибербезопасности, рассказываю о CTF, публикую полезные материалы и просто пишу о том, что изучаю сам.
ссылка на оригинал статьи https://habr.com/ru/articles/1055168/