Password cracking

Inleiding tot password hashing

Password hashing is eigenlijk een heel simpel principe. Aangezien het onveilig zou zijn om passwoorden zomaar in cleartext (duidelijk leesbaar) ergens op te slaan, gebruikt men password hashing om het passwoord in een onherkenbare vorm op te slaan. Met behulp van een algoritme wordt de cleartext omgezet naar een random (gehashte) waarde die dan niet meer leesbaar is. Het is onmogelijk om vanuit een gehashte waarde dan in omgekeerde richting opnieuw het cleartext passwoord er opnieuw uit te halen. Hierdoor is dit al een veel veiligere manier op passwoorden te kunnen opslaan.

Als extra kan men er een zogenaamde salt aan toevoegen om de veiligheid van het passwoord nog meer te garanderen. Een salt is een random waarde die men extra toevoegt aan het cleartext passwoord. daarna laat je het hashing algoritme erop los. Hierdoor is het nog moeilijker om het passwoord op de één of andere manier te achterhalen.

Enkele van de meest gebruikte hashing algoritmes zijn MD5, SHA en Bcrypt

Via Cyberchef kunnen jullie enkele van deze hashing algoritmes uittesten en de kenmerken ervan leren kennen. Bij de Hashing-categorie staan er nog veel meer algoritmes maar focus vooral op de hierboven vermeldde algoritmes.

Password cracking tools

Ondanks dat password hashes onomkeerbaar zijn, kunnen ze wel nog gekraakt worden door de gelijke hash te vinden. Eens het passwoord gekraakt is, is het dus niet meer veilig om te gebruiken en om die reden kan je best voor verschillende accounts/toepassingen een ander passwoord gebruiken. Er zijn meerdere soorten aanvallen op gehashte passwoorden om het passwoord uit de hash te kraken. Men gaat dus eigenlijk op zoek naar de kopie van de hash om zo het gebruikte passwoord te achterhalen.

  1. Brute force attack

    • Het gehashte passwoord proberen kraken door alle mogelijk combinaties van wachtwoorden te proberen

  2. Dictionary attack

    • Aan de hand van een woordenlijst het gehashte passwoord terugvinden door alle woorden te hashen en de hashes te vergelijken.

  3. Rainbow attack

    • Online zijn er meerdere tools beschikbaar om gehashte passwoorden te achterhalen. Voor deze workshop focussen wij ons op Hashcat

  4. Online hash decrypt

    • Online zijn er verschillende websites waar een veel voorkomende hash snel decrypt kan worden. (bv: md5decrypt )

Installatie hashcat

De installatie van hashcat is vrij eenvoudig aangezien het bestaat als een pakket dat je eenvoudig via terminal kan installeren. Voer volgende commando’s uit via terminal om Hashcat te installeren op je machine.

  • sudo apt-get update

hashcatcmd1
  • sudo apt-get install hashcat

hashcatcmd2
  • sudo apt install hashcat

hashcatcmd3
Een veelgebruikte OS voor alles wat met data security te maken heeft is Kali-Linux, bij deze OS zijn er al heel wat tools voor 'hacking' en pen-testing voorgeïnstalleerd. Ook Hashcat wordt hier automatisch voorgeïnstalleerd.
Hashcat is ook beschikbaar voor Windows en kan je daar ook runnen vanuit de folder die je download op Hashcat of Github

Als alles goed is kan je nu al eens bekijken welke mogelijke opties hashcat allemaal heeft met hashcat -h of via Hashcat opties

Voor deze workshop zullen we vooral gebruik maken van de -m en -a opties.

Alles staat nu klaar om verder te gaan met de opdrachten rond password cracking