Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
76 lines (56 sloc) 7.86 KB

Пояснительная записка для Л\Р 1

Для выполнения этой работы предлагается воспользоваться проектом http://escape.myctf.ru

Требования к окружению для выполнения заданий

  • наличие интернета
  • наличие ssh клиента (любая ОС linux) или putty для windows

Задания и жюрейная система

Задания представляют собой индивидуальные docker-контейнеры, разворачиваемые для каждого уникального ssh-соединения. Это значит, что при выполнении конекретного задания вы получаете уникальное окружение для выполнения конкретного задания.

Жюрейная система авторизовывает каждого пользователя используя google, а затем записывает ваши результаты в общую таблицу (scoreboard). Каждое задание имеет свой вес (количество получаемых очков за его выполнение). Выполняя задания вы получаете очки, которые можно затем увидеть в таблице результатов напротив вашей почты.

Выполняя задания вы будете оттачивать навыки поиска информации и применения этой информации в командной строке. Результатом корретно выполненного задания является строка-ключ (флаг), например WWVpeGVpc2hhaDRnb29xdWVpbW8K. Никакие другие символы (слово flag, скобки и кавычки) не должны присутствовать в ответе. Флаг всегда имеет одинаковый формат и размер - 28 латинских букв и цифр, но может быть разбит на части для усложнения поиска. Полученный флаг должен быть сдан в специальную форму в окне описания задания. В случае правильности флага, вам будут начислены очки.

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

  • Если задание обособленное (одно), то флаг полученный с этого задания должен быть сдан в жюрейную систему
  • Если задания связаны, то найденный флаг является паролем от следующего уровня. Учетные записи следующего уровня указаны в описании задания.

Подключение к заданиям

Подключение осуществляется по протоколу ssh с использованием ssh-client. И должно осуществляться следующим образом:

ssh suzen1@escape.myctf.ru

Где:

  • suzen1 - имя пользователя, которое состоит из слова suzen и номера уровня.
  • escape.myctf.ru - адрес сервера

После осуществления подключения вы увидите приветственное сообщение, которое напомнит вам номер уровня и дадут краткую подсказку. После чего вам будет предоставлен доступ к консоли и вы сможете вводить команды. Если в задании указано несколько подзаданий, вам будет дана информация о том как подлючиться к первому. Затем, после нахождения флага, вы можете завершить работу в текущем задании (введя команду exit или нажав комбинацию Ctrl+D), и выполнить подключение к следующему уровню. Это происходит методом увеличения номера текущего уровня на 1. Например, решая задание с именем пользователя suzen1 строка подключения к следующему уровню примет следующий вид:

ssh suzen2@escape.myctf.ru

Номер последнего уровня в цепочке будет указан в задании, например цепочка 1-4, состоит из имен пользователя suzen1, suzen2, suzen3, suzen4. Флаг, полученный в задании suzen4 следует сдать в жюрейную систему.

Задания с внешней проверкой

Иногда вам будут встречаться задания с пометкой ext, что значит external. Эти задания не содержат в себе ответ сразу. Флаг выдается системой внешней проверки в случае корректного выполнения задания. Раз в минуту проверочная система выполняет опрос запущенных заданий и в случае корректного их выполнения кладет флаг по указанному в задании пути. Стандартное место - домашняя директория suzen.

БУДЬТЕ ВНИМАТЕЛЬНЫ С ВЫПОЛНЕНИЕМ ТАКИХ ЗАДАНИЙ

для упрощения проверочных скриптов используются команды ls|md5sum, tree|md5sum итп. Это означает, что существует единственное состояние ФС, когда решение верно. Таким образом любые дополнительно созданные файлы автоматически изменяют конечный результат проверки, даже если само задание выполнено корректно. Поэтому следует остерегаться создавать\перемещать\переименовывать файлы и папки в пределах выполняемого задания.

Однако, это касается только заданий с самым низким уровнем сложности (<100), для заданий классического уровня сложности (100-500) данное правило не распространяется.

Ограничения

  • CPU - каждое подключение ограничено 0.2 возможностей ядра процессора
  • MEM - каждое подключение ограничено 256 мб оперативной памяти
  • PROC NUM - каждое подключение ограничено 50 процессами
  • STORAGE - каждое подключение ограничено 10gb жесткого диска
  • Вам запрещено выходить из контейнера в интернет или связываться с другими контейнерами, если это не предусмотрено заданием
  • Время жизни контейнера ограничено 30 минутами, после чего он будет принудительно завершен

Где брать информацию для решения

TODO

You can’t perform that action at this time.