Skip to content

Desafio CTF focado em falhas criptográficas em sistemas de autenticação web - Baseado no TryHackMe Crypto Failures

Notifications You must be signed in to change notification settings

ooclaar/ctf-crypto-failures

Repository files navigation

Este desafio foi criado com auxílio da IA Manus, para fins de aprendizado e totalmente inspirado no artigo original.

CTF: Falhas Criptográficas

Bem-vindo ao desafio de CTF "Falhas Criptográficas"! Este desafio foi projetado para testar suas habilidades em segurança de aplicações web, com foco em vulnerabilidades criptográficas comuns.

Cenário

A SecureAuth Corp, uma empresa de tecnologia de ponta, desenvolveu um sistema de autenticação proprietário que utiliza "criptografia de nível militar" para proteger as sessões de seus usuários. Como um especialista em segurança, você foi contratado para realizar um teste de penetração neste sistema.

Seu objetivo é duplo:

  1. Obter acesso administrativo ao sistema.
  2. Descobrir a chave secreta usada para proteger as sessões.

Objetivos de Aprendizagem

Ao completar este desafio, você terá praticado as seguintes habilidades:

  • Enumeração e Reconhecimento: Análise de aplicações web em busca de pontos de entrada.
  • Análise de Código-Fonte: Identificação de falhas lógicas em código PHP.
  • Criptoanálise: Compreensão e exploração de fraquezas em esquemas de criptografia customizados.
  • Manipulação de Cookies: Falsificação de cookies para bypass de autenticação e escalação de privilégios.
  • Ataques de Padding Oracle: Extração de informações secretas (como chaves de criptografia) de forma otimizada.
  • Automação de Exploits: Desenvolvimento de scripts em Python para automatizar ataques complexos.

Como Começar

Pré-requisitos

Para executar este desafio, você precisará ter o Docker e o Docker Compose instalados em sua máquina.

Dependências Python (Para Exploits)

Se você quiser executar os scripts de exploração, precisará apenas de:

pip3 install requests

Nota importante: O módulo crypt usado nos exploits é nativo do Python (não precisa instalar). Ele está disponível por padrão em Linux/macOS.

⚠️ Usuários Windows: O módulo crypt não funciona nativamente no Windows. Você precisa usar:

  • WSL (Recomendado): wsl --install no PowerShell
  • Docker: Usar os containers do projeto
  • VM Linux: VirtualBox ou VMware

📖 Guia completo para Windows: docs/WINDOWS_USERS.md

Para mais detalhes, consulte: docs/INSTALACAO_DEPENDENCIAS.md

Instalação e Execução

  1. Clone este repositório (ou descompacte o arquivo .zip) em sua máquina local.

  2. Navegue até o diretório do projeto pelo terminal:

    cd ctf-crypto-failures
  3. Inicie o ambiente do desafio usando o Docker Compose:

    docker-compose up -d --build
  4. Acesse a aplicação: Após a conclusão do build, a aplicação web estará disponível em:

    http://localhost:8080

O Desafio

A partir daqui, sua jornada começa. Investigue a aplicação, procure por falhas e explore-as para capturar as duas flags.

  • Flag 1: Obtida ao conseguir acesso como administrador.
  • Flag 2: É a própria chave secreta do sistema.

Dicas

Este desafio foi projetado para ser realista, portanto, não há dicas explícitas na aplicação. No entanto, se precisar de uma pequena ajuda, pense nos seguintes conceitos:

  1. Desenvolvedores às vezes são descuidados e deixam para trás arquivos que não deveriam estar em produção.
  2. O que acontece quando um sistema de criptografia divide os dados em blocos independentes? O que você, como atacante, pode controlar?
  3. O User-Agent em uma requisição HTTP é apenas um cabeçalho informativo ou pode ser usado para algo mais... estratégico?

Solução

O diretório exploits/ contém scripts que demonstram a solução para cada uma das flags, além de um script completo que automatiza a captura de ambas.

Para executar o exploit completo:

python3 exploits/exploit_completo.py http://localhost:8080

Recomendamos fortemente que você tente resolver o desafio por conta própria antes de consultar a solução.

Desligando o Ambiente

Quando terminar, você pode parar e remover os containers do Docker com o seguinte comando:

docker-compose down

Boa sorte e divirta-se!

About

Desafio CTF focado em falhas criptográficas em sistemas de autenticação web - Baseado no TryHackMe Crypto Failures

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published