John the Ripper

9. Juli 2025

Wer in der IT arbeitet oder wissen möchte, wie sicher Passwörter wirklich sind, für den ist John the Ripper ein neuer bester Freund – oder schlimmster Feind, je nach Perspektive 😬.

Was ist John the Ripper?

John the Ripper (kurz: John) ist ein Open-Source Password-Cracker, der seit den 90ern existiert und immer noch einer der mächtigsten Tools seiner Art ist.

Die Software kann verschiedene Hash-Formate knacken:

  • Unix/Linux crypt(3) Hashes
  • Windows LM/NTLM Hashes
  • MD5, SHA-1, SHA-256, SHA-512
  • bcrypt, scrypt
  • Und gefühlt hunderte andere Formate (siehe unten den Befehl für die Auflistung der Formate)

Installation

Linux/macOS:

# Ubuntu/Debian
sudo apt-get install john

# macOS mit Homebrew
brew install john

Windows: Am besten direkt von der offiziellen Website herunterladen. Oder nutze WSL – ist eh besser.

Die Basics

John hat drei Hauptmodi:

1. Single Crack Mode

Der schnellste Modus – probiert intelligente Variationen basierend auf dem Username. John extrahiert die Benutzernamen automatisch aus der Hash-Datei:

john --single passwords.txt

Die Datei muss das Format username:hash haben, damit John weiß, welcher Username zu welchem Hash gehört. Bei Unix-Systemen machst du das mit unshadow.

2. Wordlist Mode

Nutzt eine Wordlist und probiert jedes Wort durch:

john --wordlist=/usr/share/wordlists/rockyou.txt passwords.txt

3. Incremental Mode (Brute Force)

Langsamer, aber gründlicher Ansatz – probiert alle möglichen Kombinationen:

john --incremental passwords.txt

Praktisches Beispiel: Linux Shadow File

Angenommen, es sollen die Passwörter aus ‎`/etc/shadow` getestet werden (natürlich nur auf dem eigenen System – das versteht sich von selbst):

# Erst die Hashes extrahieren
sudo unshadow /etc/passwd /etc/shadow > mypasswords.txt

# Dann John loslassen
john --wordlist=/usr/share/wordlists/rockyou.txt mypasswords.txt

# Status checken
john --show mypasswords.txt

Power-Features

John kann Regeln anwenden, um aus jedem Wort in der Wordlist automatisch Variationen zu erstellen:

# Nutze die built-in Rules (Best4, Wordlist, etc.)
john --rules --wordlist=wordlist.txt passwords.txt

Was passiert hier konkret? Aus dem Wort „password“ werden automatisch Variationen wie:

  • Password (Großbuchstabe am Anfang)
  • password123 (Zahlen anhängen)
  • p@ssword (Buchstaben durch Sonderzeichen ersetzen)
  • drowssap (rückwärts)

Die Rules sind in der john.conf definiert. Du kannst dir die verfügbaren Rules anzeigen lassen:

john --list=rules

Format-spezifische Attacks

# Für Windows NTLM Hashes
john --format=NT passwords.txt

# Für MD5 Hashes
john --format=Raw-MD5 passwords.txt

# Alle verfügbaren Formate anzeigen
john --list=formats

Session Management

# Session starten
john --session=mysession passwords.txt

# Session fortsetzen
john --restore=mysession

Wordlists

Ohne gute Wordlists ist John wie ein Porsche ohne Benzin. Hier sind die gängigsten:

  • rockyou.txt – Der Klassiker mit 14 Millionen Passwörtern
  • SecLists – Riesige Sammlung verschiedener Wordlists
  • CrackStation – Massive Wordlist mit über 1.4 Milliarden Wörtern
# rockyou.txt downloaden (falls nicht vorhanden)
wget https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt

Performance-Tipps

Multi-Threading nutzen

# Nutze alle verfügbaren CPU-Cores
john --fork=4 passwords.txt

GPU-Power (mit John Jumbo)

Wenn du die Jumbo-Version nutzt, kannst du auch deine GPU einsetzen:

john --format=raw-md5-opencl passwords.txt

Häufige Stolperfallen

Problem: John findet die Hashes nicht
Lösung: Format explizit angeben mit --format=

Problem: Zu langsam
Lösung: Erst Single Mode, dann Wordlist, dann Incremental

Problem: Keine Ergebnisse
Lösung: Bessere Wordlists verwenden oder Rules aktivieren

Defensive Perspektive

Als Entwickler solltest du John nutzen, um:

  1. Deine eigenen Passwörter zu testen: Wenn John sie in unter einer Stunde knackt, sind sie zu schwach
  2. Leaked Credentials zu checken: Teste, ob Passwörter aus Datenlecks in deinem System verwendet werden
  3. Password Policies zu validieren: Simuliere Angriffe auf deine Benutzer-Passwörter

Legale Hinweise

John sollte nur auf eigenen Systemen mit eigenen Daten oder mit expliziter Erlaubnis der jeweiligen Partei eingesetzt werden. Alles andere ist illegal.

Fazit

John the Ripper ist ein mächtiges Tool, das in jeden Security-Toolkit gehört. Nutze es verantwortungsvoll für Penetration Testing, Security Audits und um deine eigenen Systeme zu prüfen.

Wichtig: Wenn John ein Passwort knacken kann, ist das auch für andere möglich. Daher sollten sichere Passwörter gewählt werden.