Что такое CTF?

188 views
Skip to first unread message
Assigned to gek0n...@gmail.com by me

gek0n

unread,
Sep 24, 2013, 6:29:29 AM9/24/13
to
CTF (Capture The Flag) - командная игра, целью которой является совершенствование навыков в области компьютерной безопасности.

Место проведения: сеть интернет, локальная подсеть (в зависимости от типа соревнования).

Язык: English (реже русский)

Состав команды: Команда состоит из 5-10 человек, которые имеют универсальную специализацию (разбираются во всем по чуть-чуть), но каждый из игроков обычно отвечает за свою категорию заданий. При удаленном участии количество человек не регламентируется.

Победитель: определяется по количеству очков.

Суть игры: Каждая команда в любом виде CTF должна достать так называемые флаги (flags, keys). Обычно флаг представляет собой строку, состоящую из 32 шестнадцатеричных символов (key(0920303251BABE89911ECEAD17FEBF30), flag=0920303251BABE89911ECEAD17FEBF30 flag:0920303251BABE89911ECEAD17FEBF30 flag:{0920303251BABE89911ECEAD17FEBF30} и т. д.), либо осмысленную строку с указанием, что это флагflag{number2isalittlebitharder}, Your key is: day 145: they still do not realize this software sucks, и т. д.). 

Длительность: от 8 до 24 часов - Classic; от 4 часов до 7 дней - Task-based.

Порядок проведения игры (в команде bit0n): Капитан команды определяет предстоящую игру и регистрирует команду. Все игроки оповещаются через google+ и форум. Каждый, кто будет участвовать плюсует сообщение. Все игроки в момент начала игры находятся дома за компьютерами (если игра проходит локально - приходят со своими ноутбуками, едой, водой). Логин/пароль для выхода на сайт сообщаются заранее После старта соревнований каждый игрок выбирает понравившуюся категорию, скачивает таски (задания) и пытается их решить (добыть из них/с помощью них флаг). 

Вся информация, которая сопутствует решению, как то: мысли (умные и глупые), догадки, находки, проделанные действия, полученную промежуточную информацию - всё это игроки выкладывают на форум. В форуме каждое сообщение оформляется примерно одинаковым образом (строгих правил нету). Если информацию по чужому сообщению добавляет другой человек, он должен указать свой ник после сообщения (//nickname). После решения какого-либо таска полученный флаг отправляется на сайт, потом указывается на форуме с пометкой (//solved by nickname).

Общение между игроками осуществляется через закрытый канал IRC. Дополнительные средства связи Google+, конференции в Jabber. Доступность для общения обязательна в течении всей игры.

После завершения соревнования игроки пишут КОРОТКИЕ writeup'ы (что-то вроде алгоритма решения), пытаются реализовать проделанные ручками действия с помощью python-скриптов (если возможно и необходимо). Вся используемая игроками информация в частном порядке сохраняется в отдельную папочку и запоминается. Задания, которые "почти решили", но не успели дорешать решаются после окончания игры самостоятельно. После игры возможны семинары, на которых можно будет задать вопросы участникам команды ufologists и получить ответы.

Цель игры (в команде bit0n): Определение категории, которая больше нравится (лучше получается, легче других решается и т. д.) каждому игроку. Изучение информации, связанной с решением тасков и совершенствование в выбранной области. Попутное освоение других областей. Люди, которые достигли определенных успехов в выбранной области получают шанс попасть в официальную команду UFOLOGISTS.


Преимущественно CTF бывают 2-х видов:
  1. Jeopardy (Task-based):
  2. Classic
1)Проходит в виде соревнования похожего на олимпиаду. Всем командам участницам предложено некоторое количество заданий и ограниченное время на их выполнение. Каждое задание стоит определенное количество очков. По истечении отведенного времени автоматически выбирается участник в зависимости от набранного количества очков.
 
 2)Проходит преимущественно локально (иногда удаленно). Команды участницы собираются в одном месте и скачивают с сайта организаторов виртуальный образ сервера, готового к игре. Этот сервер изобилует уязвимостями. Каждой команде даётся 1 час на изучение предоставленного сервера, после чего начинается соревнование. Целью является защита от атак своего сервера и успешная атака наибольшего возможного количества серверов других команд. За атаку и защиту отдельно начисляются очки. По сумме очков определяется победитель.

Категории тасков:
  1. WEB - задания, связанные с поиском уязвимостей веб приложений, страничек, взломом БД, проведением XSS-атак, SQL-инъекций.
  2. PPC - задания на скоростное программирование. Обычно программная реализация действий невыполнимых или трудновыполнимых вручную.
  3. FORENSICS - поиск улик. Поиск любых файлов и информации в любых местах, следов файлов, восстановление их из трафика и т. д.
  4. RECON - задания на умение пользоваться поисковиком. Поиск людей, предметов, явлений, информации о них, необычных фактов и т. д.
  5. TRIVIA - вопросы, призваные отфильтровать совсем необразованных участников. Ответ на них не является обязательным и решаются они практически моментально, но лишние очки приносят.
  6. REVERSE - задания связанные с reverse ingeneering. Дизассемблирование, декомпилирование, построение обратных алгоритмов.
  7. STEGANO - поиск информации, передаваемой в неявном виде. Картинка в картинке, зашифрованные послания в последних битах и т. д.
  8. NET - задания, связанные с деятельностью сетевой инфраструктуры, анализ трафика, выявление атак и т. д.
  9. EXPLOIT - написание программ, эксплуатирующих найденную уязвимость на удаленном сервисе.
  10. BINARY - что-то вроде реверса под Linux.
  11. PWN - Некая смесь реверса и эксплоитов.
  12. CRYPTO - шифрование, дешифрование, алгоритмы и прочее.
  13. MISC - Некая произвольная комбинация вышеописанных категорий
  14. и др. - любые вариации категорий.
Где можно почитать про CTF:
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages