CTF. Первые шаги

CTF. Первые шаги

Капибары

Всем привет!

Сегодня мы начнем нашу серию постов о CTF. Что это такое и с чем их едят? Что нужно знать, чтобы в них участвовать? Зачем это нужно? И немножко поговорим о программах, которые вам в этом пригодятся 😁

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

Мы уже писали, но давайте еще раз вспомним, что CTF (Capture the flag) - это соревнования по компьютерной безопасности, целью которых является получение наибольшего числа флагов. Они могут быть как командными, так и индивидуальными (намного реже). Обычно в них участвуют командами в составе 3-5 человек, и одному игроку будет очень тяжело.

Выделяют два основных формата проведения CTF: task-based и attack-defense. Первые, task-based или как их еще называют Jeopardy, основаны на решении задач различных категорий. Первое время мы будем рассказывать только о них. Баллы там даются за каждый сданный флаг (строка, полученная при решении задания), в зависимости от сложности задания.

Кроме этого, CTF бывают еще и Attack-Defense. В них участникам предоставляется образ с уязвимыми сервисами (сайтами, FTP и т.п.). Они должны развернуть свой сервер и закрыть его уязвимости, и при этом атаковать уязвимости сервисов у других команд. Баллы даются за атаку (сданный флаг) и за защиту (работоспособность сервисов).

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

Отдельно будем предупреждать о CTF именно для школьников, и, особенно, российских, которые дают красивые сертификаты, которые можно добавить себе в Портфолио.

Пример сертификата

CTF-турниры очень популярны среди людей самого разного возраста — от школьников и студентов до состоявшихся профессионалов. Зачем же тебе участвовать в CTF?

Во-1, это куча удовольствия и положительных эмоций 😁🥳🥇

во-2, это возможность получить новые знания и навыки в области компьютерной безопасности. Посмотри статью про пентестеров.

в-3, здесь можно познакомиться с людьми, которые разделяют твои интересы

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

и, конечно, показать свои знания и умения другим 🤩

CTF – это вызов! Это игра, которая затягивает, и когда ты в них участвуешь, как и при занятиях спортом, мозг запускает выработку серотонина, и это очумело стимулирует развитие навыков и компетенций! 🥳🥇

Присоединяйся к нам! Участвуй в CTF!

Еще один сертификат😁 и куча знакомств в ходе CTF 🥳


Какие же бывают задачи в CTF

#crypto (криптография) — такие задания связаны с расшифровкой сообщений, защищенных различными алгоритмами (от самых простейших до современных шифров). Мы обязательно их разберем в ближайшее время!

#stego (стеганография) — наука о тайной передаче информации путем сокрытия самого факта передачи. В них тебе нужно найти, как именно и какую информацию передали. Тоже попробуем порешаем их.

#web — поиск уязвимостей на серверах и сайтах.

#reverse (rev, реверс-инжиниринг) — исследование кода программного обеспечения, могут быть любые языки, как интерпретируемые (в них команды легко читаются), так и компилируемые, и даже со своей ВМкой (виртуальной машиной). Очень сложная тема. Будем изучать позже, может быть даже через полгода-год.

#OSINT (recon) — поиск информации по открытым источникам, в том числе по фотографиям (гео OSINT). Классная штука! Интересная, актуальная и несложная 😁

#forensics — поиск следов вирусов и взлома или компьютерная криминалистика. Это направление посложнее и нужен опыт. Но попроще, чем реверс и взлом 😁

#pwn — взлом сервисов или системы. Очень сложная тема. Будет сильно попозже.

#misc (joy) — развлекательные задачи разнообразной тематики.

На этом знакомство с CTF можно считать завершенным. Надо приступать к подготовке рабочего места 😁 И мы его начнем создавать с виртуальных машин.

Виртуальная машина - это программа, которая позволяет превратить часть ресурсов твоего компьютера в отдельный. Для чего это нужно? Во-1, чтобы не захламлять во время CTF основную машину. Потому что приходится качать кучу всякой ненадежной ерунды. Во-2, для каждого направления можно настроить отдельную виртуалку. Например, для реверса или работы со звуком винда смотрится повыигрышнее, ту же стеганографию лучше делать в докере, который лучше работает под Линуксом, а задачи с bash'ом вообще не сделаешь без него.

Какую программу для работы с виртуальными машинами лучше выбрать? Давайте остановимся на VirtualBox'е. Да, VMware помощнее, но она платная, а это дополнительные "издержки". Или финансовые, или временные :)

Первым шагом мы скачиваем дистрибутив с официального сайта. Какую версию выбрать? Все зависит от операционной системы host (это твоя основная Ось). Кстати, ты уже знаком с жаргоном программистов? Скачав дистрибутив, сразу скачивай и Oracle VM VirtualBox Extension Pack. Он очень нужен для устойчивой работы твоей виртуалки.

Установка VirtualBox сложностей не вызывает - далее, далее, и далее (ссылка на руководство). Параллельно мы качаем образы для нас. В качестве Линукса предлагаю взять Kali Linux (это сборка для пентестеров и безопасников, а вот здесь - хорошая статья про то, что не надо надеяться только на него 😁). Ссылка для скачивания виртуальной машины под VirtualBox. Скачали, распаковали Winrar, два раза щелкнули по файлу. Можно настройки не менять, запустили, логин/пароль kali/kali. И потихоньку начинаем осваивать Linux. Ссылочки в помощь:

https://selectel.ru/blog/tutorials/linux-for-beginners/

https://itproger.com/course/linux

https://habr.com/ru/articles/655275/

Виртуалку для Windows можно взять с официального сайта (но работает только два месяца) или сделать самостоятельно. 😁

Все наши утилиты мы будем выкладывать в виде контейнера для Docker. Это специальная прога, которая позволяет «упаковать» кучу приложений со всем его окружением и зависимостями в контейнер и быстро его развернуть.

Чуть-чуть ссылок на тему как с ним работать:

https://habr.com/ru/articles/659049/

https://habr.com/ru/articles/310460/

https://habr.com/ru/articles/358774/

Установка в винде происходит через инсталлятор с официального сайта, а в линуксе штатно, через apt-get.

На этом, наверное, пока все. Пробуем, осваиваемся, если что непонятно, пишем!

Report Page