Hack the Hash
Eines unserer Workshop-Themen ist „Password Security“, hier erklären wir unter anderem, wie wichtig es ist auf die Länge des Passwortes zu achten. Je mehr Zeichen ein Password hat, desto schwieriger kann es „errechnet“ werden. Ein Real-World-Example bekamen wir nun selbst bei einem Pentest zu spüren, den wir für einen Kunden durchgeführt haben.
Konkret: David ist bereits via Trojaner am Kundenrechner und scannt SPNs in der Domain. Er löst mit den „Kerberoast“ Tools ein Service Ticket, und extrahiert den darin enthaltenen Hashwert des Passwortes (wie genau das funktioniert, lernt ihr in unserem Advanced Hacking Workshop). Was machen wir nun mit dem Hash? Zurückrechnen geht ja nicht – aber man kann alle möglichen Passwortkombinationen durchprobieren, mit dem Hash vergleichen, und schauen ob man das Service-Passwort „errät“.
Los gehts!
Hashcat für Arme
Wir speisen den erbeuteten Hashwert ins Profi-Crack-Tool „HASHCAT“ und geben einige Rahmenbedingungen vor (zb Zeichenanzahl, Muster, etc..).
Am Lab-Notebook schaut der Versuch allerdings etwas….. traurig aus. Für ein 6-stelliges Passwort rechnet man noch gute 2 Stunden herum, aber bei 8 Stellen steigt die Zeit auf 40 Jahre an. Womit bewiesen wäre, dass diese 8 Stellen mehr als ausreichend sind, um ein „sicheres“ Passwort zu verwenden.
Doch damit geben wir uns nicht zufrieden! Ganz klar, ab zum nächsten Media Markt, einen Pack High-End GPUs einkaufen und eine Hashcrack-Workstation aufbauen.
Das Problem: Kostenpunkt über 10.000 €. Und was tut man dann mit diesem Monster, ausser wertvolle Zeit mit 3D-Games verbraten? (Wer jetzt „Bitcoin Mining“ sagt, verlässt bitte umgehend den Blog…. 🙂)
Hashcat für Profis
Viel einfacher und vor allem kosteneffizienter ist es, sich so eine Power-Workstation einfach zu mieten – und zwar in der AWS Cloud. Dort gibt es quasi auf Knopfdruck eine fertig vorinstallierte Kali Linux VM mit wahlweise 1, 8 oder 16 NvidiaK80 GPUs (P2-Tier) oder 1, 4 oder 8 Nvidia V100 GPUS (P3-Tier). Der Kostenpunkt hierbei dreht sich um Stundenweise gerade mal einen € bis hin zu 24€ für die High-End-Variante.
Die Hashcat-Zeiten sehen dann auf einmal sogar richtig brauchbar aus:
Hier ein paar Vergleichswerte:
P2.x (1x Nvidia k80) – $1/h
8 Stellen – 1 Jahr 67 Tage
7 Stellen – 5 Tage 22 Stunden
6 Stellen – 1 Stunde 50 Minuten
P3.2x (1x Nvidia V100) – $3/h
8 Stellen – 19 Tage
7 Stellen – 6 Stunden
6 Stellen – 5 Minuten
P3.8x (4x Nvidia V100) – $12.3/h
8 Stellen – 5 Tage 10 Stunden
7 Stellen – 1 Stunde 45 Minuten
6 Stellen – 1 Minute
(Die P3.18x Variante mit 8x Nvidia V100 haben wir nicht mehr getestet. Bei 8 Stellen schätze ich die Rechenzeit aber grob auf 2.5 Tage.)
Um den Bogen zum Eingangs erwähnten Password-Security Workshop zu spannen: es ist für ganz normale Consumer mittlerweile möglich, 8-Stellige Passwörter in 2-3 Tagen zu errechnen – für etwas weniger als 200€. Wer in der Verantwortung steht, sollte sich daher überlegen, eine Mindestlänge von mehr als 8 Zeichen in der Passwortrichtlinie zu setzen. Bei Service-Accounts ist die Verwendung von MSA / Group-MSA empfehlenswert oder der Einsatz eines Remote-Password-Changer Tools. Weitere Tipps und Tricks gibts in unseren Workshops!
In diesem Sinne: Hack on!
PS: Der hier im Artikel zu errechnende Hash war vom Typ „Kerberos 5 TGS-REP etype 23“. Andere Hashtypen, wie zb NTLM sind unter Umständen noch wesentlich schneller berechenbar. Es soll hier konkret gezeigt werden, wie „einfach“ es bereits geworden ist, tiefgehende Systemvorgänge (Kerberos Ticket Exchange) zu knacken.