Benutzerdefinierte Wortlisten erstellen und verwalten

Kali LinuxBeginner
Jetzt üben

Einleitung

In diesem Lab werden Sie die grundlegenden Techniken zur Erstellung und Verwaltung benutzerdefinierter Wortlisten mit Standard-Linux-Befehlszeilenprogrammen erkunden. Wortlisten sind entscheidend für verschiedene Cybersicherheits- und Datenverarbeitungsaufgaben, vom Brute-Force-Angriff auf Passwörter über das Fuzzing von Anwendungen bis hin zur Analyse von Textdaten. Sie lernen, wie Sie einfache Wortlisten generieren, mehrere Listen kombinieren, doppelte Einträge entfernen, sie alphabetisch sortieren und nach Länge filtern. Am Ende dieses Labs werden Sie ein solides Verständnis dafür haben, wie Sie Textdateien effizient manipulieren können, um maßgeschneiderte Wortlisten für Ihre spezifischen Bedürfnisse zu erstellen.

Erstellen einer einfachen benutzerdefinierten Wortliste

In diesem Schritt lernen Sie, wie Sie mit dem echo-Befehl und Umleitung eine einfache benutzerdefinierte Wortliste erstellen. Dies ist der einfachste Weg, eine Datei zu generieren, die einige Wörter enthält, jedes in einer neuen Zeile.

Navigieren Sie zuerst in Ihr Projektverzeichnis, falls Sie sich nicht bereits dort befinden:

cd ~/project

Erstellen Sie nun eine einfache Wortliste namens my_wordlist.txt mit einigen Wörtern:

echo -e "apple\nbanana\norange\ngrape" > my_wordlist.txt

Die Option -e aktiviert die Interpretation von Backslash-Escapes, und \n erzeugt eine neue Zeile. Das > leitet die Ausgabe in die angegebene Datei um, erstellt sie, falls sie nicht existiert, oder überschreibt sie, falls sie existiert.

Um den Inhalt Ihrer neu erstellten Wortliste zu überprüfen, verwenden Sie den cat-Befehl:

cat my_wordlist.txt

Sie sollten die folgende Ausgabe sehen:

apple
banana
orange
grape

Fügen wir als Nächstes weitere Wörter zur selben Wortliste hinzu, ohne den vorhandenen Inhalt zu überschreiben. Wir verwenden den Operator >> zum Anhängen.

echo -e "kiwi\nstrawberry\nblueberry" >> my_wordlist.txt

Überprüfen Sie den aktualisierten Inhalt:

cat my_wordlist.txt

Die Ausgabe sollte nun die neu hinzugefügten Wörter enthalten:

apple
banana
orange
grape
kiwi
strawberry
blueberry

Diese Methode ist nützlich, um schnell kleine, benutzerdefinierte Wortlisten zu generieren oder Einträge zu bestehenden hinzuzufügen.

Kombinieren mehrerer Wortlisten

In diesem Schritt lernen Sie, wie Sie den Inhalt mehrerer Wortlisten zu einer einzigen, konsolidierten Wortliste zusammenführen. Dies ist eine gängige Aufgabe, wenn Sie verschiedene Wortquellen haben, die Sie zusammenführen möchten.

Erstellen wir zunächst eine weitere kleine Wortliste namens additional_words.txt:

echo -e "melon\npeach\nplum" > additional_words.txt

Überprüfen Sie deren Inhalt:

cat additional_words.txt

Sie sollten Folgendes sehen:

melon
peach
plum

Nun werden wir my_wordlist.txt und additional_words.txt zu einer neuen Datei namens combined_wordlist.txt kombinieren. Wir verwenden den cat-Befehl, um die Dateien zu verketten und die Ausgabe umzuleiten.

cat my_wordlist.txt additional_words.txt > combined_wordlist.txt

Untersuchen Sie den Inhalt von combined_wordlist.txt:

cat combined_wordlist.txt

Die Ausgabe zeigt alle Wörter aus beiden Dateien in der Reihenfolge, in der sie verkettet wurden:

apple
banana
orange
grape
kiwi
strawberry
blueberry
melon
peach
plum

Diese Technik ist sehr flexibel und kann verwendet werden, um eine beliebige Anzahl von Wortlisten zu kombinieren.

Entfernen von Duplikaten aus einer Wortliste

Wortlisten enthalten oft doppelte Einträge, insbesondere nach dem Kombinieren mehrerer Quellen. In diesem Schritt lernen Sie, wie Sie diese Duplikate mit den Befehlen sort und uniq entfernen. Der Befehl uniq erkennt nur aufeinanderfolgende doppelte Zeilen, daher ist es entscheidend, die Datei zuerst zu sortieren.

Fügen wir absichtlich einige doppelte Einträge zu unserer combined_wordlist.txt hinzu, um dies zu demonstrieren.

echo -e "apple\nbanana\nmelon" >> combined_wordlist.txt

Zeigen Sie nun den Inhalt von combined_wordlist.txt an, um die Duplikate zu sehen:

cat combined_wordlist.txt

Sie werden feststellen, dass apple, banana und melon mehrmals vorkommen.

