
CTF guidato dall'IA - Entra in un server reale con Claude Code come tuo istruttore
日本語版はこちら / Versione giapponese
Un CTF dove usi l'AI per catturare la bandiera.
Nessuna esperienza di pentesting? Nessun problema. Claude Code funge da tuo personal trainer — configura l'ambiente, ti insegna gli strumenti e ti guida attraverso tecniche di attacco reali passo dopo passo. Scrivi tu stesso ogni comando.
SNet è una macchina virtuale vulnerabile costruita da un server reale che era effettivamente in produzione. Non è un esercizio da libro di testo — troverai il tipo di caos che i sysadmin reali lasciano dietro di sé: file di configurazione, script dimenticati, credenziali dimenticate e cattive decisioni stratificate le une sulle altre.
Ci sono 10 rotte di attacco da scoprire. Ogni partita, prendi un percorso diverso e ricevi meno suggerimenti. Quando le avrai trovate tutte, penserai sia come un attaccante che come un difensore.
Se sai aprire un terminale, puoi giocare a SNet.
git clone https://github.com/hrmtz/SNet.git
cd SNet
vagrant up
All VMs (AI trainer, Kali, target), networking, and port forwarding — one command.
Utenti WSL2: Installa la versione Linux di Vagrant all'interno di WSL, non quella Windows. Assicurati che queste variabili d'ambiente siano impostate (aggiungile al tuo
~/.bashrco~/.zshrc):export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" export PATH="$PATH:/mnt/c/Program Files/Oracle/VirtualBox"
Nota: La VM target mostrerà un timeout di autenticazione SSH durante
vagrant up— è normale. Il target è una macchina CTF e non consente l'accesso SSH tramite Vagrant. Finchévagrant statusla mostra comerunning, va bene.
| VM | Command | Notes |
|---|
Al primo login, Claude Code si avvia automaticamente e ti chiede di scegliere un metodo di autenticazione:
Di' "Please set up SNet" — l'addestratore si occupa del resto.
Recon → Exploit → Capture the flag
↑ ↓
← Fix it as a sysadmin ←
(repeat × 10)
Questo repository supporta molteplici scenari CTF. Di default, vagrant up avvia SNet1 (principiante).
| Scenario | Command | Description |
|---|---|---|
| SNet1 | vagrant up | Introdursi in una casa non chiusa a chiave (Principiante) |
| SNet2 | SNET=2 vagrant up | Rimanere nascosto dalle guardie (Intermedio) |
SNet2 aggiunge un server di monitoraggio Zabbix — devi operare sotto sorveglianza attiva. Vedi README di SNet2 per dettagli.
To start a specific scenario when VMs are already running:
SNET=2 vagrant up snet2-target snet2-zabbix # add SNet2 VMs
SNET=2 vagrant provision claude # configure trainer for SNet2
La VM Kali viene fornita con rlwrap e tmux preinstallati per rendere le reverse shell più comode.
Flusso di lavoro consigliato:
# 1. Start a tmux session
tmux new-session -s attack
# 2. Use rlwrap with nc for line editing and history
rlwrap nc -lvnp 4444
# 3. Scroll up/down in tmux: Ctrl+B, then [
# Exit scroll mode: q
Perché? Le reverse shell grezze mancano di frecce, completamento con tab e scorrimento. rlwrap aggiunge il supporto readline (cronologia, modifica), e tmux aggiunge scorrimento e gestione delle finestre.
I nuovi scenari vengono scaricati automaticamente durante il provisioning. Per ottenere gli ultimi:
vagrant provision claude
Questo recupera le versioni più recenti di tutti gli scenari disponibili senza dover riscaricare l'intera VM.
Questo progetto è fornito solo a scopo educativo. Usalo responsabilmente.
| AI Trainer | vagrant ssh claude or ssh -p 2222 snet@localhost |
| Kali | vagrant ssh kali |
| Target | Nessun SSH dall'host — attaccalo da Kali (10.0.10.20) |