Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
c-jwt-cracker — JWT-Brute-Force-Cracker, geschrieben in C | Kitploit
Tools/GitHubGitHub/brendan-rius/c-jwt-cracker
Passwort-CrackingWebsicherheitPenetrationstestsAuthentifizierung
GitHubbrendan-rius/c-jwt-cracker

c-jwt-cracker

JWT-Brute-Force-Cracker, geschrieben in C

Repository anzeigen
2.6k273vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

JWT-Cracker

Ein multithreaded JWT-Brute-Force-Cracker, geschrieben in C. Wenn Sie sehr viel Glück haben oder über enorme Rechenleistung verfügen, sollte dieses Programm den geheimen Schlüssel eines JWT-Tokens finden, sodass Sie gültige Token fälschen können. Dies dient nur zu Testzwecken, also bringen Sie sich nicht in Schwierigkeiten :)

Ich habe die Apple Base64-Implementierung verwendet und leicht modifiziert.

Docker-Image erstellen

root@kitploit:~
docker build . -t jwtcrack

Auf Docker ausführen

root@kitploit:~
docker run -it --rm  jwtcrack eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.cAOIAifu3fykvhkHpbuhbvtH807-Z2rI1FS3vX1XMjE

Manuelle Kompilierung

Stellen Sie sicher, dass die Header von OpenSSL installiert sind. Unter Ubuntu können Sie sie mit apt-get install libssl-dev installieren.

root@kitploit:~
make

Wenn Sie einen Mac verwenden, können Sie OpenSSL mit brew install openssl installieren, aber die Header werden an einem anderen Ort gespeichert:

root@kitploit:~
make OPENSSL=/usr/local/opt/openssl/include OPENSSL_LIB=-L/usr/local/opt/openssl/lib

Ausführen

root@kitploit:~
$ > ./jwtcrack eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.cAOIAifu3fykvhkHpbuhbvtH807-Z2rI1FS3vX1XMjE

Mit verschiedenen HMAC-Funktionen ausführen

Die folgenden Hash-Funktionen werden für HMAC unterstützt, d.h. zur Generierung von keyed-hashed message authentication codes: „sha256“ für JSON HS256 (HMAC mit SHA-256), „sha384“ für HS384 und „sha512“ für HS512. Sie können den Namen einer beliebigen anderen Hash-Funktion genau so angeben, wie sie in OpenSSL benannt ist. Wenn OpenSSL die Verwendung dieser Hash-Funktion für HMAC erlaubt, versucht jwtcrack, das Geheimnis zu entschlüsseln. Da jwtcrack jedoch nur ein Decoder ist, gibt es keine Garantie, dass dieser Algorithmus tatsächlich zum Kodieren verwendet wurde, geschweige denn, dass er unter den für den RFC „JSON Web Algorithms“ zulässigen Algorithmen aufgeführt ist. Siehe Abschnitt 3.1. des RFC 7518 für weitere Details.

Im folgenden Beispiel verwenden wir eine sha256-Hash-Funktion, die JSON HS256 (HMAC-SHA256) entspricht, siehe „sha256“ als letzten Befehlszeilenparameter. Außerdem geben wir in diesem Beispiel eine maximale geheime Länge von 5 Zeichen an und beschränken das Alphabet auf die folgenden Zeichen: ABCSNFabcsnf1234

root@kitploit:~
$ > ./jwtcrack eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.cAOIAifu3fykvhkHpbuhbvtH807-Z2rI1FS3vX1XMjE ABCSNFabcsnf1234 5 sha256

Im obigen Beispiel ist der Schlüssel Sn1f, und es dauert weniger als eine Sekunde auf einem durchschnittlichen Notebook, das um 2019 hergestellt wurde (z.B. mit einer Intel CPU auf Basis der Ice-Lake-Mikroarchitektur). GCC Version 9.3.0 mit „-O3“ wurde zum Kompilieren des jwtcrack-Programms verwendet. Es wurde mit der OpenSSL-Bibliothek Version 1.1.1f unter Linux Ubuntu 20.04.1 LTS gelinkt.

Hier im nächsten Beispiel verwenden wir „sha512“ als letzten Befehlszeilenparameter, um HS512 (HMAC-SHA512) anzugeben, wir geben auch eine maximale geheime Länge von 9 Zeichen an und beschränken das Alphabet auf die folgenden sieben lateinischen Kleinbuchstaben: „adimnps“.

root@kitploit:~
$ > ./jwtcrack eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJyb2xlIjoiYWRtaW4ifQ.RnWtv7Rjggm8LdMU3yLnz4ejgGAkIxoZwsCMuJlHMwTh7CJODDZWR8sVuNvo2ws25cbH9HWcp2n5WxpIZ9_v0g adimnps 9 sha512

Im obigen Beispiel ist der Schlüssel adminpass, und es dauert etwa 15 Sekunden im Durchschnitt, um auf einem Notebook mit Intel Core i7 1065G7 CPU auf Ice-Lake-Mikroarchitektur (2019), Basisfrequenz 1.30 GHz, max. Turbo 3.90 GHz) zu dekodieren. Die gesamte Anzahl der CPU-Sekunden, die von jedem der Kerne im Benutzermodus aufgrund von Multithreading verbraucht wird, beträgt etwa 100 im Durchschnitt, um dieses Geheimnis zu dekodieren.

Beispiel mit „sha384“:

root@kitploit:~
$ > ./jwtcrack eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzM4NCJ9.eyJyb2xlIjoiYWRtaW4ifQ.31xCH3k8VRqB8l5qBy7RyqI2htyCskBy_4cIWpk3o43UkIMW-IcjTUEL_NyFXUWJ 0123456789 6 sha384

Messung der von jwtcrack verbrauchten Zeit

root@kitploit:~
/usr/bin/time -f "Total number of CPU-seconds consumed directly from each of the CPU cores: %U\nElapsed real wall clock time used by the process: %E" ./jwtcrack eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJyb2xlIjoiYWRtaW4ifQ.RnWtv7Rjggm8LdMU3yLnz4ejgGAkIxoZwsCMuJlHMwTh7CJODDZWR8sVuNvo2ws25cbH9HWcp2n5WxpIZ9_v0g adimnps 9 sha512

Beitrag leisten

  • Kein Fortschrittsstatus
  • Wenn Sie das Programm anhalten, können Sie nicht an der Stelle weitermachen, an der Sie waren

WICHTIG: Bekannte Fehler

Die von mir verwendete Base64-Implementierung (von Apple) ist manchmal fehlerhaft, weil nicht jede Base64-Implementierung gleich ist. Daher funktioniert die Entschlüsselung Ihres Base64-Tokens manchmal nur teilweise, und Sie werden ein Geheimnis für Ihr Token finden, das nicht das richtige ist.

Wenn jemand bereit ist, eine robustere Base64-Implementierung zu implementieren, wäre das großartig :)

Tool herunterladen