Crunch Wordlist Tutorial

Aus Wardriving-Forum.de Enzyklopädie
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Was ist Crunch?

Mit Crunch lassen sich Bruteforce Wordlists erstellen, diese können individuell gestaltet und in vielen Szenarien eingesetzt werden. z.b. zum "Knacken" eines WPA/WPA2 Passwortes.


[Bearbeiten] Die Installation

Crunch läuft auf allen Linux-Distributionen.

Downloadlink: http://sourceforge.net/projects/crunch-wordlist/

Installation allgemein:

tar -xvf crunch-3.1.tgz
cd crunch3.1/
make && make install

Insallation Backtrack 5:

Crunch wurde im Repository von BT5 aufgenommen, somit ist die Installation mit "apt-get" möglich.
apt-get update
apt-get install crunch

[Bearbeiten] Übersicht der Optionen

-b bestimmt die maximale Größe der Datei in Bytes, so lässt sich die Wordlist aufteilen. Muss in kombination mit "-o START"benutzt werden.
-c Bestimmt die Anzahl der Zeilen in der der Wordlist. Auch hier muss "-o START" benutzt werden.
-e Stoppt das generieren der Wordlist bei einem definierten Passwort
-f Definiert den Pfad zu einer Zeichenliste (Standard ist /pentest/passwords/crunch/charset.lst
-i Invertiert die Ausgabe der Wörter von ltr(left-to-right) zu rtl(right-to-left) bsp. (aaa,aab,aac... zu aaa,baa,caa...)
-l Bestimmt welche Platzhalter als Sonderzeichen behandelt werden (@,%^)
-o Erstellen einer Datei (z.b. /Wordlists/Test.txt)
-p Permutationen der Eingabe
-q Permutationen von Wörterlisten
-r Wiederaufnehmen der Berechnung
-s von einer bestimmten Position starten
-t Zeichen bestimmen die "feststehen" (eine der wichtigsten Funktionen)
Platzhalter für Zeichenliste

  • @ -- Kleinbuchstaben (oder manuelle Vorgabe)
  • , -- Großbuchstaben
  • % -- Zahlen (0-9)
  • ^ -- Sonderzeichen (mit Leerzeichen)

-u Übergabe an andere Programme (z.b. Aircrack, Pyrit, Cowpatty usw.) verhindert 3 sek. Anzeige von Größe und Zeilen.
-z Komprimieren der Ausgabe Datei mit gzip,bzip2 oder lzma

[Bearbeiten] Hinweise

Die Erstellung der Wordlist kann innerhalb von 3 sek. nach Start abgebrochen werden! (Während Größe und Zeilenanzahl gezeigt werden)

Standardpfad in Backtrack 5: /pentest/passwords/crunch

Dieser Pfad wird in allen Beispielen verwendet.
Außerdem benutze ich Version 3.0.1 (da ich keine Lust habe neue Screenshots zu machen :) ) und in Version 3.1 nur die Option -e dazugekommen ist.

[Bearbeiten] Bedienung

[Bearbeiten] Allgemeine Bedienung

Um Crunch vom Rootverzeichnis aus zu starten gibt man folgendes ein:

/pentest/passwords/crunch/crunch [min länge] [max länge] [zu verwendende Zeichen] [Optionen]

Beispiele:

/pentest/passwords/crunch/crunch 8 8 abc + + \!\@\# -t TEST^%,@ -o Test.txt

So könnte es aussehen.
Anwendung.jpg

Ausgabe in der Shell
./crunch [min länge] [max länge] [zu verwendende Zeichen] [Optionen]

Ausgabe in eine Datei
./crunch [min länge] [max länge] [zu verwendende Zeichen] [Optionen] -o Dateiname.txt

Werden keine Zeichen angegeben, so werden automatisch Kleinbuchstaben benutzt
./crunch 4 4
Ohneangabe.JPG

Manuelle Angabe der zu verwendenden Zeichen
./crunch 4 4 0123456789abcDEF
Mitangabe.jpg

Um Sonderzeichen zu verwenden muss ein "Backslash" [\] vorangestellt werden
./crunch 4 4 \!\#\$\?\@
Sonderzeichen.jpg

[Bearbeiten] Aufteilen/Splitten nach Größe

Zum Aufteilen/Splitten benutzen wir die Option -b um die Größe der Ausgabedateien festzulegen. Hier muss -o START benutzt werden.

Die Größe kann in kb, mb, gb oder kib, mib, gib angegeben werden. kb, mb und gb (1KB = 1000 byte)
kib, mib und gib (1KB = 1024 byte)

Die Ausgabedateien werden nach dem ersten und letzten Eintrag in den Wordlists benannt.

Erstellen von Wordlists die nicht größer als 1 mb sind
./crunch 6 6 0123456789 -b 1mb -o START
Split.jpg

Erstellen von Wordlists die nicht größer als 1 gb sind
./crunch 6 6 0123456789 -b 1gb -o START

usw.

[Bearbeiten] Aufteilen/Splitten nach Zeilenanzahl/Wörteranzahl

