
CTF guidé par IA - Infiltrez un vrai serveur avec Claude Code comme instructeur
Un CTF où vous utilisez l'IA pour capturer le drapeau.
Pas d'expérience en pentesting ? Pas de problème. Claude Code agit comme votre entraîneur personnel — il met en place l'environnement, vous enseigne les outils, et vous guide à travers des techniques d'attaque réelles étape par étape. Vous tapez chaque commande vous-même.
SNet est une machine virtuelle vulnérable construite à partir d'un véritable serveur qui était en production. Ce n'est pas un exercice de manuel — vous trouverez le genre de désordre que de vrais administrateurs système laissent derrière eux : fichiers de configuration, scripts oubliés, identifiants oubliés, et mauvaises décisions empilées les unes sur les autres.
Il y a 10 routes d'attaque à découvrir. À chaque partie, vous empruntez un chemin différent et obtenez moins d'indices. Une fois que vous les aurez toutes trouvées, vous penserez à la fois comme un attaquant et un défenseur.
Si vous savez ouvrir un terminal, vous pouvez jouer à SNet.
git clone https://github.com/hrmtz/SNet.git
cd SNet
vagrant up
Toutes les VM (entraîneur IA, Kali, cible), le réseau et le transfert de ports — une seule commande.
Utilisateurs WSL2 : Installez la version Linux de Vagrant dans WSL, pas la version Windows. Assurez-vous que ces variables d'environnement sont définies (ajoutez-les à votre
~/.bashrcou~/.zshrc) :export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" export PATH="$PATH:/mnt/c/Program Files/Oracle/VirtualBox"
Remarque : La VM cible affichera un délai d'authentification SSH pendant
vagrant up— c'est normal. La cible est une machine CTF et n'autorise pas l'accès SSH par Vagrant. Tant quevagrant statusl'affiche commerunning, tout va bien.
| VM | Commande | Notes |
|---|
Lors de la première connexion, Claude Code démarre automatiquement et vous demande de choisir une méthode d'authentification :
Dites 'Please set up SNet' — l'entraîneur s'occupe du reste.
Recon → Exploit → Capture the flag
↑ ↓
← Fix it as a sysadmin ←
(repeat × 10)
Ce dépôt prend en charge plusieurs scénarios CTF. Par défaut, vagrant up démarre SNet1 (débutant).
| Scénario | Commande | Description |
|---|---|---|
| SNet1 | vagrant up | Entrer dans une maison non verrouillée (Débutant) |
| SNet2 | SNET=2 vagrant up | Rester caché des gardes (Intermédiaire) |
SNet2 ajoute un serveur de surveillance Zabbix — vous devez opérer sous une surveillance active. Voir le README SNet2 pour plus de détails.
Pour démarrer un scénario spécifique alors que les VM sont déjà en cours d'exécution :
SNET=2 vagrant up snet2-target snet2-zabbix # add SNet2 VMs
SNET=2 vagrant provision claude # configure trainer for SNet2
La VM Kali est livrée avec rlwrap et tmux préinstallés pour rendre les reverse shells plus confortables.
Flux de travail recommandé :
# 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
Pourquoi ? Les reverse shells bruts n'ont pas de touches fléchées, d'autocomplétion ni de défilement arrière. rlwrap ajoute la prise en charge de readline (historique, édition), et tmux ajoute le défilement arrière et la gestion des fenêtres.
Les nouveaux scénarios sont récupérés automatiquement lors du provisionnement. Pour obtenir les derniers :
vagrant provision claude
Cela récupère les dernières versions de tous les scénarios disponibles sans retélécharger l'intégralité de la VM.
Ce projet est fourni à des fins éducatives uniquement. Utilisez-le de manière responsable.
| Entraîneur IA | vagrant ssh claude ou ssh -p 2222 snet@localhost |
| Kali | vagrant ssh kali |
| Cible | Pas de SSH depuis l'hôte — attaquez-la depuis Kali (10.0.10.20) |