CTF e Labs de Prática
Baixar PDFPlataformas de CTF, laboratórios de hacking, resolução de desafios, write-ups e como usar CTFs para acelerar aprendizado em segurança.
CTFs (Capture The Flag) e laboratórios são a melhor forma de aprender hacking na prática. Cada desafio simula uma vulnerabilidade real — e a resolução constrói muscle memory para bug bounty.
Plataformas de CTF
Para iniciantes
| Plataforma | Foco | Gratuito? | Dificuldade |
|---|---|---|---|
| PicoCTF | Geral | Sim | Fácil |
| OverTheWire (Bandit) | Linux/CLI | Sim | Fácil |
| PentesterLab | Web | Parcial | Fácil-médio |
| TryHackMe | Geral | Parcial | Fácil-médio |
| Root Me | Geral | Sim | Fácil-avançado |
| CTFlearn | Geral | Sim | Fácil-médio |
Para intermediários
| Plataforma | Foco | Gratuito? | Dificuldade |
|---|---|---|---|
| HackTheBox | Pentest, web | Parcial | Médio-avançado |
| PortSwigger Academy | Web security | Sim (labs) | Médio-avançado |
| VulnHub | VMs vulneráveis | Sim | Médio-avançado |
| Intigriti CTF | Web | Sim | Médio-avançado |
| HackTheBox CTF | Geral | Sim | Médio-avançado |
Para avançados
| Plataforma | Foco | Gratuito? | Dificuldade |
|---|---|---|---|
| pwn.college | Binary exploitation | Sim | Avançado |
| Nightmare | Binary exploitation | Sim | Avançado |
| CrackMes.one | Reverse engineering | Sim | Avançado |
| Pwnable.kr/tw | Binary exploitation | Sim | Avançado |
| Microcorruption | Embedded security | Sim | Avançado |
| DEFCON CTF | Geral | Não | Elite |
| Google CTF | Geral | Sim | Elite |
Laboratórios locais
Docker lab
# docker-compose.yml — lab de web security
version: '3'
services:
dvwa:
image: vulnerables/web-dvwa
ports:
- "8081:80"
juice-shop:
image: bkimminich/juice-shop
ports:
- "8082:3000"
webgoat:
image: webgoat/webgoat
ports:
- "8083:8080"
environment:
- WEBGOAT_HOST=0.0.0.0
sqli-labs:
image: acgpiano/sqli-labs
ports:
- "8084:80"
upload-labs:
image: c0ny1/upload-labs
ports:
- "8085:80"
mutillidae:
image: citizenstig/nowasp
ports:
- "8086:80"# Subir lab
docker compose up -d
# Acessar:
# DVWA: http://localhost:8081 (admin/password)
# Juice Shop: http://localhost:8082
# WebGoat: http://localhost:8083/WebGoat
# SQLi Labs: http://localhost:8084
# Upload Labs: http://localhost:8085
# Mutillidae: http://localhost:8086Active Directory lab
# GOAD (Game of Active Directory)
# https://github.com/Orange-Cyberdefense/GOAD
# 3 DCs + 2 servidores Windows
# 30+ vulnerabilidades intencionais
# Setup:
git clone https://github.com/Orange-Cyberdefense/GOAD.git
cd GOAD
vagrant up
# Cria rede virtual com AD vulnerável para practiceResolução de CTF — Metodologia
Web CTF
1. Recon
→ View source (HTML, JS, CSS)
→ Inspect Network (requests)
→ Fuzzing de endpoints
→ Verificar robots.txt, sitemap.xml
2. Análise
→ Identificar tecnologias
→ Procurar vulnerabilidades conhecidas
→ Testar inputs
3. Exploração
→ XSS, SQLi, SSRF, LFI, etc.
→ Manipulação de parâmetros
→ Bypass de filtros
4. Flag
→ Extrair flag do sistema
→ Formato: CTF{...} ou flag{...}Pwn CTF
1. Análise do binário
→ file, checksec, strings
→ Identificar proteções (ASLR, DEP, PIE, canary)
2. Análise estática
→ Ghidra/IDA → entender lógica
→ Identificar vulnerabilidade (buffer overflow, format string)
3. Análise dinâmica
→ gdb/pwndbg → executar com inputs
→ Encontrar offset do crash
4. Exploração
→ Determinar técnica (ret2libc, ROP, heap exploitation)
→ Escrever exploit em pwntools
5. Remote
→ Adaptar exploit para alvo remoto
→ Calcular offsets com leakReversing CTF
1. Identificar formato
→ file binary (ELF, PE, Mach-O)
→ Detectar linguagem (C, C++, Go, Rust)
2. Strings
→ strings binary | grep -i flag
→ strings binary | grep -i password
3. Decompilar
→ Ghidra → decompiler view
→ Identificar lógica principal
4. Debugar
→ gdb/pwndbg → acompanhar execução
→ Breakpoints em verificações
5. Patch (se necessário)
→ Alterar instruções (JZ → JNZ)
→ Bypass de verificaçõesWrite-ups de CTF
Estrutura de write-up
# [Nome do CTF/Challenge] — Write-up
## Descrição
Resumo do desafio e categoria.
## Recon
O que observei inicialmente.
## Vulnerabilidade
O que encontrei de errado.
## Exploração
Como explorei (passo a passo com código/comandos).
## Flag
CTF{...}
## Lições
O que aprendi.Onde encontrar write-ups
1. CTFtime.org — write-ups de competições
2. GitHub — repos de write-ups por ano/equipe
3. Medium/Dev.to — artigos individuais
4. YouTube — video walkthroughs
5. Blog pessoal de hackers conhecidosCTF Competições principais
| Competição | Frequência | Dificuldade |
|---|---|---|
| DEFCON CTF | Anual (agosto) | Elite |
| Google CTF | Anual (junho) | Avançado |
| PicoCTF | Anual (março) | Iniciante-intermediário |
| Hack-A-Sat | Anual | Hardware/satélite |
| Flare-On | Anual (setembro) | Reversing avançado |
| PlaidCTF | Anual | Avançado |
| SECCON | Anual | Médio-avançado |
| RITSEC CTF | Anual | Médio |
Como competir
1. Formar equipe (3-8 pessoas)
2. Cada pessoa com especialidade:
→ Web, pwn, reversing, crypto, misc
3. Inscrever no CTFtime.org
4. Participar de 1-2 CTFs por mês
5. Escrever write-ups de todas as flags
6. Rankear no CTFtime → atrair recrutadoresTrilha de estudo via CTF
Mês 1-2: Fundamentos
→ OverTheWire Bandit (Linux)
→ PicoCTF General Skills
→ TryHackMe Beginner Path
→ DVWA (Web vulnerabilities)Mês 3-4: Web e OSINT
→ PortSwigger Academy (Web Security)
→ Juice Shop (OWASP)
→ TryHackMe Web Fundamentals
→ Intigriti Monthly ChallengesMês 5-6: Especialização
→ Escolher: Pwn, Reverse, Crypto, ou Forense
→ Plataformas específicas:
- Pwn: pwn.college, Pwnable.kr
- Reverse: CrackMes.one, FLARE-On
- Crypto: CryptoHack
- Forense: DFIR.trainingMês 7+: Competição
→ Participar de CTFs semanais no CTFtime
→ Escrever write-ups
→ Contribuir para equipe
→ Construir portfolio no GitHubReferências
Exploit Development: Buffer Overflow, ROP e Shellcoding
Buffer overflow básico a avançado, shellcoding, ROP chains, ret2libc, ASLR/DEP bypass — desenvolvimento de exploits para pentest avançado.
Reporting: como reportar vulnerabilidades
Estrutura de reporte, CVSS scoring, disclosure responsável, triage de bugs e como escrever write-ups que maximizam payout e reputação.