Zum Aufteilen/Splitten benutzen wir die Option -c um die max. Zeilenanzahl/Wörteranzahl festzulegen. Hier muss -o START benutzt werden.

Die Ausgabedateien werden nach dem ersten und letzten Eintrag in den Wordlists benannt.

Erstellen von Wordlists mit max. 200000 Zeilen/Wörtern
./crunch 6 6 abcdefghij -c 200000 -o START
Splitzeilen.jpg

Erstellen von Wordlists mit max. 150000 Zeilen/Wörtern
./crunch 6 6 012456789 -c 150000 -o START

usw.

[Bearbeiten] Bestimmtes Ende

Mit der Option -e lässt sich, bei erreichen einer definierten Zeichenkette, die Generierung Beenden.

Bsp. ./crunch 4 4 0123 -e 3000

Im Beispiel ist die Generierung bei 3000 beendet. Ohne -e ginge es bis 3333

[Bearbeiten] Die Zeichenliste

Im Installationsverzeichnis befindet sich die Datei charset.lst. In dieser Liste befinden sich "Zeichenketten" die zur Generierung von Wordlists verwendet werden können. Somit braucht man die zu verwendenden Zeichen nicht mehr Manuell anzugeben.
Die Liste kann nach belieben verändert oder erweitert werden oder man erstellt eine neue.

Charset.jpg

Zum Aufrufen einer der "Zeichenketten" aus der Liste benutzten wir die Option -f den Namen der Liste und den Namen vor der entsprechenden Zeichenkette
Wordlist mit 6 Hexadezimalen Zeichen nur Kleinbuchstaben
./crunch 6 6 -f charset.lst hex-lower
Liste.jpg

[Bearbeiten] Invertieren

Um die Ausgabe von ltr zu rtl zu invertieren benutzen wir die Option -i

./crunch 6 6 -f charset.lst hex-lower -i

Invert.jpg

Info: Die ersten Zeichen werden immer als erstes verwendet!

./crunch 4 4 abcd --> erstes Wort in der Wordlist aaaa
./crunch 4 4 dcba --> erstes Wort in der Wordlist dddd

[Bearbeiten] Permutationen

Hier benutzen wir die Optionen -p und -q. Wer schon mal was von Anagrammen gehört hat kann sich denken um was es hier geht ;-)

Eine kleine Besonderheit ist das wir [Optionen] vor [zu verwendende Zeichen] schreiben müssen. [min länge] und [max länge] sind immer 1

Anagramme oder vertauschen von Zeichen in einem Wort/Zeichenkette mit der Option -p
./crunch 1 1 -p igel

Permut.jpg

Vertauschen von Wörtern/Zeichenketten mit der Option -p
./crunch 1 1 -p Hund Katze Maus

Worttausch.jpg

Alle Permutationen von Wörtern in einer Wordlist mit der Option -q
Als Beispiel habe ich einen Textfile angelegt mit 6 Wörtern und im Installationsverzeichnis von Crunch gespeichert.

Wordlist.jpg

./crunch 1 1 -q wordlist.txt

Wordlistpermut.jpg

Achtung! Nicht zu viele Wörter benutzen. Die Wordlist wird sonst sehr groß.

[Bearbeiten] Wiederaufnahme der Berechnung

Mit der Option -r lässt sich die Berechnung einer Wordlist wieder aufnehmen. Dazu muss exakt der Selbe Befehl eingegeben werden mit -r am Ende.
./crunch 8 8 0123456789 -o test.txt
Stop mit Strg+c und Wiederaufnahme mit -r
./crunch 8 8 0123456789 -o test.txt -r

Resume.jpg


[Bearbeiten] Start von Position X

Um die Berechnung bei einer bestimmten Zeichenkette zu starten benutzen wir die Option -s und kombinieren das mit -r (es könnte ja sein das die Liste zu groß wird, der Speicherplatz nicht reicht und man auf einer anderen Platte weiter machen muss ;-) )

Beim Erstellen einer Wordlist legt Crunch eine temporäre Datei an, mit dem Namen START. In dieser Datei schauen wir nach den letzten Einträgen, kopieren die Datei und benennen diese um.(Umbennen ist wichtig da die START Datei überschrieben wird)

Beispiel:

./crunch 8 8 0123456789 -o test.txt

  • stoppen mit Strg+c
  • schauen nach den letzten Einträgen in der START Datei

tail -n 2 START

  • kopieren und umbenennen der Datei

cp START weiter.txt

  • Wiederaufnahme vom letzten Eintrag

./crunch 8 8 0123456789 -s 52446694 -o test.txt

Startposition.jpg

Natürlich kann man auch einfach nur an einer bestimmten Position starten wenn man das möchte.

[Bearbeiten] Fixe Vorgaben

[Bearbeiten] Allgemeine Bedienung

Eine der wichtigsten Funktionen ist die Option -t. Damit lassen sich fixe Vorgaben machen. In den folgenden Beispielen wird das deutlicher.

Außerdem benutzen wir die Platzhalter @,%^

Nehmen wir an das Passwort hat 6 Zeichen, besteht nur aus Kleinbuchstaben und beginnt mit dog.
./crunch 6 6 -t dog@@@

