Какие программы нужны для ctf

Что такое CTF. В переводе с английского capture the flag означает «захватить флаг». Так и есть, CTF — это соревнования, где команды решают прикладные задачи в области кибербезопасности, чтобы получить флаг — уникальную последовательность символов. Флаг (его отправляют в специальную платформу) подтверждает, что участники действительно взломали систему, нашли уязвимость алгоритма генерации ключа или выполнили какую-либо другую задачу.

Где проходит. CTF-турниры проводят как очно, так и онлайн. Очные встречи длятся не меньше семи часов, а онлайн-соревнования могут идти и сутки напролет — чтобы команды из разных часовых поясов были примерно в равных условиях.

Форматы часто совмещают: отборочные этапы проводят в сети, а в финале участники собираются на одной площадке. Именно так организован, например, американский DEF CON CTF, а в России — CTFZone.

Как соревнуются. CTF бывают двух видов. Первый — jeopardy: участникам предлагают набор задач разной «стоимости», как в телевикторине Jeopardy! на американском ТВ (наш аналог — «Своя игра»). За верное решение начисляют очки: чем сложнее задача, тем она дороже. Участники должны находить и эксплуатировать уязвимости в веб-приложениях и бинарных сервисах, администрировать операционные системы, разбираться в криптографии, программировании и уметь много чего другого.

CTF для новичков — Basic Pentesting: 1 | Vulnhub #2

Второй вид CTF-соревнований — attack/defense. На старте команды получают одинаковое количество очков и выделенный сервер с ресурсами. Задача — взламывать серверы соперников и защищать свои. Чтобы доказать взлом, нужно украсть с чужого сервера флаг — их загружает туда подготовленная организаторами автоматизированная платформа, которая эмулирует поведение обычного пользователя.

Код

Стать востребованным специалистом по кибербезопасности можно, выбрав онлайн-курс в каталоге курсов по информационной безопасности.

Зачем участвуют в CTF

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

И неудивительно — участие в CTF, кроме удовольствия, дает немало возможностей:

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

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

  • Заходите на ресурсы ringzer0ctf.com, www.root-me.org, websec.fr, pwnable.kr и решайте CTF-задачи. День, второй, третий. Чем больше, тем лучше.
  • Изучите или еще раз просмотрите дерево знаний по кибербезопасности, которое подготовили ребята из SPbCTF.
  • Ознакомьтесь с курсами для начинающих. Сейчас очень популярны КМБ (Курс молодого бойца) CTF, курс от «Хакердома».
  • Прочитайте разборы заданий и статьи по теме. Их легко найти на технических ресурсах вроде Habr, CTFtime, а также в блогах игроков и команд.
  • Не стесняйтесь общаться с участниками из успешных команд или разработчиками CTF, задавайте им вопросы.

На каких площадках себя проверить

CTF-соревнования проходят каждую неделю, а то и чаще. Расписание турниров удобно отслеживать на сайте CTFtime. Здесь же можно зарегистрироваться.

Пентест для новичков | CTF | TryHackMe — Pickle Rick

Самое авторитетное соревнование — DEF CON CTF. Первый турнир серии был проведен на хакерской конференции без малого 30 лет назад и дал начало всем CTF. Чтобы попасть на DEF CON, нужно выстоять в жестком онлайн-этапе или выиграть одно из престижных международных соревнований — сейчас в мире 6 таких отборочных турниров.

С 2019-го официальным отборочным турниром DEF CON CTF стал CTFZone, который в этом году прошел в конце апреля онлайн. Среди участников были команды из России, Китая, Италии, США, Польши, Японии. Обладатели первых трех мест получили денежные призы, а победитель, которым стала команда mslc из нашей страны,— еще и место в финале DEF CON CTF.

Еще два крутых российских соревнования — RuCTF и Volga СTF. Они собирают команды со всего мира, но с одним условием: в отборочном турнире могут принять участие все, а в финале — только студенты и вчерашние выпускники.

Компьютер

Как получить максимум

Киберспортивное хобби может стать отличным источником профессионального опыта. Чтобы все удалось, попробуйте следующее:

Читайте также:
Написать программу которая бы по введенному номеру единицы измерения 1 килограмм 2 миллиграмм

1. Как следует подготовьтесь к CTF-турниру:

  • прямо сейчас начинайте решать CTF-задачи. Практика — первый и основной элемент подготовки;
  • читайте все, что есть в интернете на тему безопасности, новых уязвимостей, техники эксплуатации, архитектуры;
  • зарегистрируйтесь в специализированных пабликах и задавайте вопросы тем, кто в теме.

2. Зайдите на сайт CTFtime и выберите выходные, которые вы готовы просидеть за компьютером.

3. После соревнований обязательно посмотрите разборы заданий, которые вы пытались, но не смогли решить.

