
Cyber range moderno com 50 desafios práticos em trilhas de segurança web, API, nuvem, IA e blue team. Inclui cadeias de ataque guiadas, simulador de IA transparente e relatórios de evidências GRC para aprender testes de penetração e técnicas defensivas.
Uma aplicação vulnerável moderna e um campo de treino cibernético para aprender segurança web, API, cloud, IA e blue team por meio de cadeias de ataque práticas.
╔═══════════════════════════════════════════════════════════════╗
║ ██████╗ ███████╗███╗ ██╗████████╗███████╗███████╗████████╗ ║
║ ██╔══██╗██╔════╝████╗ ██║╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝ ║
║ ██████╔╝█████╗ ██╔██╗ ██║ ██║ █████╗ ███████╗ ██║ ║
║ ██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ╚════██║ ██║ ║
║ ██║ ███████╗██║ ╚████║ ██║ ███████╗███████║ ██║ ║
║ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝ ╚═╝ ║
║ MODERN CYBER RANGE · 50 CHALLENGES · 8 TRACKS ║
╚═══════════════════════════════════════════════════════════════╝
★ Dê uma estrela neste repositório se ele ajudar você - é grátis e ajuda outras pessoas a descobrir educação gratuita em segurança.
O PENTEST-LAB não é apenas mais uma máquina com uma única vulnerabilidade. É um campo de treino cibernético completo que combina as perspectivas de atacante e defensor com saída de evidências no estilo GRC:
[SYSTEM][USER][RETRIEVED][HISTORY], a saída gerada, a técnica de injeção detectada e os interruptores para cada mitigação.127.0.0.1, emite um aviso bem visível em 0.0.0.0, todos os segredos são falsos e claramente marcados, alvos SSRF usam um mock local em processo (sem egresso real) e não há alvos externos.make verify-registry valida o registro de desafios (ids/flags únicos, campos obrigatórios, recursos, quantidade de dicas) para o catálogo permanecer consistente.# 1. One-liner (installs deps, seeds the DB, starts the server)
python start_lab.py
# or: make start
Abra http://localhost:3000 no seu navegador.
# Backend only
cd backend && npm install && npm start
# Docker (published to 127.0.0.1 only)
docker compose up --build
# Reset captured flags / events / chain progress
make reset
# Refresh demo seed data
make seed
# Smoke test core routes (start the lab first)
make test
# Validate the challenge registry (unique ids/flags, fields, resources)
make verify-registry
# Safe local-only exploit demo (5 challenges)
python demo_exploit.py
Cada desafio possui: id, título, trilha, categoria, dificuldade, objetivo, endpoint vulnerável, conceito de exploração, 3 dicas progressivas (vaga → específica → resposta), flag, remediação, notas de detecção/evidência, um domínio de controle mapeado e uma lista de recursos para aprender antes de resolver.
Clique em qualquer cartão de desafio para abrir o modal. Ele oferece:
Uma cadeia realista e totalmente local em seis etapas detectadas:
Recon → Information Disclosure → Credential/Token Abuse →
Privilege Escalation → Sensitive Data Access → Evidence Report
B=http://127.0.0.1:3000
curl -s $B/api/attack-chain/recon # 1. debug endpoint discloses routes
curl -s $B/api/attack-chain/leak # 2. leaked fake JWT secret (weak123)
# 3. forge admin token -> 4. escalate -> 5. read fake customer records -> 6. report
curl -s $B/api/attack-chain/progress
Acompanhe o progresso ao vivo na aba Cadeia de Ataque.
A aba Defender mostra a mesma atividade que o atacante acabou de realizar: eventos recentes, logins falhos, acessos suspeitos à API, uploads de arquivos, tentativas de SSRF, tentativas de escalonamento de privilégios, flags capturadas e progresso da cadeia de ataque - cada evento colorido por gravidade, com capturas de flags marcadas com 🚩.
curl -s http://localhost:3000/api/blue-team/dashboard
Gere um relatório a partir das suas flags capturadas, mapeando cada uma para um achado com gravidade, endpoint afetado, evidência, impacto nos negócios, remediação, domínio de controle e uma oportunidade de detecção.
# Markdown (default)
curl -s -X POST http://localhost:3000/api/evidence/report \
-H 'Content-Type: application/json' -d '{"format":"markdown"}'
# JSON or CSV
curl -s -X POST http://localhost:3000/api/evidence/report -d '{"format":"csv"}'
# Control domains mapped: Access Control, Logging & Monitoring,
# Secure Development, Secrets Management, Change Management,
# Configuration Management, Data Protection, Incident Response.
⚠️ Este é um mapeamento amplo de domínios de controle para aprendizado de detecção/GRC. Ele não afirma conformidade com nenhum padrão.
| Painel de trilhas | Cadeia de ataque |
| Visão do Defender | Relatório de evidências |
🎬 GIF de demonstração: docs/demo.gif - veja docs/DEMO_WALKTHROUGH.md para um script de apresentador de ~6 minutos. (Coloque suas próprias capturas em docs/screenshots/ e docs/demo.gif para substituir os espaços reservados.)
Este laboratório é intencionalmente vulnerável. Execute-o apenas em ambientes isolados e nunca o exponha à internet.
127.0.0.1 por padrão (HOST=127.0.0.1 em backend/.env).HOST=0.0.0.0 exibe um aviso bem visível; a interface mostra um banner de perigo.├── start_lab.py # one-command launcher (deps + seed + run)
├── demo_exploit.py # safe local-only exploit demo (5 challenges)
├── docker-compose.yml # localhost-only publish
├── Makefile # install / start / reset / test / demo / docker
├── CHALLENGES.md # full challenge catalog
├── frontend/ # dashboard UI (tracks, chain, defender, evidence)
├── backend/
│ ├── server.js # Express app, localhost bind, route wiring
│ ├── challenges/registry.js # CENTRAL challenge registry (50 challenges)
│ ├── ai/ # TRANSPARENT AI simulator + RAG store (no external LLM)
│ ├── utils/events.js # CENTRAL event store + Blue Team feed
│ ├── routes/ # vulnerable + mode routes (api, cloud, ai, shop, ...)
│ ├── scripts/ # init-db, seed, reset, test_routes
│ └── middleware/ # auth (safe), auth.vulnerable, waf, security
├── solutions/ # Python exploit writeups
└── docs/ # SECURITY_REPORT, SETUP, DEMO_WALKTHROUGH
Encontrou um bug ou quer adicionar um desafio? PRs são bem-vindos.
backend/challenges/registry.js (fonte única da verdade).events.captureFlag({ flag, req }) a partir de uma rota vulnerável.make test e make verify-registry antes de enviar.Uso educacional apenas. Consulte LICENSE, se presente. Use apenas contra sistemas que você possui ou está explicitamente autorizado a testar - aqui, isso significa este laboratório local.
Se este laboratório ajudou você a aprender algo novo:
| Trilha | O que você aprende | # |
|---|
| ◆ Pentest de Aplicações Web | SQLi, IDOR, upload de arquivos, path traversal, bypass de WAF | 14 |
| ◆ Segurança de API | BOLA, mass assignment, bypass de rate limit, webhooks, GraphQL, reflexão de CORS, injeção NoSQL | 7 |
| ◆ Autenticação e Sessão | confusão de kid/alg em JWT, reutilização de refresh token, tokens de redefinição, fixação de sessão, MFA, envenenamento de reset pelo header Host | 9 |
| ◆ Cloud / DevOps | vazamento de .env, metadados via SSRF, docker debug, armazenamento público, tokens de CI/CD | 5 |
| ◆ Segurança de IA | injeção de prompt, injeção indireta, vazamento/envenenamento de RAG, chamadas de ferramentas, jailbreak multi-turno, bypass de filtro de saída | 7 |
| ◆ Lógica de Negócio | empilhamento de cupons, quantidade negativa, condições de corrida, bypass de pagamento | 5 |
| ◆ Cadeia de Ataque | caminho guiado de ponta a ponta + RCE legado de cadeia completa, com evidências | 2 |
| ◆ Evidências de Blue Team | Detectar ataques e gerar um relatório GRC | 1 |
| 50 |