Skip to content

Latest commit

 

History

History
47 lines (28 loc) · 3.63 KB

index.md

File metadata and controls

47 lines (28 loc) · 3.63 KB

Destructive Farm

Язык: English | Русский

Ферма для attack-defense CTF-соревнований

Ознакомьтесь с FAQ, если вы хотите узнать о том, что такое attack-defense CTF, какие возможности предоставляет эта ферма и почему она имеет архитектуру, описанную ниже.

Компоненты фермы

  1. Эксплоит — это скрипт, который позволяет красть флаги в определённом сервисе у команд-противников. Пишется участником во время соревнования. Должен принимать хост (IP или домен) команды-соперника в качестве первого аргумента командной строки (sys.argv[1]), атаковать команду и выводить флаги в stdout.

    Пример эксплоита | Подробнее о формате эксплоита

  2. Клиент фермы — это утилита, которая регулярно запускает эксплоиты, чтобы атаковать чужие команды, и следит за их работой. Запускается участником на своём ноутбуке после написания эксплоита.

    Клиент представляет собой однофайловый скрипт start_sploit.py из данного репозитория.

    Подробнее о клиенте

  3. Сервер фермы — это утилита, которая собирает флаги от клиентов фермы, централизованно отправляет их в проверяющую систему, следит за использованием квот и показывает статистику по принятым и некорректным флагам. Настраивается и запускается админом команды в начале соревнования. Во время соревнования члены команды могут воспользоваться веб-интерфейсом сервера (см. скриншот выше), чтобы следить за результатами работы эксплоитов и статистикой отправляемых флагов.

    Сервер представляет собой веб-сервис (на Flask) из папки server в данном репозитории.

    Подробнее о сервере



Стрелки на диаграмме указывают направление движения флагов

Планы на будущее

См. список по ссылке.

Авторы

Copyright 2017–2018 Александр Борзунов

Вдохновлена фермой Бэя.