Of het nu NTLM hashes zijn van Active Directory, NetNTLMv2 onderschept met Responder, of honderden andere mogelijke bronnen van hashes, het achterhalen van de oorspronkelijke wachtwoorden blijft een kat en muis spel.

Wat is Hash Cracking?

Als een wachtwoord eenmaal gehashed is, is het niet omkeerbaar in tegenstelling tot encryptie. De enige manier om het wachtwoord dan uit de hash te “herleiden” is door te gokken wat het wachtwoord is, deze vervolgens door het hashing algoritme te halen, en te kijken of het resultaat overeenkomt met de hash die je hebt. Bij deze omvangrijke en tijdrovende activiteiten worden tools als John the Ripper en Hashcat gebruikt. Zij ondersteunen gezamenlijk een enorm aantal hash-types met erg diverse functies en uitzonderlijke prestatie-optimalisaties. De winst zit daarom ook niet zozeer in de software, maar in de hardware die een hacker tot zijn beschikking heeft.

Traditionele Hash Cracking Set-ups

Op het internet bestaan talloze artikelen, forumposts, etc. over het opzetten van een “Cracking Rig”: een custom setup met als doel zo snel mogelijk hashes te kraken. Vaak kosten deze set-ups vele duizenden euro’s, omdat je betaalt per GPU. Meer GPU’s betekent een sneller hash cracking proces.

De kosten van deze set-ups weerhouden veel mensen ervan om het te doen. Je betaalt namelijk niet alleen voor de aanschaf van hardware, maar ook voor de elektriciteit. Zo kunnen de kosten jaarlijks erg hoog uitvallen, waardoor het niet binnen bereik is voor de meeste gebruikers.

Coalfire Labs is met een oplossing gekomen voor dit probleem, het “NPK – Hash Cracking Platform”.

Cloud Hash Cracking

Het NPK – Hash Cracking Platform is ontworpen om, m.b.v. de krachtige GPU-instanties van AWS, verbluffende hash cracking prestaties te bieden voor een prijsniveau waar zelfs de duurste custom hardware set-ups niet tegenop kunnen. Dit is te danken aan de schaalbaarheid van AWS.

Amazon Web Services (AWS) beschikt over drie generaties GPU-instanties waaruit gekozen kan worden. NPK kan de prijs en prestatie van elke eenheid in één oogopslag vergelijken. Het gewenste hash-type kan gekozen worden, waarna NPK de prijs en prestaties toont van elke instance-generatie voor dat specifieke hash-type. NPK gebruikt ook spot-instances voor alle campagnes om de prijzen tot een minimum te beperken. Hier zie je bijvoorbeeld de werkelijke prijs en prestaties van NTLM:

Prijsvergelijking: Cloud Hash Cracking vs Custom Hardware

Wat is nou het verschil tussen de klassieke “Hash Cracking Set-ups” en het “NPK – Hash Cracking Platform”? (O.b.v. NTLM hash rates)

Een startpunt van $7 per uur is natuurlijk beter dan $3.600. Echter blijft het daar niet bij, NPK ondersteunt namelijk ook het verdelen van een campagne over meerdere instanties om bandbreedte te vergroten. In totaal zijn er 24 instances die gebruikt kunnen worden, waardoor een hash cracking tijd van 24 uur zelfs uitgevoerd kan worden in ongeveer een uur. Dit is een enorm voordeel, omdat het hash cracking proces nu in een veel kortere tijdsperiode uitgevoerd kan worden.

De prijs per uur kan sommigen afschrikken, omdat zelfs hardware cracking-campagnes vaak dagen of weken duren om er doorheen te komen. NPK pakt dit aan door de gebruiker te laten kiezen hoeveel instanties er gebruikt mogen worden en hoe lang de campagne mag duren. Op basis van de keuzes wordt vervolgens een geschatte dekking weergegeven. Met dit inzicht is het eenvoudig om een campagne op te zetten die de kans op het kraken van hashes maximaliseert binnen bepaalde tijd- of budgetbeperkingen.

Kostenbeperking

Het is wel eens voorgekomen dat gebruikers grote instanties opstarten en vergeten ze weer af te sluiten totdat ze een flinke rekening van AWS krijgen. NPK is specifiek ontworpen om ervoor te zorgen dat alle instanties die worden opgestart, nooit langer actief blijven dan de bedoeling is. Zelfs in het geval van een catastrofale storing in het managementsysteem, zullen de GPU-instanties precies op het moment dat ze zijn geconfigureerd naar beneden gaan.

Demo

Bij een interne beveiligingstest wordt er bij Onvio vaak gebruik gemaakt van het NPK – Hash Cracking Platform. Om te illustreren waar dit platform toe in staat is, kun je hieronder een voorbeeld resultaat zien. In de campagne is er voor slechts $2 een aantal van 50 hashes gecrackt op een totaal van 300 binnen 44 minuten. Ter vergelijking, met een custom set-up van een paar duizend euro duurt het uitvoeren van dezelfde campagne vaak veel langer en kost het bij voorbaat ook meer. Dit komt omdat er bij het NPK – Hash Cracking Platform geen opstartkosten zijn en er gebruik gemaakt wordt van de schaalbaarheid van AWS, waardoor campagnes effectief en zo efficiënt mogelijk ingezet kunnen worden.

Het NPK – Hash Cracking Platform is in staat dictionary attacks uit te voeren i.c.m. verschillende rulesets, maar kan ook een mask attack uitvoeren. Hiermee zijn feitelijk alle features van Hashcat toegankelijk.

Bekijk het NPK – Hash Cracking Platform project op Github.

Defensie

Hoe verdedig je jouw organisatie hier tegen?

Het gebruik van een sterke password policy wordt aanbevolen, zo voorkom je de kans dat een password hash eenvoudig gekraakt wordt. Hieronder is een overzicht te zien van de verschillende typen hashes met daarbij de snelheid dat een bepaalde lengte van een wachtwoord gekraakt wordt. Zoals je kan zien zijn er verschillende hash types, bijvoorbeeld NTLM en MD5, die tot aan 9 karakters binnen een dag gekraakt kunnen worden.

De standaard policy van een Active Directory is 8 karakters, wat betekent dat deze standaard veel te laag is. Op basis van de bovenstaande constatering kan geconcludeerd worden dat een wachtwoordbeleid minimaal 13 of 14 karakters moet hebben, omdat het zo simpelweg onmogelijk wordt om wachtwoord hashes te kraken. In onderstaande tabel zijn de aanbevolen requirements van PCI DSS, ASD en CIS te zien.

De aanbevolen norm voor een wachtwoordbeleid kan herleid worden uit de policy requirements van ASD of CIS.