Основные элементы


Работа с платформой

Этот модуль содержит задания, которые помогут Вам освоиться с платформой!

Цель модуля — научить вас работать с задачами через Terminal, простую консоль прямо в окне браузера.

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

Для завершения модуля требуется решить все задания внутри него.
Удачи в освоении основ работы с платформой!

В CTF-ориентированном обучении предполагается, что каждый шаг — это небольшой вызов. Сложность испытаний нарастает постепенно по мере развития умений учащегося.

Вызовы могут быть опубликованы в качестве веб-порталов или других общедоступных сервисов, а могут создаваться под каждого пользователя индивидуально. В CTF SCHOOL мы используем персональные стенды для обучения. В начале пути лабораторные работы будут ограничены одним ПК, но с ростом сложности инфраструктура будет расширяться и обогащаться.

Первые тренировки мы начнём с терминалом Linux, который неформально называют «shell».

Если вы ещё не владеете искусством Shell, не переживайте — вы обязательно его освоите! А пока мы сосредоточимся только на запуске лабораторной работы.

Мы упростили запуск окружения: когда вы запускаете задание, мы поднимаем всё необходимое за вас! Просто нажмите ▶ Запуск ниже — и это задание запустится.

Как только всё загрузится, терминал автоматически появится прямо под этим текстом, и вы получите свой первый флаг!

##Флаг?

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

ctf.school{...}

Как только вы увидите такую кодовую фразу - скопируйте её, вставьте в поле ниже и отправьте. После того как вы получите подтверждение, что флаг верный, переходите к следующему заданию!

Попробуйте сейчас: запустите терминал, скопируйте флаг (при выделении его мышью он автоматически скопируется в буфер обмена) и вставьте его в поле Flag ниже!


ПРИМЕЧАНИЕ: хотите больше места на экране? Вы можете нажать кнопку «полный экран» (⛶), чтобы развернуть интерфейс и получить больше пространства.

Connect with SSH

Link your SSH key, then connect with: ssh hacker@dojo.pwn.college

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

  • solve — обладает расширенными полномочиями для чтения флага и запуска всех проверок;
  • checker — файл, содержащий скрипт проверки, скрытый от вашего пользователя.

Просто выполнив в терминале команду /challenge/solve, вы получите флаг!


ПРИМЕЧАНИЕ: В этом и последующих заданиях предполагается, что вы владеете основами работы с командной строкой Linux. Если у вас пока нет таких знаний, мы рекомендуем сначала пройти Основы Linux, а затем вернуться к этому модулю!

Connect with SSH

Link your SSH key, then connect with: ssh hacker@dojo.pwn.college

В этом задании вы узнаете, что флаг на самом деле лежит в файле /flag. Ваша реальная цель в любом задании — получить содержимое этого файла любыми необходимыми средствами, даже если программа задания изначально этого не делает.

  1. Вы можете попробовать просто прочитать файл командой cat /flag самостоятельно. К несчастью, вы не сможете выполнить эту команду от пользователя hacker, так как /flag доступен только для чтения пользователю root, поэтому напрямую прочитать его нет возможности.
  2. Как и во многих других заданиях на платформе, программа /challenge/solve в этом задании не будет напрямую читать файл с флагом. Однако при запуске она сделает флаг доступным для чтения всем пользователям!

После запуска скрипта проверки данного испытания вам нужно будет прочитать /flag самостоятельно (например, с помощью cat /flag или текстового редактора) и отправить его содержимое как решение.

Connect with SSH

Link your SSH key, then connect with: ssh hacker@dojo.pwn.college