Hashcat Installation und System-Benchmark

LinuxBeginner
Jetzt üben

Einführung

Hashcat ist weithin als eines der schnellsten und fortschrittlichsten Tools zur Passwortwiederherstellung anerkannt. Es unterstützt eine Vielzahl von Hashing-Algorithmen und kann sowohl CPUs als auch GPUs nutzen, um den Prozess des Knackens von Passwörtern zu beschleunigen.

In diesem Lab durchlaufen Sie die grundlegenden Schritte für den Einstieg in Hashcat auf einem Linux-System. Sie lernen, wie Sie es mithilfe des Standard-Paketmanagers installieren, die erfolgreiche Installation überprüfen und – was am wichtigsten ist – einen Benchmark ausführen, um die Leistungsfähigkeit Ihres Systems zu verstehen. Dies ist ein entscheidender erster Schritt für alle, die sich für Penetrationstests, die Überprüfung der Systemsicherheit oder die Leistungsanalyse interessieren.

Am Ende dieses Labs werden Sie mit der Ersteinrichtung und Evaluierung von Hashcat vertraut sein.

Hashcat Installation mittels des apt Paketmanagers

In diesem Schritt installieren Sie Hashcat auf Ihrem Ubuntu-System. Wir verwenden den apt-Paketmanager, das Standardwerkzeug zur Verwaltung von Software auf Debian-basierten Linux-Distributionen wie Ubuntu.

Zuerst ist es eine gute Vorgehensweise, die Paketliste Ihres Systems zu aktualisieren, um sicherzustellen, dass Sie die neuesten verfügbaren Softwareversionen erhalten. Führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo apt update

Sie werden sehen, wie die Paketlisten aus den Repositories heruntergeladen werden.

Als Nächstes können Sie Hashcat installieren. Das Flag -y wird verwendet, um während des Installationsprozesses automatisch mit "Ja" auf alle Aufforderungen zu antworten, wodurch die Installation nicht-interaktiv wird.

sudo apt install hashcat -y

Das System wird nun Hashcat und seine Abhängigkeiten herunterladen und installieren. Sie sehen eine Ausgabe, die den Fortschritt der Installation detailliert beschreibt. Eine Beispielausgabe könnte wie folgt aussehen (die genauen Pakete und Versionen können variieren):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  hashcat-data ocl-icd-libopencl1
The following NEW packages will be installed:
  hashcat hashcat-data ocl-icd-libopencl1
0 upgraded, 3 newly installed, 0 to remove and XX not upgraded.
Need to get X,XXX kB of archives.
After this operation, XX.X MB of additional disk space will be used.
...
Setting up hashcat-data (X.X.X+ds1-1) ...
Setting up ocl-icd-libopencl1:amd64 (X.X.X-1) ...
Setting up hashcat (X.X.X+ds1-1) ...
Processing triggers for man-db (X.X.X-1) ...
Processing triggers for libc-bin (X.X.X-0ubuntu1) ...

Sobald die Eingabeaufforderung zurückkehrt, ist Hashcat auf Ihrem System installiert.

Hashcat-Installation mit 'hashcat --version' überprüfen

In diesem Schritt überprüfen Sie, ob Hashcat korrekt installiert wurde und von Ihrem Terminal aus zugänglich ist. Eine übliche Methode, um zu prüfen, ob ein Befehlszeilenwerkzeug installiert ist und funktioniert, besteht darin, nach seiner Versionsnummer zu fragen.

Führen Sie den folgenden Befehl aus, um die installierte Version von Hashcat anzuzeigen:

hashcat --version

Wenn die Installation erfolgreich war, gibt der Befehl die Versionsnummer der Hashcat-Binärdatei aus. Die Ausgabe sollte in etwa wie folgt aussehen:

vX.X.X

Das Anzeigen der Versionsnummer bestätigt, dass das Betriebssystem das Programm hashcat finden und ausführen kann.

Verfügbare Rechengeräte mit 'hashcat -I' auflisten

In diesem Schritt identifizieren Sie die Rechengeräte, die Hashcat für seine Operationen nutzen kann. Hashcat ist darauf ausgelegt, die parallele Verarbeitungsleistung moderner Hardware zu nutzen, einschließlich sowohl Zentralprozessoren (CPUs) als auch Grafikprozessoren (GPUs).

Um eine Liste aller kompatiblen OpenCL-Geräte auf Ihrem System anzuzeigen, können Sie das Flag -I (großes i) verwenden.

Führen Sie den folgenden Befehl aus:

hashcat -I

Dieser Befehl scannt Ihr System und listet alle Geräte auf, die es verwenden kann, zusammen mit deren Details. In dieser virtuellen Umgebung sehen Sie wahrscheinlich nur die CPU aufgelistet. Wenn Sie dies auf einem Rechner mit einer dedizierten Grafikkarte ausführen würden, würden Sie diese ebenfalls aufgelistet sehen.

Die Ausgabe wird ungefähr wie folgt aussehen:

hashcat (vX.X.X) starting...

OpenCL Info:
============

Platform ID #1
  Vendor  : ...
  Name    : ...
  Version : OpenCL X.X ...

  Device ID #1
    Type           : CPU
    Vendor ID      : XXX
    Vendor         : ...
    Name           : Intel(R) Xeon(R) ...
    Version        : OpenCL X.X ...
    Processor(s)   : X
    Clock          : XXXX MHz
    ...

