1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Probius-CTF-QuickStart

Клонировать/Скачать
QuickStart.md 36 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 07.06.2025 11:01 f8e0cb9

💖Добро пожаловать в новичковое селение x

Этот учебник поможет вам получить общее представление о CTF и попытается научить вас, как начать работу с CTF. Конечно, документ может быть не таким полным, если вы считаете, что документ недостаточно полный или что в нем чего-то не хватает, пожалуйста, сообщите мне об этом, и я постараюсь улучшить этот документ. Учитывая, что некоторые новички могут не очень хорошо использовать функцию issue на GitHub, здесь также предоставлены другие способы обратной связи:

Приятного времяпрепровождения x и удачи! 😊### 📓Некоторые термины CTF-мира в Вики

  • Шеф В CTF-сообществе, участники CTF обычно называют друг друга "шефами".

  • WriteUp Также известен как WP, это статья, которая описывает процесс решения задач в CTF, обычно включает описание задачи, подход к решению, процесс решения, анализ исходного кода, анализ скриптов и т.д. Конечно, вы можете просто понимать это как отчет по решению задачи — решение задачи.

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

  • Матрешка Это может означать, что задача, например, шифрование, содержит несколько уровней шифрования, требующих нескольких этапов дешифрования для получения флага, то есть задача может включать несколько проверенных знаний. Второе значение имеет некоторую негативную коннотацию, обычно указывает на то, что автор задачи просто добавляет трюки в задачу, делая её более сложной и несущественно увеличивающей сложность задачи.### 👁 Посмотри на себя!

  • CTF (Capture The Flag) на русском обычно переводится как "Захват флага". В области кибербезопасности это форма соревнований между специалистами по кибербезопасности. CTF зародился в 1996 году на глобальной конференции DEFCON, заменив собой предыдущий метод соревнований, основанный на реальных атаках.

  • CTF может быть как индивидуальным, так и командным, в основном используется командный формат, обычно разделенный на пять направлений: MISC (разное), CRYPTO (криптография), WEB (веб), REVERSE (реверс-инжиниринг) и PWN (управление процессами).

  • CTF имеет несколько форматов соревнований, наиболее распространенными являются онлайн-соревнования по решению задач, офлайн-соревнования AWD (Attack-Defend-Work) и офлайн-соревнования AWD Plus.### 👀 Странно, посмотрите еще раз

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

  • Оффлайн-формат AWD: обычно используется для офлайн-соревнований, таких как финалы CTF. Участники могут свободно объединяться в команды. Этот формат отличается более коротким временем и акцентом на реакцию команды и скорость решения задач. Требуется быстрое получение доступа к целевому хосту и проверка многогранной безопасности команды.
  • Оффлайн-формат AWD Plus (AWDP): статический формат соревнований, также известный как формат "решение задач + укрепление". Команды не могут напрямую атаковать другие команды, но могут атаковать gamebox других команд в каждом раунде. Они могут укреплять свои gamebox через SSH.Не понимаете? Не волнуйтесь, достаточно знать о существовании этих форматов. В CTF наиболее часто встречается онлайн-формат решения задач.

Обычные шаги включают просмотр задач, начало решения задач, решение задач и получение флага, подачу флага.

❓Не понимаете? Знайте, что они существуют, и разберетесь, когда столкнетесь с ними!

Давайте рассмотрим краткое описание пяти основных направлений:

  • MISC: безопасность в различных областях, включая классическую криптографию, кодирование, скрытые сообщения, электронное правоохранительство, анализ данных и другие широкие области безопасности. Участники должны определить метод или технику и использовать её для расшифровки или извлечения данных, чтобы получить флаг. MISC — это самое широкое направление в CTF, требующее знаний во всех областях.

    — Ага, не знаете, куда положить задачу? Ничего, положите её в MISC!

  • CRYPTO: криптография, включающая классическую и современную криптографию. В CTF большинство классических задач криптографии относятся к MISC. Современная криптография включает изучение блочного шифрования, потокового шифрования и публичных ключей. Участники обычно получают зашифрованный текст и должны восстановить флаг, используя слабости криптографической системы. — Слышали, что Oi-господин снова выиграл!

  • WEB: типичные уязвимости включают SQL-инъекции, XSS, включение файлов, выполнение кода, загрузку файлов, SSRF и другие. Участники используют эти уязвимости для получения доступа к серверу или получения ключевых файлов для получения флага. ——汪 汪 汪

  • REVERSE: обратная инженерия, которая включает в себя анализ Windows и Linux программного обеспечения, изучение поведения и алгоритмов уже скомпилированных исполняемых файлов, а затем вычисление флага, который автор скрывает.

    ——逆 代

  • PWN: двоичные атаки, которые включают в себя переполнение стека, переполнение кучи, уязвимости форматированного ввода и другие типичные двоичные уязвимости. Участники используют эти уязвимости для получения доступа к компьютеру и получения флага.

    ——PWN! (звук)

  • С развитием компьютерных технологий появляются новые направления, такие как Blockchain (блокчейн), AI (AI-безопасность), IoT (IoT). Эти темы мы обновим в продвинутых документах.

