So verwenden Sie die besten Hacking-Tools von Linux

Linux- und Unix-basierte Betriebssysteme bilden den Kern der Bereiche Informationssicherheit, Netzwerksicherheit, Kryptographie usw. Sie werden mit einer Vielzahl von Tools für Cybersicherheitszwecke geliefert.

Schauen wir uns drei solcher Tools an: Aircrack-ng, Jack The Ripper und Radare2.

Aircrack-ng Suite

Die Aircrack-ng-Suite ist vielleicht das am weitesten verbreitete Set von Tools zum Erfassen von WLAN-Netzwerken und zum Erfassen von Passwörtern. Es soll drahtlose Netzwerkkennwörter des IEEE 802.11-Protokolls knacken, die größtenteils durch die Standards Wifi Protected Access (WPA) oder Wifi Protected Access 2 (WPA2) geschützt und durch die Authentifizierungsmethode Pre-Shared Key (PSK) authentifiziert werden.

Es bietet separate Programme zum Überwachen des Status von Netzwerkgeräten, Erfassen von Paketen und Speichern in Dateien, Knacken von Passwörtern usw.

Beachten Sie, dass das Knacken von WPA/WPA2 mithilfe von Kryptoalgorithmen von Forschern als nahezu unmöglich herausgestellt wurde. Daher ist der Weg, WPA/WPA2 durch Programme wie aircrack-ng zu knacken, Brute Force und erfordert ein Wörterbuch mit Passwörtern, um es zu knacken. Das heißt, es kann das Passwort nur knacken, wenn das Passwort ein Wörterbuchwort ist.

Sie können Aircrack-ng ganz einfach mit dem von packagecloud.io bereitgestellten Installationsskript auf Ihrem System installieren. Öffnen Sie das Terminal und führen Sie die folgenden Befehle basierend auf Ihrem Linux-Betriebssystemtyp aus.

Auf Debian-basierten Distributionen, führen Sie den folgenden Befehl aus:

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.deb.sh | sudo bash

Für Red-Hat-Paketmanager (RPM) führen Sie den folgenden Befehl aus:

curl -s //packagecloud.io/install/repositories/aircrack-ng/release/script.rpm.sh | sudo bash

Versuchen wir nun, das Passwort eines lokalen Wi-Fi-Netzwerks mit Aircrack-ng zu knacken.

Führen Sie zuerst das Kommando aus iwconfig um den Namen Ihrer drahtlosen Netzwerkschnittstelle zu finden.

iwconfig

Hier, wlp2s0 ist der Name meiner drahtlosen Schnittstelle. ESSID, d. h. der Netzwerkname ist „tmp“, was der Name des Wifi-Netzwerks ist, mit dem ich verbunden bin.

Wir werden die verwenden airmon-ng Befehl zum Starten einer Netzwerkmonitorschnittstelle auf wlp2s0.

sudo airmon-ng start wlp2s0

Suchen Sie nach der Zeile am Ende, um die Schnittstelle für den Monitormodus zu finden. Im obigen Beispiel ist es mon0. Wir beginnen jetzt mit dem Abfangen von Netzwerkpaketen, indem wir den Befehl ausführen airodump-ng an mon0.

sudo airodump-ng mon0 -w log

Es zeigt einen Monitor der Netzwerkpakete an, die von verschiedenen Netzwerken abgefangen wurden. Der -w log Teil dient zum Speichern der Netzwerkpakete in Protokolldateien. Das Präfix der Protokolldateien ist der nach -w angegebene Teil, in diesem Fall „log“.

Damit das Programm den Passphrase-Hash-Schlüssel abfangen kann, muss ein WPA-Handshake im Netzwerk stattfinden, d. h. ein Benutzer sollte versuchen, sich damit zu verbinden. Der Benutzer kann sein Wifi selbst trennen und sich wieder damit verbinden. In der oberen rechten Ecke wird nun angezeigt, dass ein WPA-Handshake abgefangen wurde.

Jetzt drücken Strg + C den Dump zu beenden. Sie können die generierten Protokolldateien im aktuellen Ordner sehen.

Der nächste und letzte Schritt besteht darin, aircrack-ng mit einem Wörterbuch auszuführen, um zu sehen, welches Wort mit dem abgefangenen Hash-Schlüssel aus dem Handshake übereinstimmt.

aircrack-ng log-01.cap -w tmpdict.txt 

Hier log-01.cap ist das Logfile, das von . generiert wurde airodump-ng Befehl und tmpdict.txt ist die Wörterbuchdatei. Mehrere große Wörterbücher sind online verfügbar, die hier heruntergeladen und verwendet werden können.

Um ein Zielnetzwerk auszuwählen, geben Sie die Indexnummer für das Netzwerk aus der auf dem Bildschirm angezeigten Netzwerkliste ein.

Wenn ein Schlüssel aus dem Wörterbuch gefunden wird, stoppt es und zeigt die folgende Meldung an.

Es ist offensichtlich, dass das Programm bei größeren Wörterbuchdateien mehr Zeit benötigt, da es nach jedem Eintrag im Wörterbuch sucht.

Wie bereits erwähnt, kann das Passwort nur geknackt werden, wenn es in der Wörterbuchdatei vorhanden ist. Die WPA-Sicherheit ist stark genug, dass die Verwendung eines Kryptoalgorithmus das Knacken von Passwörtern nicht ermöglicht. Daher empfiehlt es sich, auf Ihrem Wifi-Gerät ein starkes langes Passwort mit mehreren Sonderzeichen zu verwenden, damit keine Aktivitäten zum Knacken von Passwörtern erfolgreich sind.

