
CTF guiado por IA - Invada um servidor real com Claude Code como seu treinador
Um CTF onde você usa IA para capturar a bandeira.
Sem experiência em pentesting? Sem problema. O Claude Code atua como seu treinador pessoal — ele configura o ambiente, ensina as ferramentas e guia você por técnicas reais de ataque passo a passo. Você digita cada comando por conta própria.
SNet é uma máquina virtual vulnerável construída a partir de um servidor real que estava realmente em produção. Isso não é um exercício de livro-texto — você encontrará o tipo de bagunça que administradores de sistemas reais deixam para trás: arquivos de configuração, scripts esquecidos, credenciais esquecidas e más decisões empilhadas umas sobre as outras.
Existem 10 rotas de ataque para descobrir. Em cada jogada, você segue um caminho diferente e recebe menos dicas. Quando você as encontrar todas, pensará como um atacante e um defensor.
Se você sabe abrir um terminal, pode jogar SNet.
git clone https://github.com/hrmtz/SNet.git
cd SNet
vagrant up
Todas as VMs (treinador IA, Kali, alvo), rede e encaminhamento de portas — um comando.
Usuários do WSL2: Instale a versão Linux do Vagrant dentro do WSL, não a versão Windows. Certifique-se de que essas variáveis de ambiente estejam definidas (adicione-as ao seu
~/.bashrcou~/.zshrc):export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" export PATH="$PATH:/mnt/c/Program Files/Oracle/VirtualBox"
Nota: A VM alvo mostrará um tempo limite de autenticação SSH durante o
vagrant up— isso é esperado. O alvo é uma máquina CTF e não permite acesso SSH do Vagrant. Enquantovagrant statusmostrar comorunning, está tudo bem.
| VM | Comando | Notas |
|---|---|---|
No primeiro login, o Claude Code inicia automaticamente e pede que você escolha um método de autenticação:
Diga "Please set up SNet" — o treinador cuida do resto.
Recon → Exploit → Capture the flag
↑ ↓
← Fix it as a sysadmin ←
(repeat × 10)
Este repositório oferece suporte a vários cenários de CTF. Por padrão, vagrant up inicia SNet1 (iniciante).
| Cenário | Comando | Descrição |
|---|---|---|
| SNet1 | vagrant up | Invadindo uma casa destrancada (Iniciante) |
| SNet2 | SNET=2 vagrant up | Permanecendo escondido dos guardas (Intermediário) |
SNet2 adiciona um servidor de monitoramento Zabbix — você deve operar sob vigilância ativa. Veja o SNet2 README para detalhes.
Para iniciar um cenário específico quando as VMs já estiverem em execução:
SNET=2 vagrant up snet2-target snet2-zabbix # add SNet2 VMs
SNET=2 vagrant provision claude # configure trainer for SNet2
A VM Kali vem com rlwrap e tmux pré-instalados para tornar os reverse shells mais confortáveis.
Fluxo de trabalho recomendado:
# 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
Por quê? Os reverse shells brutos não têm teclas de seta, conclusão com Tab e rolagem para trás. rlwrap adiciona suporte readline (histórico, edição), e tmux adiciona rolagem para trás e gerenciamento de janelas.
Novos cenários são obtidos automaticamente durante o provisionamento. Para obter o mais recente:
vagrant provision claude
Isso baixa as versões mais recentes de todos os cenários disponíveis sem baixar novamente toda a VM.
Este projeto é fornecido apenas para fins educacionais. Use com responsabilidade.
| Treinador IA |
vagrant ssh claude ou ssh -p 2222 snet@localhost |
| Kali | vagrant ssh kali |
| Alvo | Sem SSH do host — ataque-a do Kali (10.0.10.20) |