Skip to content

ticofookfook/JWT_PENTEST

Repository files navigation

JWT Pentest Tool 🔐

Advanced JWT Security Testing Framework - Uma ferramenta completa para análise e teste de segurança de tokens JWT

🎯 Visão Geral

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.

✨ Características Principais

  • 🔍 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

🏗️ Arquitetura

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

🚀 Instalação e Configuração

Pré-requisitos

  • Python 3.8 ou superior
  • pip (gerenciador de pacotes Python)

Instalação

  1. Clone o repositório
git clone https://github.com/ticofookfook/JWT_PENTEST.git
cd JWT_PENTEST
  1. Instale as dependências
pip install -r backend/requirements.txt
  1. Configure as wordlists (opcional)
cd backend
python setup_wordlists.py
  1. Inicie o servidor
cd backend
python main.py
  1. Acesse a aplicação

📖 Como Usar

Interface Web

A interface web oferece quatro módulos principais:

🔍 ANALYZE - Análise de Tokens

  • Cole um token JWT no campo de entrada
  • Visualize a estrutura decodificada (header, payload, signature)
  • Identifique vulnerabilidades automaticamente
  • Receba recomendações de segurança

⚔️ ATTACKS - Vetores de Ataque

  • 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

📚 WORDLISTS - Gerenciamento de Dicionários

  • Upload de wordlists personalizadas
  • Visualização de wordlists disponíveis
  • Remoção e organização de dicionários

🛡️ SCANNER - Análise de Vulnerabilidades

  • Scan completo de segurança
  • Relatório detalhado de falhas encontradas
  • Classificação de riscos e recomendações

API REST

Endpoints Principais

# 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>

Geradores de Teste

Gerador Rápido

python quick_jwt_gen.py

Gera tokens de exemplo com vulnerabilidades conhecidas para testes rápidos.

Gerador Avançado

# 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

🔐 Vulnerabilidades Detectadas

A ferramenta identifica as seguintes vulnerabilidades de segurança:

🚨 Críticas

  • None Algorithm: Tokens sem assinatura
  • Missing Signature: Assinatura ausente
  • Expired Tokens: Tokens com data de expiração vencida

⚠️ Altas

  • Weak Secrets: Segredos facilmente quebráveis
  • Path Traversal: Exploração do parâmetro 'kid'
  • Sensitive Data: Informações sensíveis no payload

📋 Médias

  • Long Expiration: Tokens com expiração muito longa
  • Algorithm Confusion: Possibilidade de confusão de algoritmos
  • Missing Claims: Claims obrigatórios ausentes

ℹ️ Baixas

  • Weak Algorithms: Uso de algoritmos simétricos fracos
  • Large Payload: Payloads excessivamente grandes

🛡️ Vetores de Ataque Implementados

1. Brute Force Attack

  • 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

2. None Algorithm Attack

  • Remoção da assinatura do token
  • Alteração do algoritmo para 'none'
  • Bypass de verificação de assinatura

3. Key Confusion Attack

  • 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

4. Weak Secret Testing

  • Verificação contra lista de senhas comuns
  • Teste de variações e padrões
  • Geração de segredos baseados no domínio

5. Kid Parameter Injection

  • Teste de injeção no parâmetro 'kid'
  • Payloads para path traversal, SSRF, e command injection
  • Classificação automática do tipo de vulnerabilidade

📊 Métricas e Estatísticas

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published