Doganfang.jpg

Oder dog am Ende
./crunch 6 6 -t @@@dog

Dogende.jpg

Oder dog in der Mitte
./crunch 6 6 -t @@dog@

Dogmitte.jpg

Oder dog zu beginn gefolgt von Großbuchstaben, Zahlen und Sonderzeichen
./crunch 6 6 -t dog,%^

Dogsonder.jpg

Ok, vergessen wir den faulen Hund mal kurz und schauen uns nur die Platzhalter an.

[Bearbeiten] Platzhalter

Alle vier Platzhalter gemischt
./crunch 8 8 -t @@%%^^,,

Platzmix.jpg

Nur Kleinbuchstaben
./crunch 4 4 -t @@@@

Kleinbuchstaben.jpg

Nur Zahlen
./crunch 4 4 -t %%%%

Zahlen.JPG

Nur Großbuchstaben
./crunch 4 4 -t ,,,,

Großbuchstaben.jpg

Nur Sonderzeichen
./crunch 4 4 -t ^^^^

Sonderzeichenonly.JPG

Bauen wir den Hund mal mit ein und mischen alles.
./crunch 9 9 -t ^%@DoG^%@

Platzmix2.jpg

[Bearbeiten] Platzhalter definieren

Als nächstes definieren wir die Platzhalter etwas genauer. Wir brauchen ja nicht immer alle Zeichen aus der "Zeichenliste".
Dabei ist unbedingt die folgende Reihenfolge einzuhalten!

Kleinbuchstaben - Großbuchstaben - Zahlen - Sonderzeichen
./crunch 8 8 abcdef ABCDEF 123456 @#$%- -t @@,,%%^^

Platzdefinition.jpg

Möchte man nur bestimmte Platzhalter definieren, müssen die undefinierten durch ein + ersetzt werden.
./crunch 8 8 abcdef + 123456 + -t @@,,%%^^

Teildefinition.jpg

Der Platzhalter @ hat noch eine Besonderheit. Er übernimmt die Zeichen bei einer manuellen Eingabe.
./crunch 8 8 123abcDEF -t test@@@@

Besondererplatzh.jpg

[Bearbeiten] Leerzeichen

Um Leerzeichen zu verwenden, müssen die benutzten Zeichen in Anführungsstriche gesetzt werden.
./crunch 8 8 "123a bcDEF" -t test@@@@

Leerzeichen.jpg

[Bearbeiten] Sonderzeichen

Sonderzeichen muss auch hier ein "Backslash" vorangestellt sein
./crunch 8 8 123abcDEF\!\@\%\& -t test@@@@

Sonderzeichen2.jpg

Weitere Fälle mit Sonderzeichen
./crunch 4 4 -t 12\!@

Sonderzeichenbackslash.jpg

Das @ lässt sich leider nicht, wie oben gezeigt, mithilfe von "Backslash" schreiben.
Hier verwenden wir die Option -l
./crunch 4 4 -t 12\!@

Sonderat.jpg

[Bearbeiten] Telefonnummern

Es lassen sich auch sehr leicht Listen mit Telefonnummern erstellen ./crunch 11 11 -t 0321/%%%%%%

Telefonnr.jpg

[Bearbeiten] Piping/Übergabe

Die Ausgabe von Crunch kann auch direkt an andere Programme wie z.B. aircrack, pyrit, cowpatty usw. übergeben werden. Dazu benutzen wir die Option -u um die 3sek. Wartezeit abzuschalten und das Pipesymbol [|] (Alt Gr + >)

Beispiel für die Übergabe an aircrack
./crunch 8 8 -t %%%%%%%% -u | aircrack-ng -e SSID -w - /pathto/capfile.cap

Beispiel für die Übergabe an pyrit
./crunch 8 8 -t %%%%%%%% -u | pyrit -i - -r /pathto/capfile.cap -e ESSID attack_passthrough
Beispiel für die Übergabe an cowpatty
./crunch 8 8 -t %%%%%%%% -u | cowpatty -f - -r /pathto/capfile.cap -s SSID

[Bearbeiten] Komprimieren

Die Ausgabedatei/Wordlist lässt sich auch direkt packen. Dazu verwenden wir -z . Die unterstützten Formate sind gzip,bzip2,lzma. Dabei erreicht gzip die schwächste und lzma die stärkste Komprimierung
Beispiel:
./crunch 6 6 -f charset.lst lalpha -o wordlist.txt -z gzip
Zip.JPG

[Bearbeiten] Ende

Wer sich jetzt alles durchgelesen hat sollte in der Lage sein, auch ohne Englischkenntnisse, seine eigenen Wörterlisten zu erstellen.
Viel Spaß damit.
P.S. Wer denkt er könne sich jetzt eine vollständige Liste für die Fritzbox Standardpasswörter erstellen, den muss ich leider enttäuschen.
Fritzlist.jpg

Soviel Speicherplatz haben wohl die Wenigsten ;-)

[Bearbeiten] Quellen

http://adaywithtape.blogspot.com/2011/05/creating-wordlists-with-crunch-v30.html (Englisch)
http://sourceforge.net/projects/crunch-wordlist/