😆 Ну, ты уже знаешь, что 1+1=2, теперь докажем гипотезу Гольдбаха.

Как открыть дверь CTF

Надо просто положить руку на дверь, не так ли?x?

🔧 Требования к навыкам

CTF-сайт | CTF (mzy0.com)

Необходимы навыки поиска информации и самообразования.

Проще говоря, нужно уметь пользоваться поисковыми системами, знать, как искать информацию, как проверять её корректность, как находить полезную информацию среди мусора. Затем нужно быстро учиться и применять знания.

Хорошо, если вы сможете понимать решения других участников (обычно их называют WriteUp, или WP).

💣 Теперь давайте взломаем дверь!

Откуда начать взлом?

  • Начать взлом с Web-направления!

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

  • Начать взлом с направления MISC! MISC имеет极大的趣味性

    MISC的入门难度包含维度很广但都很简单,非常适合用来快速熟悉CTF的比赛模式和规则

  • 注意入门方向是为了熟悉CTF比赛模式和规则,并不一定决定你最终方向,在你熟悉了CTF大致的形式和规则之后,你便可以自由探索自己喜欢的方向了

引爆它!就是现在,姨妈大!!!!

国内目前几大主流平台:(排名不分先后)

NSSCTF https://www.nssctf.cn/index (多功能Xenny 适合一人单刷 也适合团队训练 更详细的可以参考 NSSCTF平台食用指南)BUUCTF https://buuoj.cn/

CTFshow https://ctf.show/ (MISC和Web在入门难度中表现最佳)

攻防世界 https://adworld.xctf.org.cn/home/index

青年CTF https://www.qsnctf.com/

CTFhub https://www.ctfhub.com/#/index (技能树确实不错,但更新较慢)

Bugku https://ctf.bugku.com/ (AWD实现得最好)

当然,如果你对PWN感兴趣,你可以直接访问pwn.college / PWNABLE

目前的一个特点是:每个平台都有详细的入门指南,你可以通过搜索轻松找到。如果你能够阅读文档,遵循指示,并不断学习,那么CTF对你来说将不会是难事。

如果你已经读到这里,并且对CTF有了大致的了解,那么你可以尝试一下!

"不要等待解题指南(WP)的出现。如果它不存在,那么我将自己成为WP。"— 鲁迅---

👈🏻 Руководство по решению задач? — Эй! Почему бы не называть это "руководством"?

Для более подробной информации обратитесь к руководству по использованию платформы NSSCTF

Untitled

Основные формы CTF-задач:

  • Приложение — обычно это архив, который может содержать задачу или исходный код, связанный с задачей.

  • Контейнер (часто встречается в Web Pwn, но также может встречаться в Misc Crypto и других категориях).

    • Веб-таргет — обычно это ip:port / domain:port.

      Untitled 1

      Пример: 1.11.45.14:1919 / node3.anna.nssctf.cn:28622

      Такие таргеты можно открыть в браузере:

      Untitled 2

    • nc-таргет — форма похожа на веб-таргет: ip:port / domain:port.

      Также возможно отсутствие :: ip port / domain port.

      Некоторые таргеты могут быть указаны явно с использованием nc: nc ip port / nc domain port.

      Untitled 3

Такие таргеты не могут быть открыты напрямую в браузере, необходимо использовать nc-инструмент для подключения, обычно это происходит в Linux-системе или с использованием определённых инструментов для взаимодействия, таких как pwntool.

  • Конечно, также возможно, что и приложение, и таргет будут присутствовать. Например, при web-задачах, связанных с аудитом исходного кода, также могут быть nc-таргеты для взаимодействия с nc-сервером. Различные подобные ситуации.

    Untitled 4

👉🏻 Ну что ж, мастер, можешь указать мне путь?С другими соревнованиями CTF не имеет прямой и однозначной тропы, более того, требуются исследования и поиск подходящего пути для себя.

