
CTF с ИИ-наставником — Взломайте реальный сервер с Claude Code в роли тренера
CTF, в котором вы используете ИИ для захвата флага.
Нет опыта пентестинга? Не проблема. Claude Code выступает в роли вашего личного тренера — он настраивает среду, обучает вас инструментам и шаг за шагом проводит через реальные атакующие техники. Каждую команду вы вводите сами.
SNet — это уязвимая виртуальная машина, созданная на основе реального сервера, который был в эксплуатации. Это не учебное упражнение — вы найдете тот беспорядок, который оставляют после себя настоящие системные администраторы: конфигурационные файлы, оставшиеся скрипты, забытые учетные данные и плохие решения, наложенные друг на друга.
Есть 10 маршрутов атаки, которые нужно обнаружить. Каждое прохождение вы выбираете другой путь и получаете меньше подсказок. К тому моменту, как вы найдете их все, вы будете мыслить как атакующий и защитник одновременно.
Если вы умеете открывать терминал, вы можете играть в SNet.
git clone https://github.com/hrmtz/SNet.git
cd SNet
vagrant up
Все виртуальные машины (AI trainer, Kali, target), сеть и переадресация портов — одной командой.
Пользователи WSL2: Установите Linux-версию Vagrant внутри WSL, а не Windows-версию. Убедитесь, что заданы следующие переменные окружения (добавьте их в ваш
~/.bashrcили~/.zshrc):export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" export PATH="$PATH:/mnt/c/Program Files/Oracle/VirtualBox"
Примечание: Целевая ВМ покажет тайм-аут аутентификации SSH во время
vagrant up— это ожидаемо. Цель — это CTF-машина, которая не разрешает SSH-доступ через Vagrant. Покаvagrant statusпоказывает её какrunning, всё в порядке.
При первом входе Claude Code запускается автоматически и просит вас выбрать метод аутентификации:
Скажите «Please set up SNet» — тренер сделает остальное.
Recon → Exploit → Capture the flag
↑ ↓
← Исправь это как сисадмин ←
(repeat × 10)
Этот репозиторий поддерживает несколько CTF-сценариев. По умолчанию vagrant up запускает SNet1 (начальный).
| Scenario | Command | Description |
|---|---|---|
| SNet1 | vagrant up | Взлом незапертого дома (Начальный) |
| SNet2 | SNET=2 vagrant up | Оставаться незамеченным для охраны (Средний) |
SNet2 добавляет сервер мониторинга Zabbix — вы должны работать под активным наблюдением. Подробности в README SNet2.
Чтобы запустить определенный сценарий, когда ВМ уже запущены:
SNET=2 vagrant up snet2-target snet2-zabbix # добавить ВМ SNet2
SNET=2 vagrant provision claude # настроить тренер для SNet2
ВМ Kali поставляется с предустановленными rlwrap и tmux для более комфортной работы с реверс-шеллами.
Рекомендуемый рабочий процесс:
# 1. Запустите сессию tmux
tmux new-session -s attack
# 2. Используйте rlwrap с nc для редактирования строк и истории
rlwrap nc -lvnp 4444
# 3. Прокрутка вверх/вниз в tmux: Ctrl+B, затем [
# Выход из режима прокрутки: q
Почему? Обычные реверс-шеллы лишены клавиш со стрелками, автодополнения табуляцией и прокрутки назад. rlwrap добавляет поддержку readline (история, редактирование), а tmux добавляет прокрутку назад и управление окнами.
Новые сценарии загружаются автоматически во время подготовки. Чтобы получить последние:
vagrant provision claude
Это загружает последние версии всех доступных сценариев без повторной загрузки всей ВМ.
Этот проект предоставлен только для образовательных целей. Используйте ответственно.
| VM | Command | Notes |
|---|
| AI Trainer | vagrant ssh claude or ssh -p 2222 snet@localhost | |
| Kali | vagrant ssh kali | |
| Target | No SSH from host — attack it from Kali (10.0.10.20) | Нет SSH из хоста — атакуйте с Kali (10.0.10.20) |