О разработке предстоящего 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
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 4

      0
      Спасибо за труды!
      Добавлю каплю дёгтя:
      Почините бар с иконками на странице регистрации, при уходе влево нельзя отмотать ленту назад.
      Смените тэг title (как минимум в дэшборде), у вас всё же не Facebook :).
        0
        FYI с включённым Adguard на сайте ничего не работает
          0
          Промокод, как я поняла, для участия в форуме hackit-ukraine.com? Потому что если это для CTF, то не понятно куда его вбивать
            0
            Участие в СTF бесплатное. Промокод на билеты для самой конференции, где будут выступать с докладами.

          Only users with full accounts can post comments. Log in, please.