Фото на обложке и в материале: Unsplash

Источник: rb.ru

Инструменты которые использую в соревнованиях CTF

В этой статье я собрал список моих наиболее часто используемых инструментов при участии в соревнованиях CTF.

Сеть

Сканирование портов

  • NMAP (Network Mapper): сканирование портов, обнаружение уязвимостей, перечисление сервисов и многое другое. См. также «Сканер уязвимостей из Nmap и Vulscan».
  • RustScan: он использует другой метод для сканирования портов намного быстрее, чем nmap, который затем может быть передан механизму сценариев nmap.

Другое

  • Wireshark: Анализатор трафика и сетевых протоколов. См. также «Как перехватить пароли в WireShark».
  • Aircrack-NG: Набор инструментов для взлома паролей WiFi. См. также «Актуальные методы взлома Wi-Fi»

Веб-приложение

  • GoBuster: в основном используется для брутфорса папок, но у него есть и другие возможности. Можете установить его в Kali Linux с помощью команды « sudo apt install gobuster ».
  • Nikto: Мощный сканер уязвимостей веб-приложений.
  • Burpsuite: универсальный инструмент для тестирования веб-приложений. См. также «Автоматизация атак в Burp Suite».
  • OWASP ZAP: бесплатный сканер веб-приложений с открытым исходным кодом.
  • WPScan: инструмент для взлома сайтов на WordPress. Получение списка плагинов и тем, оценка уязвимости сайта (для этого нужен токен api, можно получить его, создав учетную запись здесь) и многое другое. См. также «Как проверить сайт на уязвимости».
  • SQLMap: с помощью этого инструмента можно сканировать сайт на наличие уязвимостей.
  • SQL-инъекций, включая формы, параметры и многое другое.

Хеширование и криптография

Онлайн

  • Hash type identifier
  • Hash cracker
  • Another hash cracker
  • Cipher identifier
  • Go-to data decoding tool

Офлайн

  • John The Ripper: мощный инструмент для взлома хешей.
  • Hashcat (взлом хеша). См. также «Как пользоваться Hashcat в Kali Linux».
  • Декодирование base64 из консоли с использованием echo “ base64_code ” | base64 — d
  • Скрипты John The Ripper: можно найти их в Kali Linux в каталое / usr / share / john .

Стеганография и скрытые данные

Стеганография

  • Steghide: скрывает и извлекает данные из файлов. Устанавливается в Kali командой sudo apt install steghide
  • Stegpy: извлечение скрытых данных из png, bmp, gif, webp и wav.
  • Audacity: редактор звуковых дорожек.
  • outguess: скрывает и извлекает данные.

Скрытые данные

  • Binwalk: поиск в двоичном файле исполняемого кода.
  • ExifTool: чтение, запись и редактирование метаданных разных типов файлов.
  • strings: команда для просмотра и поиска текстовых строк в двоичном файле. Есть в Kali.

Реверс-инжиниринг

  • Radare2: r2 — это переписанный с нуля radare. Набор библиотек, инструментов и плагинов для облегчения задач реверс-инжиниринга.
  • hexeditor: нструмент Kali для работы с шестнадцатеричными файлами.
  • ghidra: набор инструментов для анализа программного обеспечения. Позволяет анализировать скомпилированный код на различных платформах, включая Windows, macOS и Linux. См. также «Использование фреймворка Ghidra».

Эксплуатация

  • searchsploit: инструмент командной строки для поиска уязвисмотей Exploit-DB. Установлен по умолчанию в Kali. См. также «Лучшие сайты для поиска уязвимостей».
  • Metasploit: самый популярный фреймворк для тестирования на проникновение. См. также «Как пользоваться Metasploit Framework».
  • Pwntools: фреймворк CTF. Он предназначен для быстрого прототипирования и разработки и призван максимально упростить написание эксплойтов.

На этом все. Это был мой список инструментов, которые я использую в соревнованиях CTF. А какими инструментами пользуетесь вы?

Источник: spy-soft.net

Как устроен CTF: соревнование, где каждый может побыть хакером

Совсем скоро пройдет IT’s Tinkoff CTF для ИТ-специалистов. У нас уже готов сайт, где вы можете узнать подробности и зарегистрироваться, но это еще не все. Для тех, кто пока не знаком с таким форматом соревнований, мы подготовили эту статью. В ней мы расскажем, что такое CTF, и разберем тестовое задание. Если вы любите интересные задачи, приглашаем под кат.

Что такое CTF

Традиционный СTF, Capture The Flag, — это соревнование по спортивному хакингу. Но мы сделали соревнование для тех, кто не специализируется на информационной безопасности. Поэтому ждем разработчиков, SRE- и QA-инженеров, аналитиков и других ИТ-специалистов.