Однако, некоторые базовые задачи достаточно определены, и их можно попробовать решить.

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

✨MISC

Основные задачи в MISC включают:

  • Osint
  • Кодирование / Классическое шифрование
  • Стеганография
    • Стеганография в изображениях
    • Стеганография в аудио
    • Стеганография в видео
    • ...
  • Исследование
    • Анализ трафика
    • Исследование жесткого диска
    • Исследование памяти
    • Исследование логов

Необходимые инструменты и хитрости для начала

Обратите внимание, что инструменты могут значительно облегчить задачи, но не стоит полностью на них полагаться.

Основные инструменты:

Шестнадцатеричные редакторы:

  • 010 Editor (рекомендуется)
  • WinHex

Инструменты для анализа трафика:

  • Wireshark

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

На самом деле, до появления большинства инструментов, MISC проверял знания по написанию скриптов, поэтому MISC не имел "инструментных" задач, пока не появилось много "мастеров" по созданию инструментов. Поэтому здесь следует предупредить всех: после начала обучения, если вы хотите стать специалистом по MISC, не забывайте о принципах решения задач, не полагайтесь на инструменты и не прекращайте обучение.

Вы также можете попробовать:

CTFshow Часть MISC соревнования "Песочница" с решениями Песочница WriteUP

Затем попробуйте начальный уровень MISC

Также можно попробовать MISC BUUCTF на первой странице

Конечно, вы можете использовать другие платформы, но помните, что ваша цель — изучить материал, а не количество решенных задач.

✨Веб

Веб-вход требует только понимания веб-страниц. В первую очередь это тройка HTML + CSS + JavaScript. Конечно, основное внимание уделяется JavaScript.

Затем идет PHP —— лучший язык в мире, основы языка, особенности языка и т.д.

Далее идут фреймворки, связанные с PHP.Затем идут веб-фреймворки, связанные с Python и Java, такие как Flask и Spring.

Конечно, при входе вы столкнетесь с базовыми задачами, такими как простое внедрение шаблонов в Python Flask.

Вот основные языки и фреймворки, которые вам потребуются. Точки сдачи обычно связаны с различными типами уязвимостей:

  • Утечка информации
  • Внедрение
  • Сериализация и десериализация
  • Включение файлов
  • Загрузка файлов
  • Выполнение команд
  • XSS (Cross Site Scripting)
  • SSRF (Server Side Request Forgery)
  • Исходящие уязвимости

Если вы хотите узнать больше или ознакомиться с передовыми методами, вы можете обратиться к OWASP (Open Web Application Security Project).

Необходимые инструменты и хитрости

BurpSuite — инструмент для перехвата веб-трафика

Anti-Key — инструмент для управления веб-ключами

HackBar — расширение для браузера для создания запросов на страницах

Wappalyzer — расширение для браузера для сбора информации о языках и фреймворках

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

Конечно, существует множество интегрированных наборов инструментов, таких как:

ONE-OFX инструменты


Сlightly более продвинутый уровень требует базовых знаний Linux — поскольку основные серверные системы являются частью семейства Linux, большинство веб-сервисов также работают на Linux.Также контейнеры, используемые в CTF, основаны на Linux.

Некоторые задачи / уязвимости, связанные с RCE (Remote Code Execution), зависят от команд Linux.

Также вам может потребоваться базовое использование Docker для создания локальной среды для воспроизведения уязвимостей или локальной отладки.

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

Попытка выполнения задач:

CTFshow Веб-часть соревнования "Цао-Ключ" (необязательно, не стоит усердствовать) с использованием WP WriteUP Цао-Ключ

CTFshow Введение в веб-разработку

NSSCTF Веб-задачи, рекомендуется использовать WP и теги для решения задач

BUUCTF / QsnCTF Классические веб-таргеты —— Upload-Labs sqli-labs PikaChu Web-DVWA XSS-Lab...

Untitled 5Untitled 6

✨Crypto

Как уже упоминалось, криптография в основном делится на две большие категории: классическая криптография и современная криптография.В настоящее время на соревнованиях классическая криптография часто проверяется в разделе MISC. Если речь идет о классической криптографии в направлении криптографии, то это, скорее всего, модификация, основанная на классической криптографии, с использованием принципов перестановки и замены для создания новых шифров.Однако большинство проверок криптографии относятся к современной криптографии.

Примеры классической криптографии:

