Einleitung
In diesem Lab werden Sie untersuchen, wie Sie die Leistung von hashcat, einem leistungsstarken Tool zur Passwortwiederherstellung, mithilfe seiner Workload-Profile optimieren können. Die Workload-Profile-Einstellung ermöglicht es Ihnen, den Ressourcenverbrauch von hashcat fein abzustimmen und ein Gleichgewicht zwischen roher Knackgeschwindigkeit und der allgemeinen Systemreaktionsfähigkeit herzustellen. Dies ist entscheidend, wenn Sie eine lang laufende Knackaufgabe auf einem Rechner durchführen müssen, der auch für andere Aktivitäten genutzt wird.
Sie werden lernen:
- Die verschiedenen Workload-Profile in
hashcatzu verstehen. - Eine grundlegende Leistungsbewertung (Baseline Performance Benchmark) zu etablieren.
- Die Profile "Low Power" und "High Performance" zu testen und zu vergleichen.
- Dieses Wissen auf ein praktisches Knackszenario anzuwenden.
Zweck von Workload-Profilen mit -w verstehen
In diesem Schritt lernen Sie die Option -w (oder --workload-profile) in hashcat kennen. Diese Option steuert das interne Workload-Management von hashcat und beeinflusst, wie stark es Ihre CPU und GPU belastet.
Es gibt vier Hauptprofile:
-w 1(Low Power): Minimiert die Ressourcennutzung. Das System bleibt sehr reaktionsschnell, aber die Knackgeschwindigkeit wird erheblich reduziert. Ideal für den Hintergrundbetrieb auf einer Workstation.-w 2(Default): Ein ausgewogenes Profil, das eine gute Leistung bietet und das System dabei vernünftig nutzbar hält.-w 3(High Performance): Maximiert die Knackgeschwindigkeit durch höhere Systemressourcennutzung. Das System kann träge werden.-w 4(Nightmare): Für dedizierte, hochoptimierte Knack-Rigs. Es treibt die Hardware an ihre absoluten Grenzen und kann auf Standardmaschinen zu Systeminstabilität oder Abstürzen führen.
Beginnen wir damit, die Hilfeinformationen für diese spezifische Option anzuzeigen. Dies ist eine gute Praxis, um die Funktionen jedes Befehlszeilentools zu verstehen.
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um die Beschreibung der Workload-Profil-Option im Hilfemenü von hashcat zu finden:
hashcat --help | grep "workload-profile"
Sie sollten eine Ausgabe sehen, die die Option -w und ihre verfügbaren Stufen beschreibt.
-w, --workload-profile | ## | Enable a specific workload profile. See below. | -w 3
Workload Profiles:
==================
## | Profile | Performance | Memory | Unattended | Base Tuning
-+-----------+-------------+--------+------------+-------------
1 | Low-Power | 10 % | 1/4 | No | -n 1 -u 1024
2 | Default | 90 % | 1/2 | No | -n 8 -u 256
3 | High-Perf | 100 % | Full | No | -n 64 -u 64
4 | Nightmare | 100 % | Full | Yes | -n 512 -u 32
Dies bestätigt die verschiedenen Profile und gibt einen Hinweis auf deren Auswirkungen auf Leistung und System-Tuning.
Benchmark ausführen, um eine Basislinie zu erstellen
In diesem Schritt erstellen Sie eine Leistungsbasislinie (Baseline). Eine Basislinie ist eine Standardmessung, die Sie als Referenzpunkt für Vergleiche verwenden können. Wir werden den integrierten Benchmark-Modus von hashcat mit seinen Standardeinstellungen (entspricht -w 2) ausführen.
Der Benchmark-Modus (-b) ermöglicht es hashcat, seine Leistung für verschiedene Hashing-Algorithmen zu messen, ohne dass Eingabe-Hash-Dateien benötigt werden. Wir werden speziell den MD5-Algorithmus testen, der durch die Modusnummer 0 (-m 0) gekennzeichnet ist.
Führen Sie den folgenden Befehl aus, um den Benchmark für MD5 zu starten:
hashcat -b -m 0
hashcat wird gestartet und testet die Leistung Ihres Systems für den MD5-Hash-Typ. Achten Sie genau auf die Ausgabe. Nach einigen Momenten wird eine Ergebnistabelle angezeigt. Sie sind an der Spalte Speed interessiert.
hashcat (v6.2.6) starting in benchmark mode
...
Hashtype: 0 - MD5
Speed.#1.........: 299.4 MH/s (46.38ms) @ Accel:128 Loops:256 Thr:64 Vec:1
...
Hinweis: Die angezeigte Geschwindigkeit (z. B. 299.4 MH/s) variiert je nach den Ressourcen der virtuellen Maschine. Wichtig ist, dass Sie sich diese Zahl merken. Dies ist Ihre Basislinienleistung mit dem Standard-Workload-Profil.
Testen des Low-Power-Profils mit -w 1
In diesem Schritt testen Sie das "Low Power"-Workload-Profil. Wie der Name schon sagt, ist dieses Profil darauf ausgelegt, die Systemressourcen zu schonen. Es ist die ideale Wahl, wenn Sie hashcat über einen längeren Zeitraum ausführen müssen, ohne Ihre Fähigkeit zu beeinträchtigen, den Computer für andere Aufgaben zu nutzen.
Wir werden denselben Benchmark wie im vorherigen Schritt ausführen, aber diesmal fügen wir das Flag -w 1 hinzu, um explizit das Low-Power-Profil auszuwählen.
Führen Sie den folgenden Befehl aus:
hashcat -b -m 0 -w 1
Auch hier wird hashcat seinen Benchmark für den MD5-Algorithmus ausführen. Beobachten Sie die Ausgabe und finden Sie den Wert für Speed.
hashcat (v6.2.6) starting in benchmark mode
...
Hashtype: 0 - MD5
Speed.#1.........: 37.8 MH/s (48.13ms) @ Accel:1 Loops:1024 Thr:1 Vec:1
...
Vergleichen Sie diese neue Geschwindigkeit mit der Basislinie, die Sie in Schritt 2 aufgezeichnet haben. Sie sollten feststellen, dass die Geschwindigkeit deutlich niedriger ist. Dies verdeutlicht den Kompromiss: Sie opfern rohe Leistung für eine bessere Systemreaktionsfähigkeit.
Testen des Hochleistungs-Profils mit -w 3
In diesem Schritt testen Sie das "High Performance"-Workload-Profil. Dieses Profil tut das Gegenteil des Low-Power-Profils: Es weist hashcat an, so viele Systemressourcen wie möglich zu nutzen, um die maximale Cracking-Geschwindigkeit zu erreichen. Dies ist das Profil, das Sie auf einer dedizierten Maschine verwenden würden, bei der die Leistung die einzige Priorität ist.
Lassen Sie uns den Benchmark erneut ausführen, diesmal mit dem Flag -w 3.
Führen Sie den folgenden Befehl aus:
hashcat -b -m 0 -w 3
hashcat wird den MD5-Benchmark mit den Hochleistungs-Einstellungen durchführen. Überprüfen Sie den Wert für Speed in der Ausgabe.
hashcat (v6.2.6) starting in benchmark mode
...
Hashtype: 0 - MD5
Speed.#1.........: 315.1 MH/s (43.80ms) @ Accel:64 Loops:64 Thr:64 Vec:1
...
Vergleichen Sie diese Geschwindigkeit sowohl mit der Basislinie (Schritt 2) als auch mit dem Ergebnis des Low-Power-Profils (Schritt 3). Sie sollten feststellen, dass dies die bisher höchste Geschwindigkeit ist, wahrscheinlich sogar schneller als das Standardprofil. Dies bestätigt, dass -w 3 erfolgreich die Geschwindigkeit gegenüber der Systemreaktionsfähigkeit priorisiert.
Vergleich von Leistung und Systemreaktionsfähigkeit
In diesem letzten Schritt fassen Sie Ihre Ergebnisse zusammen und wenden sie auf eine praktische (wenn auch einfache) Cracking-Aufgabe an.
Bisher haben Sie die folgende Beziehung beobachtet:
- Geschwindigkeit (
-w 1) < Geschwindigkeit (Standard) < Geschwindigkeit (-w 3)
Dies veranschaulicht deutlich den Kompromiss, der durch die Workload-Profile verwaltet wird. Nun verwenden wir das Hochleistungs-Profil, um den Sample-Hash zu knacken, der zu Beginn des Labs für Sie vorbereitet wurde. Das Verzeichnis ~/project enthält eine Hash-Datei sample.hash und eine Wörterbuchdatei wordlist.txt.
Wir werden den folgenden Befehl verwenden:
-m 0: Gibt den MD5-Hash-Typ an.-a 0: Wählt einen direkten Wörterbuchangriff (straight dictionary attack).sample.hash: Die Datei, die den zu knackenden Hash enthält.wordlist.txt: Die Datei, die potenzielle Passwörter enthält.-w 3: Das Hochleistungs-Profil, um das Ergebnis so schnell wie möglich zu erhalten.
Führen Sie den Befehl aus, um den Cracking-Prozess zu starten:
hashcat -m 0 -a 0 sample.hash wordlist.txt -w 3
Da sich das Passwort in unserer kleinen Wortliste befindet, wird hashcat es fast sofort finden. Die Ausgabe zeigt den geknackten Hash und das entsprechende Passwort.
...
Dictionary cache built:
* Filename..: wordlist.txt
* Passwords.: 4
* Bytes.....: 29
* Keyspace..: 4
81d38d4b393528b4c444097c69141559:labex
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 81d38d4b393528b4c444097c69141559
Time.Started.....: ...
Time.Estimated...: 0 secs
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 268.2 MH/s (0.01ms) @ Accel:64 Loops:64 Thr:64 Vec:1
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4/4 (100.00%)
Rejected.........: 0/4 (0.00%)
Restore.Point....: 3/4 (75.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: 123456 -> labex
Hardware.Mon.#1..: Temp: 48c Util: 98% Core:1800MHz Mem:3500MHz Bus:16
Started: ...
Stopped: ...
Die Schlüsselzeile ist 81d38d4b393528b4c444097c69141559:labex, die den ursprünglichen Hash gefolgt vom wiederhergestellten Passwort labex zeigt. Sie haben erfolgreich ein Workload-Profil verwendet, um eine Cracking-Aufgabe zu optimieren.
Zusammenfassung
Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben erfolgreich gelernt, wie Sie die Workload-Profile von hashcat zur Verwaltung von Leistung und Systemressourcen nutzen können.
In diesem Lab haben Sie:
- Den Zweck der Option
-wund ihrer verschiedenen Profile (-w 1,-w 2,-w 3) kennengelernt. - Den Benchmark-Modus (
-b) verwendet, um eine Basislinie zu erstellen und die Leistung unter verschiedenen Profilen zu messen. - Den direkten Kompromiss zwischen Cracking-Geschwindigkeit und Systemreaktionsfähigkeit beobachtet.
- Das Hochleistungs-Profil auf eine praktische Passwort-Cracking-Aufgabe angewendet.
Das Verständnis, wie man seine Werkzeuge optimiert, ist eine Schlüsselqualifikation für jeden technischen Fachmann. Sie können dieses Wissen nun anwenden, um die geeigneten hashcat-Einstellungen für jede Situation zu wählen, sei es maximale Geschwindigkeit auf einer dedizierten Maschine oder eine unauffällige Hintergrundaufgabe auf Ihrem persönlichen Arbeitsplatz.


