О разработке предстоящего CTF с оффлайн квестом для всеукраинской битвы хакеров

в 7:21, , рубрики: ctf, информационная безопасность

Привет, Хабровчане! Надеюсь, многие из вас знают и посещают уютные хакерские конференции, форумы и митапы не только ради after-party, но и также для того, чтобы размять ум и смекалку на CTF (Capture The Flag). Организовывая мероприятие, в котором будет совмещено все вышеперечисленное, хотел бы поделиться опытом нашей команды по выбору платформы для СTF и собственно самой разработки.

CTF — соревнования, связанные с поиском уязвимостей и скрытых данных, которые условно разделяются на классические и тасковые. Классические соревнования еще называют Attack-Defence: суть в том, чтобы проанализировать образ системы, найти уязвимости, исправить их и проэксплуатировать на серверах других команд. Речь пойдет о тасковых заданиях.

image

На Хабрахабре присутствует немало людей, увлеченных CTF играми, поэтому на вопрос: почему существует множество сайтов, с рейтингом команд и участников, scoreboard'ами и аналитическими статьями, уже многие давно нашли ответ. Ведь это чуть ли не единственное занятие, в котором есть дух соперничества и каждый «безопасник» может померятся достоинством, хоть и в искусственных, и лишь в некотором роде приближенных к реальности условиям.

Одно дело участвовать в CTF, совершенно другое, с чем я вас и познакомлю — создавать и организовывать данное мероприятие.

Выбор платформы

Платформы для CTF бывают двух типов: готовые и самописные. Готовые платформы хороши своими «фичами», которые дорабатываются годами и проверены многими соревнованиями. Самописные же фактически гарантируют безопасность сайта т.к. их будут писать люди, которые знают больше о ней, чем среднестатистический программист-верстальщик (чего мы не можем гарантировать в случае с готовыми платформами, тут все зависит от прямых рук). Поэтому лично наш выбор пал на платформу Facebook CTF — интересная система со следующими настройками:

Разные типы тасков:

  • Quiz — то же самое, что и обыкновенные вопросы, на которые требуется дать ответ (слово, фразу)
  • Flag — тасковое задание (файл, ссылка и тд) ответ на который является флаг в соответствующем формате (наш формат h4ck1t{текст}).
  • Bases — аналогия игры «Царь горы», кто первый решает таск, тот получает больше всех баллов (и так по убыванию)

А так же есть подсказки, при открытии которых снимается какое-то количество баллов. Не малый плюс: У Facebook один из самых захватывающих интерфейсов среди платформ.

Платформа Facebook CTF вначале использовалась в таких CTF’ах, как Facebook CTF в Csu San Bernardino и на конференции BruCON 2014. Впоследствии Facebook начал продвигать политику OpenSource ПО. Это также и затронуло их CTF платформу.

И в мае 2016 года они открыли ее исходный код на github. Но, как вы можете догадаться, продукт был недоделанным, но разработчики не спали и к сентябрю сделали уже около 401 правки в их код с момента публикации. Надеемся, что они и дальше будут в таком же темпе апгрейдить их продукт :)

Настройка платформы

И вот мы столкнулись с первыми трудностями: оказалось, что платформа находится только в бета-тестировании и имеет множество недочетов. Перед нами встала задача исправить и подкорректировать некоторые баги. Не буду описывать весь процесс исправления и костылей, скажу лишь, что несколько раз хотели менять платформу, но все же решили, что будем одними из первых покорять Facebook CTF.

Все редактирования мы проводили, основываясь на нашем трехлетнем опыте участия в CTF соревнованиях. Учитывались все недочеты, допущенные другими соревнованиями, такие как отсутствие bugbounty и очков за него, связь с создателями тасков и многое другое! Также на это повлияла платформа ctftime, на которой в том числе и выкладываются множество райтапов с отзывами участников о каком-либо проводимом соревновании.

Создание тасков

А это один из самых интересных этапов в разработке CTF'a! Рассмотрим области, которые мы затронули:

  • Admin/Misc — таски приближенные к ежедневным проблемам сисадминов.
  • Cryptography — задания, которые основываются на особенностях криптографических алгоритмов.
  • PWN — поиск уязвимостей и последующая эксплуатация сервиса, запущенного на каком-то порту.
  • Exploit — аналогично PWN, только нам еще предоставляются исходники этого бинарника.
  • Forensics — расследование инцидентов, анализирование различных дампов и др.
  • Joy — нужно периодически отвлекаться на несерьезные таски:)
  • Network — сетевые задания.
  • PPC — задания на программирование.
  • Reverse — анализирование бинарников с последующим изучением алгоритмов, используемых в программе, для получения флагов
  • Steganography — поиск скрытых каналов передачи информации.
  • Web — веб-безопасность.

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

Конкурс тасков

Далее про конкурс тасков: это для вас реальная возможность потренироваться в создании своих тасков фактически во всех категориях! В случае, если ваш таск проходит на CTF, то вы получаете бесплатный билет на конференцию, уважение почет. Пока прислали мало тасков, поэтому шанс быть выбранным высокий! Заявки принимаются на почту: ctf@hackit-ukraine.com

Оффлайн тур H4ck1t CTF

Помимо 12 подготовленных категорий с интересными тасками, рассчитаных как для новичков, так и для профи в каждой из областях, 10-ку лучших команд ожидает оффлайн-тур с нестандартными и интересными конкурсами, более развлекательного, но все же не без смекалки, жанра (пока секрет какие :) ).

image

Проведение соревнований

Проводиться онлайн тур будет с 23 сентября по 2 октября. И в каждый день будут открываться несколько тасков из различных категорий. По его итогам лучшие команды будут приглашены на оффлайн тур 7-ого октября на конференцию HackIT-2016. В финале команды будет ожидать тасковый CTF, но уже в реальной жизни с нестандартными конкурсами, блэкджеком и дамами. Наша команда готовит увлекательные квесты в реальности со взломом веб-камер, RFID, замков и многое другое.

Надеюсь не сочтут за коммерческую рекламу, регистрироваться на CTF можно здесь

Разбор самых интересных заданий для страждущих будет опубликован после проведения мероприятия.

И скидка на само мероприятие для: промокод на 10%, может кому пригодится:
HABR0710

Автор: rewiaca

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js