Brute Force Attacks:

Wachtwoorden worden niet langer in plain tekst opgeslagen. In plaats daarvan worden wachtwoorden versleuteld met behulp van een eenrichtingsfunctie, een hash (voorbeeld van een md5 hash: 2ac9cb7dc02b3c0083eb70898e549b63). Dit kan ook op verschillende manieren gebeuren waardoor er verschillende soorten gehashte wachtwoorden zijn.

Het omrekenen van een wachtwoord zoals "Password1" in een hash gaat razendsnel. Wat als je alleen maar die hash hebt? Een brute-force-aanval om de hash-functie om te keren en het wachtwoord te herstellen, kan rekenkundig niet haalbaar zijn. Dit testen wij vandaag uit met behulp van John The Ripper, we proberen een hash te kraken zonder gebruik van een woordenlijst. Voor de tweede oefening zullen we een andere aanpak gebruiken met een woordenlijst waar het gezochte wachtwoord in staat. We gebruiken dan Hashcat om alle mogelijke wachtwoorden te hashen en vergelijken met de gelekte hashes om zo het wachtwoord te verkrijgen.

Brute Force Attack 1: Pat Krimson

Gegeven:
  • gelekt wachtwoord in het bestand HashedTwitterPasswords1.txt

  • de gebruikersnaam van Pat Krimson op twitter: @CrimsonPat

Gevraagd:
  • brute force attack uitvoeren met John The Ripper

Hoe gaan we te werk?

Je mag de machine opstarten, de gegeven bestanden downloaden en de terminal openen. Vervolgens moeten we John The Ripper installeren door "sudo apt-get install john -y" in te voeren in de terminal. Om de hash te kunnen kraken moeten we een commando ingeven dat ervoor zorgt dat de hash zonder wordlist gekraakt wordt. We weten dat het een MD5 hash is en we moeten deze informatie ook meegeven in het commando.

Eerst zal je het programma moeten aanspreken door "john" te typen, daarna zal je het pad moeten specificeren waar het bestand staat die de te kraken hash bevat. Vervolgens voor geen library te gebruiken schrijven we "-incremental" en om aan te tonen dat het een MD5 hash-code is schrijven we "--format=Raw-MD5".

Als we dit commando uitvoeren krijgen we na een bepaalde tijd het mogelijke wachtwoord te zien maar het klopt nog niet volledig. Aangezien Twitter enkel wachtwoorden gebruikt die minstens 8 tekens lang zijn zal je zelf een logisch vervolg moeten bedenken voor het laatste teken.

Brute Force Attack 2: Tanja Dexters

Gevraagd:
  • bepaal de hash-code en voer een brute force attack uitgevoerd

Hoe gaan we te werk?

We maken hier gebruik van Hashcat, deze kunnen we downloaden door "sudo apt-get update -y" en dan "sudo apt-get install -y hashcatsudo apt-get install -y hashcat" te doen. Voor deze opdracht gaan we de hashes gaan moeten vergelijken van het gekregen bestand met de rockyou.txt woordenlijst. Dit doen we door eerst hashcat aan te spreken met het commando “hashcat”.

Vervolgens moeten we bepalen welk soort hash we gebruiken voor deze oefening door “-m” te typen. In deze opdracht weten we dit niet, zoek de hash-mode van de hashes in HashedTwitterPasswords2.

Ten slotte moeten we aangeven welk bestand we gaan vergelijken met de woordenlijst, dit doen we door het pad te schrijven van deze 2 bestanden. Nadat we dit commando correct hebben uitgevoerd krijgen we een aantal mogelijk bruikbare wachtwoorden te zien.

Het wachtwoord van Tanja bestaat uit 2 wachtwoorden uit het bestand. Aangezien het wachtwoord voor Twitter 8 tekens en cijfers moet bevatten zullen ze zelf een samengesteld wachtwoord moeten opstellen. We kunnen er al een paar mogelijkheden uitsluiten aangezien het wachtwoord een woord zal zijn samen met een reeks cijfers.

(Tip: De gebruiker waarvan het wachtwoord gelekt is een zeer religieus persoon)