Advanced JWT Security Testing Framework - Uma ferramenta completa para análise e teste de segurança de tokens JWT
O JWT Pentest Tool é um framework avançado para testes de segurança em tokens JWT (JSON Web Tokens). Desenvolvido para profissionais de segurança cibernética, penetration testers e desenvolvedores, esta ferramenta oferece uma interface web moderna e uma API robusta para identificar vulnerabilidades em implementações JWT.
- 🔍 Análise Completa de Tokens - Decodificação e análise detalhada de estrutura JWT
- ⚡ Ataques Automatizados - Múltiplos vetores de ataque incluindo brute force, none algorithm, e key confusion
- 📊 Scanner de Vulnerabilidades - Verificação abrangente de falhas de segurança
- 📚 Gerenciamento de Wordlists - Upload e gestão de dicionários personalizados
- 🎨 Interface Moderna - Frontend responsivo com tema hacker e terminal integrado
- 🚀 API RESTful - Backend FastAPI para integração com outras ferramentas
- 🛡️ Testes Automatizados - Geração de tokens de teste para validação
jwt-pentest/
├── 🖥️ backend/ # API FastAPI
│ ├── main.py # Servidor principal
│ ├── modules/ # Módulos de funcionalidade
│ │ ├── jwt_analyzer.py # Análise de tokens
│ │ ├── jwt_attacks.py # Implementação de ataques
│ │ ├── vulnerability_scanner.py # Scanner de vulnerabilidades
│ │ └── wordlist_manager.py # Gestão de wordlists
│ ├── wordlists/ # Dicionários para brute force
│ └── uploads/ # Arquivos enviados
├── 🌐 frontend/ # Interface Web
│ ├── index.html # Página principal
│ ├── css/ # Estilos e temas
│ └── js/ # Lógica JavaScript modular
├── 🔧 jwt_test_generator.py # Gerador de tokens de teste
├── ⚡ quick_jwt_gen.py # Gerador rápido de exemplos
└── 📋 requirements.txt # Dependências Python
- Python 3.8 ou superior
- pip (gerenciador de pacotes Python)
- Clone o repositório
git clone https://github.com/ticofookfook/JWT_PENTEST.git
cd JWT_PENTEST
- Instale as dependências
pip install -r backend/requirements.txt
- Configure as wordlists (opcional)
cd backend
python setup_wordlists.py
- Inicie o servidor
cd backend
python main.py
- Acesse a aplicação
- Interface Web: http://localhost:8000
- Documentação da API: http://localhost:8000/docs
A interface web oferece quatro módulos principais:
- Cole um token JWT no campo de entrada
- Visualize a estrutura decodificada (header, payload, signature)
- Identifique vulnerabilidades automaticamente
- Receba recomendações de segurança
- Brute Force: Teste senhas usando wordlists personalizadas
- None Algorithm: Bypass de assinatura alterando algoritmo para 'none'
- Weak Secrets: Verificação contra senhas comuns e fracas
- Key Confusion: Ataque de confusão entre chaves RSA/HMAC
- Upload de wordlists personalizadas
- Visualização de wordlists disponíveis
- Remoção e organização de dicionários
- Scan completo de segurança
- Relatório detalhado de falhas encontradas
- Classificação de riscos e recomendações
# Análise de token
POST /analyze-jwt
Content-Type: application/x-www-form-urlencoded
token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# Ataque de força bruta
POST /brute-force
Content-Type: application/x-www-form-urlencoded
token=<jwt_token>&wordlist_file=jwt_secrets.txt&max_attempts=10000
# Ataque none algorithm
POST /none-attack
Content-Type: application/x-www-form-urlencoded
token=<jwt_token>
# Scanner de vulnerabilidades
POST /vulnerability-scan
Content-Type: application/x-www-form-urlencoded
token=<jwt_token>
python quick_jwt_gen.py
Gera tokens de exemplo com vulnerabilidades conhecidas para testes rápidos.
# Gerar todos os tipos de tokens
python jwt_test_generator.py --type all --output test_tokens.json
# Gerar apenas tokens com segredos fracos
python jwt_test_generator.py --type weak --summary
# Gerar tokens com algoritmo 'none'
python jwt_test_generator.py --type none
A ferramenta identifica as seguintes vulnerabilidades de segurança:
- None Algorithm: Tokens sem assinatura
- Missing Signature: Assinatura ausente
- Expired Tokens: Tokens com data de expiração vencida
- Weak Secrets: Segredos facilmente quebráveis
- Path Traversal: Exploração do parâmetro 'kid'
- Sensitive Data: Informações sensíveis no payload
- Long Expiration: Tokens com expiração muito longa
- Algorithm Confusion: Possibilidade de confusão de algoritmos
- Missing Claims: Claims obrigatórios ausentes
- Weak Algorithms: Uso de algoritmos simétricos fracos
- Large Payload: Payloads excessivamente grandes
- Ataque de dicionário contra segredos HMAC
- Suporte a wordlists personalizadas
- Execução assíncrona com monitoramento de progresso
- Otimização de performance para grandes dicionários
- Remoção da assinatura do token
- Alteração do algoritmo para 'none'
- Bypass de verificação de assinatura
- Exploração da confusão entre algoritmos RSA e HMAC
- Uso de chave pública como segredo HMAC
- Geração de tokens válidos com chave comprometida
- Verificação contra lista de senhas comuns
- Teste de variações e padrões
- Geração de segredos baseados no domínio
- Teste de injeção no parâmetro 'kid'
- Payloads para path traversal, SSRF, e command injection
- Classificação automática do tipo de vulnerabilidade
A ferramenta coleta e apresenta métricas detalhadas:
- Tokens Analisados: Contador de análises realizadas
- Vulnerabilidades Encontradas: Estatísticas por tipo e severidade
- Ataques Executados: Histórico de testes de penetração
- Taxa de Sucesso: Percentual de ataques bem-sucedidos
- Performance: Tempos de resposta e throughput