Untitled 7

А что же современная криптография?

Необходимые инструменты и хитрости для начинающих

Python 3 среда

При решении задач вы встретите соответствующие модули, для которых можно найти руководства в интернете.

Для начала рекомендуется изучить RSA, асимметричное шифрование.

Здесь я рекомендую курс по криптографии от Xenny X, преподавателя на платформе NSS, так как я сам начал изучать криптографию с его документами и задачами. Я считаю, что этот курс будет полезен для новичков.

Crypto серия — RSA (1) | NSSCTF

Untitled 8

Untitled 9

Untitled 10

В настоящее время цена составляет 1980 золотых монет, и при двойном первом пополнении можно приобрести курс за 9,8 юаней.

Конечно, люди любят бесплатное использование, но бесплатное использование всегда имеет свои недостатки. Для начала изучения современной криптографии вполне достаточно использовать поисковые системы. Для ценной информации оплата является признаком уважения.※ Попробуйте решить задачи:

  • NSS криптографические задачи
  • BUU криптографические задачи

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

✨Reverse

В настоящее время задачи по reverse engineering в CTF обычно включают ввод строки пользователем, проверку этой строки программой и последующий процесс проверки или алгоритм. Обычно строка, прошедшая проверку, является флагом.### Введение в процесс проверки

Возможные варианты проверки могут включать существующие алгоритмы шифрования и дешифрования или собственные разработки автора задания.

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

Вот то, что вам нужно знать:- Выполняемые файлы

  • Основы C/C++

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

    • Регистры, память, адресация
    • Ассемблер x86/x64
    • Дисассемблирование и алгоритмы дисассемблирования
    • Соглашения вызова
    • Переменные, различия в обработке локальных переменных### Инструменты и хитрости для начинающих
  • IDA Pro (постарайтесь использовать более новую версию, а не ищите китайскую версию)

  • OllyDbg, x64dbg

  • GNU Binary Utilities

  • GDB отладчик

Примеры заданий

  • NSSCTF в HNCTF2022 — перейдите в базу заданий и выберите задания с меткой "Re". Вы можете использовать WriteUp для помощи.

    Untitled 11

  • Затем попробуйте другие задания по reverse engineering на NSS

  • Также можно попробовать задания по reverse engineering на BUUCTF

Ссылки

Уай И Пейн — LCG - LSG|Андроид-разработка|Анализ вирусов|www.52pojie.cn

✨PWN

PWN проверяет такие стандартные уязвимости в двоичных файлах, как переполнение стека, переполнение кучи, уязвимости форматированных строк и т.д. Участники должны использовать эти уязвимости для получения доступа к компьютеру и получения флагов.

Ранее мы уже рассматривали PWN-таргеты, которые обычно представляют собой интерактивные программы, написанные на C/C++. Мы обычно используем nc для подключения или используем инструмент pwntool для создания удаленного подключения.

Что вы можете встретить?

  • Переполнение стека Ret2xxx и различные ROP
  • Форматированные строки
  • Уязвимости кучи
  • Хищение и использование файлов IO
  • Переполнение целых чисел, переполнение типов
  • ...Если вы не понимаете, не волнуйтесь, это только краткое введение. Когда вы начнете, вы поймете больше.

Важно отметить, что PWN — это направление, требующее огромного терпения. Время, необходимое для освоения, может быть довольно долгим, и, честно говоря, ему действительно требуется определенный уровень таланта.

Ваши первоначальные трудности могут быть похожи на те, которые вы встретите при изучении reverse engineering, но ваша сложность будет значительно выше.

  • Ассемблер
  • C/C++
  • Теория компиляции
  • Linux
  • Python

Необходимые инструменты и хитрости

  • IDA Pro (важно: здесь следует выбирать более новые версии, а также избегать китайских локализаций)
  • OllyDbg x64dbg
  • Отладка GDB
  • Pwntools
  • Рекомендуется: Pwncli от Roder https://github.com/RoderickChan/pwncli
  • Инструменты анализа бинарных файлов: radare2, objdump и т. д.

Вот несколько рекомендаций по учебным ресурсам:

Попытки решить задачи:- pwn.college

📡 Устранение информационного разрыва

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

捉鱼铃 переведено как "ловец рыбы":

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Probius-CTF-QuickStart.git
git@api.gitlife.ru:oschina-mirror/Probius-CTF-QuickStart.git
oschina-mirror
Probius-CTF-QuickStart
Probius-CTF-QuickStart
main