Diese Informationen sind nützlich, um zu wissen, welche Geräte Hashcat verwenden wird, und um bei mehreren verfügbaren Geräten spezifische Geräte für eine Aufgabe auszuwählen.

Führen Sie einen System-Benchmark für MD5 mit 'hashcat -b -m 0' durch

In diesem Schritt führen Sie einen Benchmark durch, um die Leistung Ihres Systems für einen bestimmten Hash-Typ zu messen. Dies ist ein entscheidender Schritt, um zu verstehen, wie schnell Ihr System versuchen kann, Passwörter zu knacken.

Wir verwenden den integrierten Benchmark-Modus von Hashcat. Der Befehl verwendet zwei wichtige Flags:

  • -b oder --benchmark: Dies weist Hashcat an, seinen Benchmark-Modus anstelle einer tatsächlichen Crack-Sitzung auszuführen.
  • -m 0: Dies legt den zu benchmarkenden Hash-Typ fest. Die Zahl 0 entspricht dem MD5-Algorithmus. MD5 ist ein sehr verbreiteter und relativ schneller Hashing-Algorithmus.

Führen Sie nun den Benchmark-Befehl in Ihrem Terminal aus:

hashcat -b -m 0

Hashcat startet den Benchmark-Prozess. Es wird der angegebene Algorithmus (MD5) auf allen erkannten Geräten testen und die Geschwindigkeit melden. Der Vorgang kann eine Minute dauern. Die Ausgabe wird detailliert sein, aber der wichtigste Teil ist die Geschwindigkeitszusammenfassung am Ende.

hashcat (vX.X.X) starting in benchmark mode...

... (initialization messages) ...

Benchmark relevant options:
===========================
* Hash-Type: 0 (MD5)

... (device information) ...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

... (status updates) ...

Benchmark.Final:
================
* Hash-Type: 0 (MD5)

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

...

Warten Sie, bis der Benchmark abgeschlossen ist, bevor Sie mit dem nächsten Schritt fortfahren.

Die Zeile Speed.Dev.#1. zeigt die Leistung Ihres primären Geräts (in diesem Fall der CPU).

Interpretieren Sie die Benchmark-Geschwindigkeitsergebnisse

In diesem letzten Schritt analysieren wir die Ausgabe des Benchmarks, den Sie gerade ausgeführt haben. Dies ist ein konzeptioneller Schritt, bei dem keine neuen Befehle ausgeführt werden müssen.

Schauen Sie sich die Ausgabe des Befehls hashcat -b -m 0 aus dem vorherigen Schritt noch einmal an. Das wichtigste Informationselement ist die Zeile, die mit Speed beginnt.

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

Lassen Sie uns dies aufschlüsseln:

  • Speed.Dev.#1.: Dies bezieht sich auf die Geschwindigkeit des Geräts (Device) Nr. 1, das Sie in Schritt 3 identifiziert haben (wahrscheinlich Ihre CPU).
  • XXX.X MH/s: Dies ist die wichtigste Metrik. Sie steht für "Mega Hashes pro Sekunde". Ein Wert von 100.0 MH/s bedeutet, dass Ihr System 100 Millionen MD5-Hashes pro Sekunde berechnen und überprüfen kann. Je höher diese Zahl, desto schneller kann Ihr System einen Brute-Force- oder Wörterbuchangriff durchführen.
  • (XX.XXms): Dieser Wert gibt die Latenz oder die für einen Satz von Operationen benötigte Zeit an, was für die Leistungsoptimierung relevanter ist. Für einen grundlegenden Benchmark ist der Wert H/s der primäre Indikator für die Leistung.

Die angezeigte Geschwindigkeit ist spezifisch für den MD5-Algorithmus (-m 0). Wenn Sie einen komplexeren Algorithmus wie bcrypt (-m 3200) benchmarken würden, wäre die Geschwindigkeit dramatisch niedriger (gemessen in H/s oder kH/s anstelle von MH/s), da bcrypt absichtlich langsam in der Berechnung konzipiert ist.

Das Verständnis der Benchmark-Geschwindigkeit Ihres Systems ist unerlässlich, um die für eine Passwort-Cracking-Aufgabe benötigte Zeit abzuschätzen.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben dieses Lab zur Hashcat-Installation und zum Benchmarking erfolgreich abgeschlossen.

In diesem Lab haben Sie folgende Fähigkeiten erworben:

  • Installation des Hashcat-Tools auf einem Linux-System mithilfe des apt-Paketmanagers.
  • Überprüfung einer Softwareinstallation durch Abfrage ihrer Version.
  • Identifizierung der verfügbaren CPU- und GPU-Rechengeräte, die Hashcat nutzen kann.
  • Durchführung eines Systemleistungs-Benchmarks für einen spezifischen Hash-Algorithmus (MD5).
  • Interpretation der Benchmark-Ergebnisse, um die Fähigkeiten Ihres Systems zur Hash-Entschlüsselung zu verstehen.

Diese grundlegenden Fähigkeiten sind unerlässlich für jeden, der Hashcat zur Sicherheitsprüfung, Passwortwiederherstellung oder Systemleistungsbewertung einsetzen möchte. Sie sind nun bereit, fortgeschrittenere Funktionen von Hashcat zu erkunden.