Pular para conteúdo

Introdução ao CTF (Capture The Flag)

  • Essa aula é uma espécie de toolbox, onde vamos discutir as principais ferramentas e metodologias utilizadas em competições de CTF.
  • Vamos abordar os tipos de CTF, categorias de desafios, ferramentas essenciais e dicas para iniciantes.
  • O objetivo é fornecer uma base sólida para que você possa se preparar e participar de competições de CTF com confiança.

O que é CTF?

CTF (Capture The Flag) são competições de cibersegurança onde os participantes devem encontrar "flags" (bandeiras) escondidas em sistemas, aplicações web, arquivos ou redes. Essas flags geralmente seguem um formato específico como flag{exemplo_de_flag} ou SEC{string_secreta}.

Tipos de CTF

1. Jeopardy Style

  • Categorias separadas (Web, Crypto, Forensics, Reverse Engineering, etc.)
  • Pontuação baseada na dificuldade
  • Equipes resolvem desafios independentemente

2. Attack-Defense

  • Equipes defendem seus serviços enquanto atacam outros
  • Ambiente mais realista
  • Requer habilidades de defesa e ataque

3. King of the Hill

  • Controle de uma máquina/serviço específico
  • Pontuação contínua baseada no tempo de controle

Categorias Principais

Web Exploitation

  • SQL Injection
  • XSS (Cross-Site Scripting)
  • CSRF (Cross-Site Request Forgery)
  • Directory Traversal
  • Authentication Bypass

Cryptography

  • Cifras clássicas (César, Vigenère)
  • Criptografia moderna (RSA, AES)
  • Hash cracking
  • Análise de frequência

Forensics

  • Análise de memória
  • Análise de arquivos
  • Esteganografia
  • Logs de sistema

Reverse Engineering

  • Análise de binários
  • Engenharia reversa de malware
  • Decompilação

Binary Exploitation

  • Buffer overflow
  • Return-oriented programming (ROP)
  • Format string bugs

Metodologia de Approach

1. Reconnaissance

  • Enumeration de portas e serviços
  • Directory busting
  • Information gathering

2. Scanning & Enumeration

  • Identificação de vulnerabilidades
  • Banner grabbing
  • Service fingerprinting

3. Exploitation

  • Exploração de vulnerabilidades encontradas
  • Privilege escalation
  • Persistence

4. Documentation

  • Manter registros detalhados
  • Screenshots de evidências
  • Metodologia utilizada

Ferramentas Essenciais

Reconnaissance

  • Nmap: Port scanning e service detection
  • Gobuster: Directory/file brute forcing
  • Dirb: Web content scanner

Password Attacks

  • John the Ripper: Password cracking
  • Hashcat: GPU-accelerated password recovery
  • Hydra: Network logon cracker

Web Application Testing

  • Burp Suite: Web application security testing
  • OWASP ZAP: Web app scanner
  • SQLmap: SQL injection tool

Network Analysis

  • Wireshark: Network protocol analyzer
  • Netcat: Network utility
  • Tcpdump: Packet analyzer

Preparação do Ambiente

Distribuições Recomendadas

  • Kali Linux: Distribuição focada em pentesting
  • Parrot Security OS: Alternativa ao Kali
  • Ubuntu (com ferramentas instaladas): Para ambiente personalizado

Configuração Básica Ubuntu

# Atualizar sistema
sudo apt update && sudo apt upgrade -y

# Instalar ferramentas essenciais
sudo apt install git curl wget python3 python3-pip -y

# Instalar build tools
sudo apt install build-essential -y

Ética e Legalidade

Princípios Fundamentais

  • Sempre obter autorização antes de testar sistemas
  • Não acessar dados que não pertencem a você
  • Reportar vulnerabilidades de forma responsável
  • Respeitar a propriedade intelectual

Ambientes Legais para Prática

  • Plataformas Online: HackTheBox, TryHackMe, PicoCTF
  • Laboratórios Locais: VulnHub, DVWA, Metasploitable
  • CTFs Públicos: OverTheWire, Root-Me

Dicas para Iniciantes

Mindset

  • Persistência: Nem todo desafio será resolvido rapidamente
  • Curiosidade: Questione tudo e explore diferentes abordagens
  • Colaboração: Trabalhe em equipe e compartilhe conhecimento

Organização

  • Mantenha um notebook de comandos úteis
  • Documente suas descobertas
  • Use screenshots para evidências

Aprendizado Contínuo

  • Leia writeups de CTFs anteriores
  • Pratique em plataformas dedicadas
  • Participe de comunidades online