Hashcat vs. John the Ripper: Kunsten at Knække Hashes

Når man som penetrationstester eller sikkerhedsanalytiker støder på krypterede adgangskoder i form af hashes, er der to værktøjer, der dominerer markedet: Hashcat og John the Ripper (JtR). Selvom de begge har samme formål – at genskabe den oprindelige adgangskode fra en hashværdi – har de forskellige styrker og anvendelsesområder.

I denne artikel vil vi gennemgå, hvordan man bruger dem effektivt, og hvordan man håndterer de sværeste scenarier: lange, komplekse koder og langsomme hash-algoritmer.


1. De To Giganter: Hvad er forskellen?

Hashcat: GPU-kraftens konge

Hashcat kaldes ofte for verdens hurtigste password-cracking værktøj. Dens største force er evnen til at udnytte GPU’en (grafikkortet) til at udføre milliarder af beregninger i sekundet. Da mange hash-algoritmer (som MD5 eller SHA-1) er matematiske, er de ekstremt velegnede til den parallelle arkitektur i en GPU.

  • Styrker: Ekstrem hastighed, understøtter næsten alle kendte hash-typer, avanceret regel-system.
  • Bedst til: Massive wordlist-angreb og brute-force mod hurtige hashes.

John the Ripper: Fleksibilitetens mester

John the Ripper er det ældste af de to værktøjer og er kendt for sin alsidighed. Hvor Hashcat fokuserer på rå styrke via GPU, fokuserer JtR ofte på CPU’en og intelligent genkendelse af formater. JtR er fantastisk til at “autodetecte” hash-typer og håndtere komplekse filformater (f.eks. krypterede ZIP-filer, SSH-nøgler eller PDF-dokumenter).

  • Styrker: Automatisk format-detektering, fantastisk “Single Crack” mode (bruger information om brugeren), ekstremt bærbar.
  • Bedst til: Indledende rekognoscering og komplekse fil-formater.

2. Strategier til lange og svære koder

Når en adgangskode er lang (f.eks. over 12 tegn) eller bruger en kompleks algoritme som Bcrypt eller Argon2, rækker en simpel ordliste ofte ikke. Her skal man tænke strategisk.

Mask Attacks (Brute-force med præcision)

I stedet for at prøve hver eneste kombination af alle tegn (hvilket ville tage tusinder af år), bruger man en Mask Attack. Hvis vi ved, at en bruger ofte starter deres kode med et stort bogstav og slutter med et årstal, kan vi definere en maske:

Hashcat kommando: -a 3 hash.txt ?u?l?l?l?l?d?d?d?d (Dette prøver: 1 stort bogstav, 4 små bogstaver og 4 tal).

Rules: Wordlist Mangling

Mennesker er forudsigelige. Vi tager ofte et ord (“Sommer”) og ændrer det en lille smule (“Sommer2024!”). Med Hashcats Rule Engine kan man tage en lille ordliste og generere millioner af variationer automatisk.

En populær regel er OneRuleToRuleThemAll.rule, som automatisk prøver at:

  • Tilføje tal til slutningen.
  • Ændre “e” til “3” og “a” to “4”.
  • Gøre det første bogstav stort.
  • Spejlvende ordet.

Hybrid Attacks

Et hybrid-angreb kombinerer en ordliste med brute-force. Man kan f.eks. tage alle ord i en ordbog og tilføje 2-3 tilfældige tegn til sidst. Dette er ekstremt effektivt mod brugere, der følger “best practice” ved at bruge et ord plus noget ekstra.


3. Praktiske Eksempler

Knæk en NTLM-hash (Windows) med Hashcat:

hashcat -m 1000 -a 0 hashes.txt rockyou.txt -r rules/best64.rule

  • -m 1000: Fortæller Hashcat at det er NTLM.
  • -a 0: Straight attack (wordlist).
  • -r rules/best64.rule: Bruger de 64 bedste regler til at variere ordene i rockyou.txt.

Brug John the Ripper til en krypteret ZIP-fil:

Først skal vi trække hashen ud af filen: zip2john hemmelig.zip > zip.hash

Derefter knækker vi den: john --wordlist=rockyou.txt zip.hash


4. Konklusion

Valget mellem Hashcat og John the Ripper handler ikke om, hvilket værktøj der er “bedst”, men om hvilken opgave man står overfor.

  • Har du en kraftig GPU og en massiv liste af simple hashes? Brug Hashcat.
  • Sidder du med en speciel filtype eller vil du have værktøjet til selv at regne ud, hvad det kigger på? Brug John the Ripper.

Når koderne bliver svære, er det din evne til at bygge præcise masker og bruge de rigtige regler, der gør forskellen mellem succes og en evighedsmaskine.

Husk: Brug kun disse værktøjer til etiske formål og på systemer, du har tilladelse til at teste.

Kilder

> Quiz: Test din viden

1. Hvad bruger Hashcat, der giver det milliarder beregninger pr. sekund?

2. Hvad bruger John the Ripper primært i stedet for GPU?

3. Hvad er et Mask Attack i password-cracking?

4. Hvad er Hashcat og John the Ripper primært brugt til?