На CTF командам нужно решать задания на разные темы. Они рассчитаны на мидл- и сеньор-специалистов. Решив задание, команда получает флаг — секретную строчку вида its. За каждый флаг начисляются очки. Побеждает команда, которая набрала максимум очков.

Читайте также:
Программа проведения технического обслуживания или ремонта

Вас ждут задания:

— на безопасность веб-приложений;

— безопасность мобильных приложений;

В IT’s Tinkoff CTF есть две лиги: Лига новичков и Лига опытных. Если вы не до конца уверены в своих силах, советуем начать с Лиги новичков.

Для тех, кто еще не играл в CTF, мы сделали разбор демозадания. Это поможет понять механику.

Спасаем пользователя, который поверил документалке о плоской земле

Представьте, что к вам подбегает испуганный мужчина со смартфоном и просит помочь: «Я написал тред в одной соцсети, и он завирусился. Вот наутро перечитал, чуть не сгорел со стыда и все удалил. Но тред сохранился архивом на одном сайте. Можем его как-нибудь удалить? Его же потом могут найти и прочитать мои дети»‎. В адресной строке виднеется: https://its-cringe-archive-997wqau.spbctf.ru/archive/dmzvwk9d75.

Итак, наша задача — удалить архив с сайта.

Тот самый пост

Если перейти на главную страницу https://its-cringe-archive-997wqau.spbctf.ru/, нас встретит интерфейс сервиса для архивирования веб-страниц. Разберемся, как он работает и получится ли у нас помочь впечатлительному пользователю.

Инструментарий Burp Suite. Proxy. Исследовать веб-сервисы на безопасность удобно в Burp Suite — это комбайн инструментов для работы с вебом на уровне протокола HTTP, по которому браузер связывается с сервером.

  • заглянуть в сырые данные, которые передаются веб-серверу и обратно;
  • менять эти данные руками, чтобы посмотреть, как приложение справится с чем-то неожиданным;
  • автоматизировать запросы на сервер.

Нам хватит бесплатной версии Kali Linux — дистрибутив для пентестеров, — комьюнити-редакция Burp в нем ставится прямо из репозиториев и, скорее всего, у вас уже есть.

В Burp Suite легко запутаться. Для начала нам понадобится всего пара вкладок.

Начнем с того, чтобы сразу ходить на тестируемый сайт только через встроенный браузер Burp. Так он сможет записывать все наши действия на сайте, и это нам здорово поможет в пентесте веб-приложения. Вкладка Proxy → Open browser.

Встроенный браузер — это обычная версия Chromium, которая настроена пропускать весь трафик через Burp. Например, сходим на Хабр и посмотрим на вкладку HTTP history.

Все запросы, которые отправил браузер при открытии страницы, видны нам целиком — и сырой HTTP-запрос со всеми полями и заголовками, и сырой ответ от веб-сервера.

Осматриваемся. Site map. Для начала зайдем в каждый закоулок веб-сайта, чтобы понять, что вообще на нем можно делать.

РегистрируемсяПолучаем возможность архивировать страницы, введя адрес, и пользуемся этим

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

Заходим в профиль

Burp тем временем записывает все запросы, которые при наших действиях отправляются на сервер. Мы можем полистать их на той же вкладке Proxy → HTTP history, но есть и более удобное представление, чтобы охватить всю картину целиком.

Посмотрим на вкладку Target → Site map.

Здесь Burp собрал все адреса, по которым обращался браузер, в удобную древовидную структуру — как будто это не отдельные запросы и API-эндпоинты, а структура папок на диске. На одном экране мы видим все устройство веб-приложения под капотом и можем смотреть детали конкретных запросов. Например, мы видим, как ручка /api/last_archives отдала браузеру JSON с ненавистной ссылкой.

Пробуем ломать. Repeater. В сайтмапе можно заметить, что нам в том числе доступен эндпоинт /api/delete_archive . Мы дернули его, когда удаляли только что собственноручно заархивированную страничку. Он принимает ID архива, и мы знаем ID архива ссылки с кринж-постом (dmzvwk9d75).

У чужой заархивированной странички нам, естественно, не покажут кнопку «Удалить», но давайте перехитрим веб-приложение и отправим запрос на удаление вручную.

Везде, где в Burp виден HTTP-запрос, его из меню по правой кнопке можно отправить в Repeater — инструмент для ручного редактирования и отправки запросов.

В репитере мы можем менять запрос, как нам захочется, и тут же послать его на сервер и увидеть ответ. В пылу ручного тестирования вместо кликов по оранжевой кнопке Send экономит время сочетание «Ctrl + пробел».

Увы, сервер распознал подмену. Вместо ответа 302 Found , который мы получали, удаляя собственный архив, на попытку удалить чужой нам прилетело 500 Internal Server Error , и архив остался лежать на сервере. Получается, здесь приложение проверяет переданный ID.

