POSITIVE HACK DAYS

ОРГАНИЗАТОР

PHDays CTF 2012: Circuli vitae

Общие положения

В начале игры команды получают идентичные серверы с заранее установленным набором уязвимых сервисов.

Задача команды — найти уязвимости, закрыть их у себя и воспользоваться ими для получения секретной информации (флагов) у команд соперников. Команда также может зарабатывать очки при захвате флагов с общей игровой инфраструктуры, получать баллы за время удержания сервисов в задании «Царь горы», а также при захвате бонусных флагов.

Все флаги представлены в виде 32-х символьной строки в формате MD5.

Примечание: сервисы задания «Царь горы» делятся на 2 уровня, доступ к сервисам второго уровня предоставляется только при решении задачи первого уровня и поощряется большим количеством баллов за время удержания.

По окончании соревнований командам потребуется продемонстрировать свои навыки и знания в соревнованиях по защите некоторой инфраструктуры от атак из сети интернет. Подробности завершающего задания будут объявлены командам во второй день проведения PHDays CTF 2012. Результаты завершающего задания могут повлиять на рейтинге команд, сложившемся по итогам двух дней соревнования.

За процессом игры непрерывно следит проверяющая система жюри, регулярно изменяя состояние игровой инфраструктуры, помещая новые флаги и уязвимости на сервера команд, отслеживая наличие ранее установленных флагов и выполнение своих функций уязвимыми сервисами. Жюри определяет победителя, основываясь на баллах.

Правила подсчета баллов

Баллы начисляются за:

  • отправку флагов, захваченных с сервисов команд-соперников (рейтинг «Атака»), включая флаги, захваченные в рамках бонусного задания (рейтинг «Бонусы»);
    Примечание: все флаги на серверах команд различны и имеют идентификатор принадлежности к сервисам конкретной команды; любая команда имеет право собрать флаги с уязвимых сервисов всех команд соперников.
  • отправку флагов, захваченных с сервисов общего сегмента игровой инфраструктуры (рейтинг «Атака»);
    Примечание: все флаги на серверах общего сегмента игровой инфраструктуры различаются стоимостью, в зависимости от сложности задачи их решения.
  • время удержания игровых сервисов в рамках задания «Царь горы» (рейтинг «Царь горы»);
  • победу в бонусных конкурсах (рейтинг «Бонусы»).

Стоимость заданий заранее предопределена для всех сервисов в зависимости от сложности реализации атаки. Примеры возможных бонусных заданий: перехват управления AR.Drone, dumpster diving и др.

Баллы изымаются за:

нарушение доступности своих сервисов и/или функций, выполняемых уязвимыми сервисами (рейтинг «Доступность»);

Формула расчета штрафа:

Отказ сервиса в рамках основных заданий CTF = стоимость флага сервиса х4

Отказ сервиса в рамках бонусных заданий CTF = стоимость флага сервиса х2

Индикация:

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

неспособность защитить флаги, расположенные на сервисах команды (рейтинг «Защита»);

Формула расчета:

1-я потеря флага = 100% от стоимости флага

2-я потеря флага = 100% от стоимости флага

3-я потеря флага = 100% от стоимости флага

Примечания:

  • 4-я и последующие потери флага не учитываются при подсчете штрафных баллов на том же сервисе до его изменения;
  • максимально команда может потерять за каждый флаг утроенную стоимость флага;
  • в рамках бонусных заданий потеря командой своих флагов не учитывается.

неспособность организовать защиту игровой инфраструктуры, организованной в рамках завершающего задания;

Примечание: формула расчета потерянных баллов и описание задания будут объявлены командам во второй день проведения PHDays CTF 2012.
Расчет баллов, заработанных командами, ведется в режиме реального времени и выводится на экран. Если штрафные баллы, начисленные команде, превышают текущее суммарное количество заработанных баллов, счет команды обнуляется.

Во время игры команды могут:

  • использовать не более 5-ти компьютеров и сетевого оборудования не ниже второго уровня стека ISO OSI;
  • вносить любые изменения в предоставленные им серверы, если это прямо не запрещено жюри;
  • проводить атаки на серверы команд соперников с целью захвата флагов;
  • проводить атаки на серверы общего сегмента игровой инфраструктуры с целью захвата флагов;
  • проводить атаки на сервисы задания «Царь горы» с целью удержания системы.

Во время игры командам запрещается:

  • проводить атаки на компьютеры жюри;
  • осуществлять фильтрацию трафика к любым ресурсам CTF (например, по ip-адресам);
  • генерировать неоправданно большой объем трафика (флуд);
  • проводить деструктивные атаки на серверы команд-соперников (например, rm -rf /);
  • преднамеренно нарушать нормальное функционирование сервисов, включая сервисы команд соперников и сервисы общей игровой инфраструктуры;
  • удалять флаги с предоставленных серверов, на серверах команд соперников и серверах общей игровой инфраструктуры;
  • осуществлять указанные выше действия от имени команд-соперников.

Работа жюри:

  • Жюри может уточнить правила в любой момент до начала игры.
  • Жюри может оштрафовать/дисквалифицировать команду за нарушение правил.
  • Жюри определяет победителя, основываясь на баллах.

Распределение баллов по заданиям CTF

Вид задания
Сервисы командОбщая инфраструктураЦарь горыБонусы
Максимальное количество балловМаксимальный штрафМаксимальное количество балловМаксимальное количество баллов за задания первого уровняМаксимальное количество баллов за задания второго уровняДополнительные конкурсы
25%15%30%1 тип2 тип20%9%
8%8%

Примечания:

  • Распределение баллов по заданиям представлено в процентах от общего числа баллов, разыгрываемых в рамках всего соревнования CTF.
  • В результате выполнения завершающего задания второго дня команды могут потерять определенное количество очков (подробности будут объявлены во второй день проведения соревнования).

Технические детали CTF

Возможные уязвимости подготавливаемых сервисов конкурса CTF

Уязвимости веб-приложений:

  • ошибки в реализации функций аутентификации;
  • ошибки в реализации функций авторизации и разграничения доступа;
  • атаки на клиентов веб-приложения (включая Cross-Site Scripting, Cross-Site Request Forgery и др.);
  • уязвимости, приводящие к выполнению кода (включая SQL Injection, OS Commanding, XML Injection и др.);
  • разглашение чувствительной информации;
  • ошибки в реализации логики системы;
  • ошибки в настройке приложений и серверов.

Уязвимости сетевых сервисов:

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

Уязвимости приложений и сценариев автоматизации функций администрирования:

  • ошибки в реализации функций аутентификации;
  • ошибки в реализации функций авторизации и разграничения доступа;
  • уязвимости, приводящие к выполнению кода (переполнение буфера, стека и т.д.);
  • уязвимости криптографической защиты;
  • ошибки в реализации логики системы.

Уязвимости беспроводных сетей:

  • несанкционированные точки доступа и клиенты беспроводного доступа;
  • уязвимости в конфигурации настроек беспроводного доступа, включая настройки беспроводных клиентов (слабые протоколы защиты и т.д.).

Карта игровой сети