ctf-for-beginners

СTF for Beginners guide

CTF или соревнования по безопасности Capture The Flag — отличный способ научиться взламывать системы. Это соревнования, в которых участники соревнуются, пытаясь найти «флаг», чтобы доказать, что они взломали систему.

Почему стоит играть в CTF?

Это один из лучших способов освоить определенные навыки безопасности, такие как бинарная эксплуатация, веб-эксплуатация или реверс-инжиниринг.

Виды CTF

Существует два основных вида CTF: Jeopardy и Attack-Defense.

CTF в стиле Jeopardy — это, по сути, список хакерских задач, которые вы можете выполнить для получения флагов, приносящих определенное количество очков. Эти задачи включают в себя использование уязвимости или решение задачи программирования, чтобы украсть «флаг». Команды соревнуются, кто найдет больше флагов и наберет больше очков за отведенное время.

Хакерские испытания в CTF в стиле Jeopardy часто сортируются по уровням сложности, поэтому новички также могут легко принять в них участие. Часто есть разные наборы задач, из которых вы можете выбирать, от криптографии, реверс-инжиниринга, эксплуатаци двоичного кода, сети, программирования, форензики, сетевых задач до проблем, которые представляют собой сочетание некоторых или всех этих навыков.

Более продвинутой версией CTF является CTF в стиле Attack-Defense. В этих соревнованиях команды защищают свои серверы от атак и атакуют серверы противников, чтобы набрать очки. Эти CTF требуют больше навыков для участия в соревнованиях и почти всегда проводятся в командах.

Необходимые навыки

Для новичков в СТF Jeopardy часто не требуются специальные технические навыки. В конце концов, это то, чему вы пытаетесь научиться! Тем не менее, хорошо иметь общее представление о том, как использовать командную строку, и иметь базовые знания в области программирования. Например, будет очень полезно изучить основы Python.

Курс от Hexlet

Курс на code-basics

Более продвинутые технические навыки можно получить, выполнив более простые задания или погуглив. Также полезно быть в курсе последних новостей в области безопасности, поскольку задачи CTF часто основаны на недавно обнаруженных уязвимостях.

Где играть в CTF?

Если вы хотите принять участие в CTF, загляните на CTFtime.org, чтобы найти список текущих и предстоящих турниров CTF.

Как подготовиться к CTF?

Начать решать задачи, постепенно накапливая опыт. Необязательно уметь решать сразу все задачи. Можно выбрать одно направление и углубиться в изучение его аспектов.

Для старта можно начать с Beginner-friendly СTF:

YouTubers:

Crypto

В СТF задачах по криптографии цель обычно состоит в том, чтобы взломать или клонировать криптографические объекты или алгоритмы для получения флага.

Статья Crypto for beginners(en)

Преезнтация по подбору паролей от команды 4hsl33p

Презентация по крипте от команды 4hsl33p

Forensics

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

Презентация по форензике от команды 4hsl33p

Презентация по стегонографии от команды 4hsl33p

Web

Веб-задачи в соревнованиях CTF обычно включают использование HTTP (или аналогичных протоколов) и технологий, связанных с передачей и отображением информации через Интернет, таких как PHP, CMS (например, Django), SQL, Javascript и другие.

Презентация по вебу от команды 4hsl33p

Tools:

Osint

OSINT задачи нацелена на поиск информации из открытых источников

Reverse

Реверс-инжиниринг в CTF обычно представляет собой процесс преобразования скомпилированной программы (машинный код, байт-код) в более удобный для человека формат.

Презентация по реверсу от команды 4hsl33p

Conclusion

Have fun 😉