Язык: English | Русский
Ферма для attack-defense CTF-соревнований
Ознакомьтесь с FAQ, если вы хотите узнать о том, что такое attack-defense CTF, какие возможности предоставляет эта ферма и почему она имеет архитектуру, описанную ниже.
-
Эксплоит — это скрипт, который позволяет красть флаги в определённом сервисе у команд-противников. Пишется участником во время соревнования. Должен принимать хост (IP или домен) команды-соперника в качестве первого аргумента командной строки (
sys.argv[1]
), атаковать команду и выводить флаги в stdout. -
Клиент фермы — это утилита, которая регулярно запускает эксплоиты, чтобы атаковать чужие команды, и следит за их работой. Запускается участником на своём ноутбуке после написания эксплоита.
Клиент представляет собой однофайловый скрипт start_sploit.py из данного репозитория.
-
Сервер фермы — это утилита, которая собирает флаги от клиентов фермы, централизованно отправляет их в проверяющую систему, следит за использованием квот и показывает статистику по принятым и некорректным флагам. Настраивается и запускается админом команды в начале соревнования. Во время соревнования члены команды могут воспользоваться веб-интерфейсом сервера (см. скриншот выше), чтобы следить за результатами работы эксплоитов и статистикой отправляемых флагов.
Сервер представляет собой веб-сервис (на Flask) из папки server в данном репозитории.
Стрелки на диаграмме указывают направление движения флагов
См. список по ссылке.
Copyright 2017–2018 Александр Борзунов
Вдохновлена фермой Бэя.