John The Ripper

John the Ripper ist ein Tool zum Knacken schwacher Unix-Passwörter. Es ist ein sehr einfach zu verwendendes Tool, das für Passwortdateien aufgerufen wird. Es läuft in drei Modi.

Einspielermodus

Überprüft alle GECOS-Felder auf Passwort, d. h. auf Passwort in den Benutzerkontoinformationen prüfen; Benutzername, Vorname, Nachname usw.

sudo john --single /etc/shadow

Wortlistenmodus

Prüft das Passwort bei jedem Eintrag aus einer Wortlistendatei (Wörterbuch).

sudo john --wordlist=passlist.txt /etc/shadow

Hier lautet das Passwort des Benutzers „user3“ „admin“. John konnte es knacken, weil die Phrase „admin“ in der Datei passlist.txt vorhanden war.

Inkrementaler Modus

Prüfen Sie alle möglichen Kombinationen für einen konfigurierten Bereich. Standardmäßig werden alle Zeichen im ASCII-Zeichensatz und alle Längen von 0 bis 13 berücksichtigt. Es ist unnötig zu erwähnen, dass dieser Modus je nach konfiguriertem Bereich sehr lange dauern kann.

Die Konfiguration hierfür kann in . geändert werden /etc/john/john.conf Datei.

sudo john --inkremental /etc/shadow

Radar2

Radare2 (alias r2) ist ein Reverse-Engineering-Tool für Linux. Es kann eine ausführbare Binärdatei disassemblieren und debuggen, mit einer riesigen Liste von Optionen, um Daten zur Laufzeit zu manipulieren.

Sehen wir uns an, wie man ein sehr kleines C-Programm mit r2 zerlegt. Beachten Sie, dass für die Verwendung des Tools Grundkenntnisse in Assembler erforderlich sind.

Erstellen Sie zunächst ein kleines C-Programm in vim oder einem beliebigen Editor Ihrer Wahl.

/*test.c*/ #include int main() { int i = 0; printf("%d\n", i); 0 zurückgeben; }

Wie Sie sehen, speichert dieses Programm lediglich die Ziffer 0 in einer Variablen und greift auf die Variable zu, um sie zu drucken.

Wir werden nun das Programm kompilieren.

gcc test.c -o test

Im aktuellen Verzeichnis wird eine ausführbare Datei mit dem Namen „test“ erstellt. Führen Sie es aus, um die Ausgabe ‚0‘ zu sehen.

./Prüfung

Lassen Sie uns jetzt r2 installieren. Der Paketname in Ubuntu und ähnlichen Distributionen ist Radare2.

sudo apt installiere radare2

Notiz: Für ältere Ubuntu-Versionen (Version 14.04 und niedriger) müssen Sie verwenden apt-get sollte anstelle von verwendet werden geeignet.

Wir starten nun die r2-Eingabeaufforderung mit unserer ausführbaren Datei ‚test‘.

r2-Test

Um eine Liste der Unterbefehle zu erhalten, geben Sie ein ?. Z.B. um eine Liste der Unterbefehle für den Befehl zu erhalten ein, Eintreten ein?

ein?

Wir werden den Unterbefehl ausführen aa, die die komplette Binärdatei analysiert. Es wird nichts ausgegeben. Aber nachdem wir die Binärdatei analysiert haben, können wir die P? Unterbefehle, um den Code zu zerlegen.

Als nächstes gehen wir zum hauptsächlich Funktion des Programms. Jedes ausführbare C-Programm hat die hauptsächlich Funktion als Ausgangspunkt.

s main

Sie können sehen, dass das Präfix von Prompt die aktuelle Speicheradresse geändert hat, d. h. das Programm wird jetzt nach der Adresse der Funktion gesucht hauptsächlich.

Als nächstes verwenden wir den Unterbefehl pdf, die die Demontage einer Funktion ausgibt. Wir nennen es mit sym.main, das ist der Name der Hauptfunktion in Assembler.

pdf sym.main

Wie wir im obigen Screenshot sehen können, haben wir die vollständige Demontage unseres C-Programms. Wir können jetzt analysieren, was das Programm tut, indem wir die Assembly lesen.

Beispielsweise, mov dword [rbp-0x4], 0x0 ist die Zuweisung eines Wertes (0) an eine Speicherstelle rbp – Basiszeiger, 0x4 – Speichergröße, die für eine ganze Zahl benötigt wird.

Wir haben sym.imp.printf . aufrufen, die den Inhalt des Registers druckt eax, also der Wert 0.

Es gibt viele weitere Möglichkeiten, den Ablauf eines Programms in r2 zu manipulieren und zu debuggen. Sie können andere Optionen ausprobieren, die mit dem angezeigt werden ? Befehl. Um eine Protokoll- oder Disassemblierungsausgabe in einer Datei zu speichern, können Sie die Ausgabe wie folgt weiterleiten:

pdf main > main.s

Dies war der Überblick über einige der am häufigsten verwendeten Hacker-Tools unter Linux. Wenn Sie diese Seite hilfreich fanden, teilen Sie sie in Ihren bevorzugten Online-Communitys.