akademin körs anonymt — inget sparas
skapa kontonummer →
Akademin / Lektion 16 — John the Ripper
lektion 16 · cracking

Vad är John the Ripper?

John (eller "JtR") är den klassiska lösenordskrackaren. Skriven 1996, fortfarande utvecklad, och oslagbar på en sak: att knäcka lösenord som är variationer av användarnamnet.

Lektion 10 gav dig hashcat. John fyller en annan funktion. Båda kan testa ordlistor och masker — men John är smartare på "single mode": den läser användarnamn och full name från en lösenordsfil och genererar kandidater baserade på dem (annaandersson, Anna1!, anders123, ...).

Bara för utbildning. Använd John bara på hashar du själv genererat, övningshashar (CTF, HackTheBox), eller system du har skriftligt tillstånd att testa. Att krackra hashar från en läcka — även om de redan är publika — kan strida mot dataskyddslagar.

01Vad John egentligen är

John the Ripper är ett kommandoradsverktyg som tar in:

...och försöker lista ut klartexten för varje hash. Den auto-detekterar oftast hash-typen — du behöver inte säga "det här är MD5". Den jobbar primärt på CPU (även om det finns OpenCL-versioner) och är effektivast på klassiska Unix-format: /etc/shadow, NTLM, ZIP, RAR, SSH-nycklar med lösenord, KeePass-databaser.

02John vs hashcat

John the Ripper

  • Stark på single mode — använder användarnamn som hint
  • Auto-detekterar hash-typer
  • Inbyggda konverteringsverktyg (zip2john, ssh2john...)
  • Snabbast på CPU, bra för enskilda hashar
  • Klassiskt val för Unix-system, CTF-utmaningar

hashcat

  • Stark på GPU-acceleration — miljarder gissningar/sek
  • Du måste säga -m hash-typ själv
  • Bästa för stora batchar av hashar
  • Mer flexibel regelmotor
  • Standard i bug bounty och pentesting när du har många hashar

Många pentestare använder båda: John för snabb första-attack på enstaka hashar, hashcat när det är dags att slå hårt mot en stor läcka.

03Installation

Linux:

sudo apt install john
john --version
John the Ripper 1.9.0-jumbo-1 OMP [linux-gnu 64-bit x86_64 AVX2 AC]

macOS:

brew install john-jumbo

Windows: ladda ner från openwall.com/john — välj "John the Ripper 1.9.0-jumbo-1 (Windows binaries)". Packa upp och kör john.exe från en cmd-prompt.

Notera: "jumbo" är community-versionen med stöd för 250+ hash-typer. Det är den du vill ha.

04Din första krackning

# skapa en MD5-hash av lösenordet "kanin"
echo -n "kanin" | md5sum
c454085df514ce66b7d124ee8d60fb85  -

# spara i en fil med användarnamn före
echo "anna:c454085df514ce66b7d124ee8d60fb85" > hash.txt

# låt John auto-detektera och attackera
john --format=raw-md5 hash.txt

Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])
Press 'q' or Ctrl-C to abort, almost any other key for status
kanin            (anna)
1g 0:00:00:01 DONE 2/3 (2026-05-21 14:32) 0.7142g/s

# visa knäckta lösenord
john --show --format=raw-md5 hash.txt
anna:kanin
1 password hash cracked, 0 left

John knäckte det utan att du gett någon ordlista. Den körde "single mode" först — vilket inkluderade variationer av användarnamnet och vanliga default-lösenord.

05Attack-lägen

Single mode (default first pass) — använder användarnamn och GECOS-fältet:

john --single hash.txt

Wordlist mode — med rockyou eller annan ordlista:

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

Wordlist + rules — modifierar varje ord (kapitalisera, lägg till siffra, etc.):

john --wordlist=rockyou.txt --rules hash.txt

Incremental — brute force, alla kombinationer:

john --incremental hash.txt

06Konverteringsverktyg

En av Johns styrkor är att det finns scripts för att extrahera hashar från olika filtyper:

# hash från ZIP-fil med lösenord
zip2john secret.zip > zip.hash

# hash från SSH-privatnyckel med lösenfras
ssh2john id_rsa > ssh.hash

# hash från PDF
pdf2john report.pdf > pdf.hash

# sen vanlig john-körning
john --wordlist=rockyou.txt zip.hash

Det här används i CTF-utmaningar konstant — du får en fil med lösenord och måste krackra det med John.

07Vad du lärt dig

Övning: knäck en ZIP-fil med eget lösenord

1. Skapa en lösenordsskyddad zip: zip -e test.zip filerna_du_vill_packa — välj ett enkelt lösenord som finns i rockyou.txt (t.ex. password123).

2. Extrahera hashen: zip2john test.zip > test.hash.

3. Knäck den: john --wordlist=/usr/share/wordlists/rockyou.txt test.hash.

4. Visa resultatet: john --show test.hash.

5. Reflektion: hur lång tid tog det? Det här är samma teknik som används mot läckta KeePass-databaser, PGP-nycklar och Office-dokument — varför starka lösenord på dina filer faktiskt spelar roll.

Du kan nu krackra hashar med John.

Sista lektionen i verktygsserien: Metasploit. Det stora exploit-frameworket som har en modul för i princip varje publicerad sårbarhet sedan 2003.

Nästa: Metasploit