CTF или соревнования по безопасности Capture The Flag — отличный способ научиться взламывать системы. Это соревнования, в которых участники соревнуются, пытаясь найти «флаг»
, чтобы доказать, что они взломали систему.
Это один из лучших способов освоить определенные навыки безопасности, такие как бинарная эксплуатация, веб-эксплуатация или реверс-инжиниринг.
Существует два основных вида CTF: Jeopardy
и Attack-Defense
.
CTF в стиле Jeopardy — это, по сути, список хакерских задач, которые вы можете выполнить для получения флагов, приносящих определенное количество очков. Эти задачи включают в себя использование уязвимости или решение задачи программирования, чтобы украсть «флаг»
. Команды соревнуются, кто найдет больше флагов и наберет больше очков за отведенное время.
Хакерские испытания в CTF в стиле Jeopardy часто сортируются по уровням сложности, поэтому новички также могут легко принять в них участие. Часто есть разные наборы задач, из которых вы можете выбирать, от криптографии, реверс-инжиниринга, эксплуатаци двоичного кода, сети, программирования, форензики, сетевых задач до проблем, которые представляют собой сочетание некоторых или всех этих навыков.
Более продвинутой версией CTF является CTF в стиле Attack-Defense
. В этих соревнованиях команды защищают свои серверы от атак и атакуют серверы противников, чтобы набрать очки. Эти CTF требуют больше навыков для участия в соревнованиях и почти всегда проводятся в командах.
Для новичков в СТF Jeopardy часто не требуются специальные технические навыки. В конце концов, это то, чему вы пытаетесь научиться! Тем не менее, хорошо иметь общее представление о том, как использовать командную строку
, и иметь базовые знания в области программирования. Например, будет очень полезно изучить основы Python
.
Курс от Hexlet
Курс на code-basics
Более продвинутые технические навыки можно получить, выполнив более простые задания или погуглив. Также полезно быть в курсе последних новостей в области безопасности, поскольку задачи CTF часто основаны на недавно обнаруженных уязвимостях.
Если вы хотите принять участие в CTF, загляните на CTFtime.org, чтобы найти список текущих и предстоящих турниров CTF.
Начать решать задачи, постепенно накапливая опыт. Необязательно уметь решать сразу все задачи. Можно выбрать одно направление и углубиться в изучение его аспектов.
Для старта можно начать с Beginner-friendly СTF:
YouTubers:
В СТF задачах по криптографии цель обычно состоит в том, чтобы взломать или клонировать криптографические объекты или алгоритмы для получения флага.
Статья Crypto for beginners(en)
Преезнтация по подбору паролей от команды 4hsl33p
Презентация по крипте от команды 4hsl33p
- CyberChef
- CrackStation
- Python
CTF задачи по форензике/криминалистики
могут включать анализ формата файла, стеганографию, анализ дампа памяти или анализ захвата сетевых пакетов. Любая задача по изучению и обработке скрытой части информации из статических файлов данных (в отличие от исполняемых программ или удаленных серверов) может считаться задачей криминалистики (если только она не связана с криптографией)
Презентация по форензике от команды 4hsl33p
Презентация по стегонографии от команды 4hsl33p
Веб-задачи в соревнованиях CTF обычно включают использование HTTP (или аналогичных протоколов) и технологий, связанных с передачей и отображением информации через Интернет, таких как PHP, CMS (например, Django), SQL, Javascript и другие.
Презентация по вебу от команды 4hsl33p
Tools:
OSINT задачи нацелена на поиск информации из открытых источников
Реверс-инжиниринг в CTF обычно представляет собой процесс преобразования скомпилированной программы (машинный код, байт-код) в более удобный для человека формат.
Презентация по реверсу от команды 4hsl33p
Have fun 😉