Um Duplikate zu entfernen, sortieren wir zuerst die Datei und leiten die Ausgabe dann an uniq weiter. Wir speichern das Ergebnis in einer neuen Datei, unique_wordlist.txt.

sort combined_wordlist.txt | uniq > unique_wordlist.txt

Untersuchen Sie nun unique_wordlist.txt:

cat unique_wordlist.txt

Die Ausgabe sollte nun nur noch eindeutige Einträge enthalten, alphabetisch sortiert:

apple
banana
blueberry
grape
kiwi
melon
orange
peach
plum
strawberry

Dies ist eine leistungsstarke Kombination von Befehlen zur Bereinigung von Wortlisten.

Eine Wortliste alphabetisch sortieren

Das alphabetische Sortieren einer Wortliste ist oft nützlich für die Organisation, bessere Lesbarkeit und als Voraussetzung für andere Operationen wie das Entfernen von Duplikaten (wie im vorherigen Schritt gezeigt). In diesem Schritt werden Sie explizit eine Wortliste sortieren.

Wir werden den Befehl sort auf unserer unique_wordlist.txt verwenden und die sortierte Ausgabe in sorted_wordlist.txt speichern. Obwohl unique_wordlist.txt bereits sortiert ist, demonstriert dieser Schritt den Befehl sort unabhängig.

sort unique_wordlist.txt > sorted_wordlist.txt

Zeigen Sie nun den Inhalt von sorted_wordlist.txt an:

cat sorted_wordlist.txt

Die Ausgabe sind die Wörter in alphabetischer Reihenfolge:

apple
banana
blueberry
grape
kiwi
melon
orange
peach
plum
strawberry

Der Befehl sort hat viele Optionen, wie z. B. -r für umgekehrte alphabetische Reihenfolge oder -n für numerische Sortierung. Zum Beispiel, um in umgekehrter Reihenfolge zu sortieren:

sort -r unique_wordlist.txt

Dies würde ausgeben:

strawberry
plum
peach
orange
melon
kiwi
grape
blueberry
banana
apple

Für dieses Lab werden wir bei der standardmäßigen alphabetischen Sortierung bleiben.

Eine Wortliste nach Länge filtern

Manchmal müssen Sie eine Wortliste basierend auf der Länge der Wörter filtern. Sie möchten zum Beispiel nur Wörter, die zwischen 5 und 8 Zeichen lang sind. In diesem Schritt verwenden Sie den Befehl awk, um Wörter nach ihrer Länge zu filtern.

Wir werden sorted_wordlist.txt filtern, um nur Wörter einzuschließen, deren Länge zwischen 5 und 7 Zeichen (einschließlich) liegt. Die Funktion length($0) in awk gibt die Länge der aktuellen Zeile (des Wortes) zurück.

awk 'length($0) >= 5 && length($0) <= 7' sorted_wordlist.txt > filtered_wordlist.txt

Inspizieren Sie nun den Inhalt von filtered_wordlist.txt:

cat filtered_wordlist.txt

Die Ausgabe sollte nur Wörter enthalten, die die Längenkriterien erfüllen:

apple
banana
orange
grape
melon
peach

Lassen Sie uns den awk-Befehl aufschlüsseln:

  • awk: Das Kommandozeilen-Dienstprogramm für die Textverarbeitung.
  • 'length($0) >= 5 && length($0) <= 7': Dies ist das awk-Programm.
    • length($0): Gibt die Länge der gesamten Zeile zurück ($0 bezieht sich auf die gesamte Zeile).
    • >= 5: Prüft, ob die Länge größer oder gleich 5 ist.
    • &&: Logischer UND-Operator.
    • <= 7: Prüft, ob die Länge kleiner oder gleich 7 ist.
    • Wenn die Bedingung wahr ist, gibt awk die Zeile standardmäßig aus.
  • sorted_wordlist.txt: Die Eingabedatei.
  • > filtered_wordlist.txt: Leitet die Ausgabe in eine neue Datei um.

Diese Filterfunktion ist sehr leistungsfähig, um Wortlisten für bestimmte Zwecke zu verfeinern.

Zusammenfassung

In diesem Lab haben Sie erfolgreich gelernt, wie Sie benutzerdefinierte Wortlisten mit verschiedenen wichtigen Linux-Kommandozeilen-Tools erstellen und verwalten. Sie haben damit begonnen, einfache Wortlisten mit echo und Umleitung zu generieren, dann mehrere Listen mit cat kombiniert. Sie haben die entscheidende Technik des Entfernens von Duplikaten durch die Kombination von sort und uniq gemeistert und das alphabetische Sortieren von Wortlisten geübt. Schließlich haben Sie awk verwendet, um Wortlisten basierend auf spezifischen Längenkriterien zu filtern. Diese Fähigkeiten sind grundlegend für jeden, der mit Textdaten arbeitet, insbesondere in der Cybersicherheit für Aufgaben wie Passwort-Cracking, Fuzzing und Datenanalyse. Sie haben nun eine solide Grundlage für die Manipulation und Verfeinerung von Wortlisten, um unterschiedlichen Anforderungen gerecht zu werden.