Теперь давайте обратим внимание еще на одну API-ручку — /api/user , которая используется при заглядывании в свой профиль на сайте.

Во-первых, она принимает от клиента какой-то ID, у нас 12. Во-вторых, кроме тех данных, которые мы видим на странице, сервер возвращает в ответе еще и пароль, точнее, его хеш. Судя по 32 hex-символам, это должен быть алгоритм MD5.

Читайте также:
Программа установка принтера canon mf3010

Простые хеши можно даже загуглить

И действительно, находится много результатов, что это MD5-хеш от пароля 12345678, с которым мы и регистрировались. Похоже, мы нашли первую уязвимость в приложении! Ее можно отнести к Information Disclosure — сервер присылает браузеру больше информации, чем нужно для отображения, в том числе хеш от нашего пароля.

Теперь вспомним про параметр к этому запросу, который у нас был равен 12. Посмотрим, что будет, если отправить другое число.

Ого! Мы поменяли номер пользователя, и сервер выдал нам чужие данные: чужой e-mail, имя и хеш пароля. Мы нашли уязвимость Insecure direct object reference, IDOR: сервер не проверяет, имеем ли мы право запрашивать данные пользователя № 11, и легко отдает их.

Просто пользуясь сайтом в браузере, мы бы не наткнулись на эту ошибку: при просмотре профиля запрос всегда отправляется с нашим собственным ID. Но стоило нам начать посылать запросы вручную и посмотреть, как веб-сервер будет реагировать на неожиданные данные, выяснилось, что в этом месте разработчик забыл проверить, чей профиль мы запрашиваем.

Кстати, если бы у нас получилось удалить кринж-пост, подставив его ID, это тоже была бы уязвимость вида IDOR. Однако в той API-ручке разработчик это учел и добавил проверку.

Перебираем пользователей. Intruder. Мы всего лишь 12-й пользователь, и, в принципе, нам не составило бы труда вручную поподставлять предыдущие числа в параметр ID и позапрашивать данные других учеток. Но давайте попросим это сделать сам Burp.

Так же как любой запрос можно отправить в Repeater, по правой кнопке всегда доступен пункт Send to Intruder — инструмент автоматизации, который отправляет много запросов. Таких, какие нам нужны.

На вкладке Positions мы настраиваем место, где будут меняться данные от запроса к запросу. Таких мест в тексте запроса можно настроить несколько, каждое обрамляется §параграфами§.

Нам же сейчас нужно изменять только ID. Нажмем Clear §, чтобы сбросить все автоматически проставленные места, если они были. Выделим наш номер 11 в запросе и нажмем Add §. Номер обрамится в параграфы, что будет означать, что меняться будет именно он.

Теперь на вкладке Payloads настраиваем, что на это место будет подставляться. Burp Suite умеет брать значения из разных мест (Payload type), но нам пригодится самый простой тип — Numbers. Например, переберем ID от 1 до 100. From: 1, To: 100, Step: 1.

Все настройки готовы, можно начинать — Start attack.

Открывается список, который Burp заполняет ответами на автоматически сгенерированные HTTP-запросы. Мы можем отсортировать результаты по длине ответа или просто пролистать их подряд — и пользователь № 5 окажется искомым cringe_catcher, который заархивировал злополучную ссылку.

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

Взламываем MD5-хеш. К сожалению, этот хеш не гуглится — похоже, он от пароля посложнее, чем 12345678. Придется взламывать хеш самим.

Хеш можно взломать только перебором: пробовать хешировать много разных паролей, пока не угадаем. Хороший инструмент для быстрого перебора разных хешей — hashcat. Воспользуемся им.

Чтобы перебирать немного умнее, мы проведем атаку по словарю с правилами. Возьмем очень популярный словарь паролей rockyou.txt, в котором 14 млн частых паролей из утечки 2009 года, и применим к нему набор правил dive.rule, который идет в комплекте с Хешкатом. Каждое правило будет применяться к каждому паролю из rockyou, немного его мутируя. Так мы сможем быстро попробовать не только пароли, которые уже кто-то использовал в той утечке, но и их адекватные вариации.

Запускаем: hashcat 64d1d1b4028f97e9d5648532ec21ffad rockyou.txt -r rulesdive.rule -O.

Буквально за секунду hashcat наткнулся на пароль, который соответствует хешу, — kucing33. Кстати, его действительно не было в самом словаре, правила помогли.

Также попробовать найти хеш можно на разных сайтах, которые составляют базы соответствия хешей с паролями. Их можно нагуглить, например, по md5 lookup online .

Один из таких с первой страницы выдачи Google действительно знает наш хеш.

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

Заходим на сайт, зная данные для входа.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru