Pular para o conteúdo
Atualizado em Categoria: Pentest & Hacking Ético15 min de leitura

O que é um CTF? Aprenda hacking jogando

Por Lucas Andrade ·

Entenda como competições Capture the Flag ensinam pentest na prática de forma legal e divertida — formatos, categorias, ferramentas, estratégia de time e o caminho do iniciante ao profissional.

O que é um CTF? Aprenda hacking jogando
Neste artigo

Aprender segurança ofensiva lendo livros é importante, mas há um limite no que a teoria ensina. Em algum momento você precisa colocar a mão na massa — e fazer isso em sistemas reais sem autorização é crime. É aí que entram os CTFs: competições onde hackear não só é permitido, mas é o objetivo do jogo. Neste artigo você vai entender o que é um CTF, seus formatos, as categorias clássicas de desafios, as ferramentas envolvidas, como montar uma rotina de estudo e como tudo isso se conecta ao trabalho real de pentest. A proposta é que, ao terminar a leitura, você saiba exatamente por onde dar o primeiro passo.

O que significa Capture the Flag#

CTF, ou Capture the Flag, é um formato de competição de segurança da informação em que os participantes resolvem desafios para encontrar pequenos trechos de texto chamados flags. Uma flag costuma ter um formato reconhecível, como flag{...}, CTF{...} ou picoCTF{...}, e serve de prova de que você resolveu o desafio. Você submete a flag em uma plataforma de pontuação e, se estiver correta, ganha os pontos associados àquele desafio.

O nome vem do clássico jogo de "capturar a bandeira" do mundo físico, mas a analogia digital é mais sutil. A flag é simultaneamente o objetivo e a evidência: o autor do desafio a escondeu em um lugar que só fica acessível depois que você explora a vulnerabilidade pretendida. Encontrar a flag por um caminho não previsto — o famoso unintended solution — também conta, e muitas vezes rende os melhores writeups.

O conceito é genial por um motivo: ele cria um ambiente legal e controlado para praticar hacking. Tudo que você ataca foi montado de propósito para ser atacado, então não há vítimas, não há danos colaterais e não há problemas jurídicos. Você aprende as mesmas técnicas de um pentest real, mas dentro das regras. Isso remove a maior barreira do aprendizado em segurança ofensiva: o medo (justificado) de cometer um crime ao testar o que se acabou de estudar.

Por que CTFs são tão eficazes para aprender#

Competições de CTF funcionam como um laboratório gamificado. Em vez de só ler sobre SQL Injection, você precisa realmente injetar a query certa para extrair a flag de um banco de dados. Essa exigência prática consolida o conhecimento de um jeito que a leitura passiva não consegue. A diferença entre reconhecer um conceito e aplicá-lo sob pressão é enorme — e é exatamente onde o aprendizado se fixa.

Os benefícios mais citados por quem joga:

  • Feedback imediato e binário. Ou a flag está certa, ou não está. Não há ambiguidade nem necessidade de um instrutor para corrigir. Esse loop curto entre tentativa e resultado é o que torna a prática viciante e produtiva.
  • Dificuldade progressiva. Desafios vão do trivial ao quase impossível, acompanhando seu crescimento. A pontuação reflete a dificuldade: você começa em algo de 50 pontos e, conforme ganha repertório, ataca os de 500.
  • Comunidade. Writeups (soluções publicadas) e times ensinam abordagens que você não imaginaria sozinho. Ler writeups é uma das formas mais densas de aprendizado que existem em segurança.
  • Custo zero de risco. Errar num CTF não derruba a produção de ninguém. Você pode brutar, travar e refazer sem consequências legais ou éticas.

Muitas das técnicas exploradas em competições vêm direto da literatura de segurança web, como o trabalho de referência de Stuttard e Pinto (2011), que sistematiza ataques a aplicações que você reencontra disfarçados em desafios.

Há um custo nessa abordagem que vale reconhecer: desafios de CTF tendem a ser artificiais e auto-contidos. Eles isolam uma vulnerabilidade para que ela seja o gargalo do desafio, enquanto sistemas reais são bagunçados, cheios de ruído e raramente entregam a falha de bandeja. Trataremos dessa diferença mais adiante.

Os principais formatos de CTF#

Nem todo CTF funciona igual. O formato muda completamente a dinâmica, a estratégia e até o tamanho ideal do time.

Jeopardy#

É o formato mais popular e o melhor para iniciantes. Há um quadro de desafios independentes, organizados por categoria e pontuação — visualmente parecido com o tabuleiro do programa de TV que dá nome ao estilo. Você escolhe o que resolver e ganha pontos por flag. Não há ataque entre equipes; você joga contra o problema, não contra adversários diretamente.

A vantagem para quem está começando é poder escolher o que atacar, no seu ritmo, sem o estresse de defender uma infraestrutura ao mesmo tempo. Competições como as da picoCTF e a maioria dos eventos listados no CTFtime usam esse formato.

Attack-Defense#

Aqui cada equipe recebe um servidor (ou um conjunto de serviços) idêntico e propositalmente vulnerável. O jogo tem duas faces simultâneas: você precisa corrigir as falhas da sua máquina para não ser explorado e, ao mesmo tempo, atacar as máquinas dos outros times explorando as mesmas falhas. Flags são plantadas periodicamente nos serviços de todos, e roubar a flag de um adversário rende pontos.

É um formato exigente, que recompensa automação. Times fortes escrevem scripts de exploração que rodam em loop contra todos os adversários e sistemas de detecção que capturam e replicam ataques recebidos. Exige equipe coordenada e infraestrutura própria — não é por onde se começa, mas é o mais próximo de um cenário de guerra cibernética.

King of the Hill (KoTH)#

As equipes disputam o controle de uma mesma máquina, e ganha pontos quem a mantém sob domínio por mais tempo. Você precisa explorar a falha, garantir persistência e, idealmente, expulsar quem chegou antes ou impedir que outros entrem. A pontuação acumula enquanto você mantém o domínio (geralmente provada por um arquivo que seu acesso reescreve periodicamente). É um híbrido divertido entre ataque e negação de acesso aos concorrentes.

Para quem está começando, o formato Jeopardy é o caminho natural: ele permite avançar no seu ritmo e focar nas categorias que mais lhe interessam.

As categorias clássicas de desafios#

Os desafios em estilo Jeopardy quase sempre se organizam em categorias que mapeiam, grosso modo, as grandes disciplinas da segurança ofensiva. Conhecê-las ajuda a escolher por onde começar:

  • Web. Exploração de aplicações: injeção (SQL, NoSQL, comando, template), XSS, SSRF, autenticação quebrada, lógica de negócio falha e deserialização. É a categoria com mais transferência direta para o trabalho profissional.
  • Pwn / Binary Exploitation. Abuso de programas compilados, como buffer overflows, format string e corrupção de memória, além de técnicas modernas como ROP (Return-Oriented Programming) para contornar proteções como NX e ASLR.
  • Reverse Engineering. Análise de binários para entender o que fazem e extrair a flag escondida, sem ter o código-fonte. Desmontar, descompilar e raciocinar sobre a lógica.
  • Cryptography. Quebra ou abuso de esquemas criptográficos mal implementados: cifras clássicas, reuso de nonce, padding oracle, RSA com parâmetros fracos.
  • Forensics. Análise de capturas de rede (PCAP), imagens de disco, memória, esteganografia e recuperação de arquivos apagados.
  • OSINT. Coleta de informações públicas, parente direto do reconhecimento (recon) de um pentest real — pistas em redes sociais, metadados e registros públicos.
  • Miscellaneous (Misc). O que não cabe nas outras: programação, shell restrito (jail escape), lógica e quebra-cabeças.

Não tente dominar todas de uma vez. A maioria dos jogadores experientes tem uma ou duas categorias favoritas e contribui para o time nelas. Escolha uma, fique confortável e só então diversifique.

Ferramentas que você vai usar#

A boa notícia é que as ferramentas de CTF são as mesmas do pentest profissional. Nos desafios web, por exemplo, o Burp Suite é praticamente indispensável para interceptar e manipular requisições — uma habilidade que você leva direto para o mundo real.

Um kit inicial costuma incluir:

  • Burp Suite para desafios web, mais o devtools do navegador e clientes HTTP como curl.
  • Ghidra ou radare2 para engenharia reversa (o Ghidra é o descompilador gratuito da NSA).
  • pwntools (biblioteca Python) para exploração de binários — indispensável para automatizar a interação com o alvo.
  • Wireshark para forense de rede, mais binwalk e foremost para extrair arquivos embutidos.
  • CyberChef para manipulação rápida de dados e cifras.

Aprender a ferramenta no contexto do desafio é muito mais eficiente do que estudá-la isolada. O CTF dá o problema; a ferramenta vira meio.

Veja um exemplo mínimo de pwntools que se conecta a um serviço remoto, envia uma carga e lê a resposta — o esqueleto de quase todo desafio de pwn:

from pwn import *

# conecta ao serviço do desafio
io = remote("desafio.exemplo.ctf", 1337)

# recebe o prompt e envia o payload
io.recvuntil(b"Digite seu nome: ")
payload = b"A" * 64 + p64(0xdeadbeef)  # overflow + endereco de retorno
io.sendline(payload)

# captura a resposta (esperando a flag)
print(io.recvall().decode())
io.close()

Para web, boa parte do trabalho começa repetindo e modificando uma requisição. Um teste manual de SQL injection pode ser tão simples quanto:

# requisicao original devolve 1 resultado
curl "https://alvo.ctf/produto?id=1"

# injecao booleana: se a pagina muda, o parametro e vulneravel
curl "https://alvo.ctf/produto?id=1' OR '1'='1"

# extraindo dados via UNION quando o numero de colunas e conhecido
curl "https://alvo.ctf/produto?id=-1' UNION SELECT 1,flag,3 FROM secrets-- -"

Anatomia de um desafio web resolvido passo a passo#

Para tornar concreto, veja o fluxo típico de um desafio web de dificuldade média:

  1. Mapeie a aplicação. Navegue por todas as páginas, observe parâmetros, cookies e cabeçalhos. Anote tudo que aceita entrada do usuário.
  2. Identifique o ponto de injeção. Teste cada parâmetro com cargas características (',
  3. Confirme a vulnerabilidade. Antes de extrair dados, prove que o comportamento anômalo é controlável por você. Em SQLi, isso significa fazer a condição alternar entre verdadeira e falsa de forma previsível.
  4. Explore para chegar à flag. Ajuste a carga até obter o dado-alvo. A flag costuma estar em uma tabela óbvia (flags, secrets) ou em um arquivo do servidor.
  5. Submeta e documente. Cole a flag na plataforma e, se for um evento sério, anote o passo a passo enquanto está fresco — será a base do seu writeup.

Esse mesmo esqueleto — mapear, identificar, confirmar, explorar, documentar — é a forma embrionária de uma metodologia estruturada de pentest.

Erros comuns de quem está começando#

  • Pular para os desafios difíceis. Os de pontuação alta existem para diferenciar os melhores. Comece pelos de 50–100 pontos e construa repertório.
  • Não ler o enunciado com atenção. O título, a descrição e até o nome do arquivo costumam conter dicas deliberadas. "Esse servidor parece confiar demais nos seus clientes" é um aviso, não enfeite.
  • Brutar tudo. Força bruta cega raramente é a solução pretendida e às vezes derruba o desafio para os outros. Pense antes de automatizar.
  • Não tomar notas. Você vai esquecer o que tentou. Mantenha um arquivo por desafio com hipóteses, cargas e resultados.
  • Ignorar os writeups. Depois do evento, resolver um desafio que você não conseguiu lendo o writeup e refazendo do zero ensina mais do que ter acertado três fáceis.
  • Não dormir. CTFs de 48 horas premiam disciplina, não heroísmo. Um cérebro descansado encontra a flag que o cansado não vê.

Estratégia para jogar em time#

A partir de certo nível, CTF é um esporte coletivo. Algumas práticas que separam times eficazes dos amadores:

  • Especialização. Distribua categorias entre os membros. Quem é forte em crypto não deveria gastar a primeira hora em um desafio de pwn.
  • Comunicação centralizada. Um canal por categoria (ou por desafio) evita duas pessoas atacando o mesmo problema sem saber. Marque desafios como "em progresso", "travado" e "resolvido".
  • Compartilhe descobertas parciais. Muitas vezes alguém esbarra em metade da solução. Externalizar isso permite que outro membro complete o raciocínio.
  • Ataque o ROI. Não afunde seis horas em um desafio de 500 pontos enquanto há três de 200 ao alcance. Pontuação é o placar; priorize.

Como CTFs se conectam ao pentest real#

Pode parecer que um jogo de flags é desconectado de um teste de invasão profissional, mas a transferência de habilidade é enorme. As táticas e técnicas que você pratica nos desafios são versões focadas e isoladas das mesmas categorias catalogadas no framework MITRE ATT&CK, que descreve táticas e técnicas adversárias observadas no mundo real (MITRE, 2020). Resolver um desafio web de SSRF ensina a mecânica da falha; o ATT&CK contextualiza onde essa mecânica se encaixa em uma cadeia de ataque completa.

A diferença principal está no escopo e na narrativa:

  • Objetivo. No CTF, o objetivo é a flag, um alvo único e bem definido; cada desafio é isolado. No pentest, o objetivo é avaliar o risco de um ambiente inteiro, o que inclui falhas chatas e de baixo brilho (uma senha padrão, um patch faltando) que nenhum CTF colocaria como desafio.
  • Escopo e ruído. O CTF entrega um alvo limpo. O pentest começa com reconhecimento (recon) em um ambiente desconhecido, cheio de serviços irrelevantes, e parte do trabalho é justamente decidir onde olhar.
  • Documentação. No CTF, a flag é a prova. No pentest, o entregável é o relatório — uma vulnerabilidade não documentada e não comunicada de forma acionável praticamente não existe para o cliente, e tudo segue uma metodologia estruturada com evidências e recomendações.
  • Ética e autorização. O CTF é autorizado por definição. No mundo real, agir fora do escopo contratado é ilegal, por mais "interessante" que a falha pareça.

Quem joga CTF com frequência chega ao pentest com reflexos afiados: reconhece padrões de vulnerabilidade rápido, conhece as ferramentas e não trava diante de um sistema desconhecido. Essa intuição se traduz diretamente em exploração de vulnerabilidades no trabalho profissional.

Por onde começar#

Você não precisa de equipamento especial nem de anos de estudo para jogar seu primeiro CTF. Um caminho concreto, do zero ao primeiro evento ao vivo:

  1. Escolha plataformas para iniciantes. A picoCTF (mantida pela Carnegie Mellon) é desenhada para quem nunca jogou, com desafios introdutórios e dicas. Existem também sites com desafios permanentes, ideais para treinar sem pressão de tempo.
  2. Foque em uma categoria. Web costuma ser a mais acessível para quem vem do desenvolvimento, porque o conhecimento de HTTP, bancos e linguagens já existe e se reaproveita.
  3. Leia writeups. Depois de tentar (e travar), estudar a solução de outra pessoa acelera muito o aprendizado — e refaça a solução com suas próprias mãos para fixar.
  4. Participe de competições ao vivo. O site CTFtime agrega o calendário mundial de competições e mantém o ranking de times. Eventos com data marcada trazem energia, ranking e novos desafios.
  5. Mantenha um caderno de técnicas. Anote cada truque novo num formato pesquisável. Com o tempo, esse caderno vira seu maior diferencial.
  6. Avance para exploração. Com o tempo, parta para desafios e laboratórios que reproduzem a exploração de vulnerabilidades reais.

O mais importante é a constância. Resolver um desafio por semana já constrói, ao longo de meses, uma base sólida e prática.

Perguntas frequentes#

Preciso saber programar para jogar CTF? Ajuda muito, mas não é pré-requisito absoluto para começar. Desafios fáceis de web, forensics e OSINT podem ser resolvidos com pouca ou nenhuma programação. Para avançar, porém — especialmente em pwn, crypto e automação de attack-defense —, Python se torna praticamente obrigatório. Encare o CTF como um motivo para aprender a programar, não como uma barreira.

CTF é legal? Posso ter problemas com isso? Sim, é totalmente legal, desde que você ataque apenas a infraestrutura da competição que autoriza explicitamente aquilo. O problema legal surge quando alguém aplica o que aprendeu em sistemas de terceiros sem autorização. A linha é clara: dentro do escopo do CTF, tudo permitido; fora dele, é crime.

Quanto tempo até eu resolver meu primeiro desafio? Em uma plataforma para iniciantes, é comum resolver o primeiro desafio fácil em minutos. Ganhar tração consistente leva algumas semanas de prática regular. A curva é íngreme no início e recompensadora — cada categoria nova abre dezenas de desafios que antes pareciam impossíveis.

CTF substitui certificações ou cursos formais? Não substitui, complementa. Certificações estruturam o conhecimento e sinalizam competência ao mercado; o CTF afia a prática e a velocidade de raciocínio. Recrutadores de times de segurança valorizam um histórico ativo de CTF justamente porque ele é difícil de falsificar — ou você resolve o desafio, ou não.

Posso jogar sozinho ou preciso de um time? Pode jogar sozinho, e a maioria começa assim, especialmente no formato Jeopardy. Times entram em cena quando você quer competir seriamente em eventos ranqueados ou em formatos attack-defense, que são inviáveis individualmente. Comece solo, encontre pessoas com quem combina e forme ou entre em um time depois.

Conclusão#

CTFs transformam o aprendizado de segurança ofensiva em algo legal, prático e viciante. Eles oferecem um campo de treino seguro onde você aplica de verdade as técnicas que de outra forma ficariam só na teoria — e usa as mesmas ferramentas do pentest profissional. Você experimenta os formatos (Jeopardy, Attack-Defense, King of the Hill), percorre as categorias clássicas, constrói um ferramental e desenvolve a intuição que separa quem leu sobre uma vulnerabilidade de quem sabe explorá-la.

O caminho é claro: comece pelo formato Jeopardy, escolha uma categoria, leia writeups religiosamente e jogue com frequência. Cada flag capturada é uma habilidade real adicionada ao seu repertório, e a ponte para o pentest sério — com sua metodologia estruturada e foco em risco real — fica mais curta a cada desafio resolvido. O melhor momento para submeter sua primeira flag é agora.

Referências#

  • Stuttard, D., Pinto, M. (2011). The Web Application Hacker's Handbook (2nd ed.). Wiley.
  • MITRE (2020). MITRE ATT&CK Framework. MITRE Corporation.
  • Erickson, J. (2008). Hacking: The Art of Exploitation (2nd ed.). No Starch Press.
  • Fielding, R., Reschke, J. (2014). RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. IETF.
  • Carnegie Mellon University, CyLab (2013–). picoCTF. https://picoctf.org

Leituras relacionadas

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly