|
Allgemein :
John the Ripper ist ein
Password-Crack-Programm, das beispielsweise per DES (Data Encryption
Standard) verschlüsselte Passwörter entschlüsseln
kann. (Linux und Unix Passwörter werden standardmäßig per DES
verschlüsselt). Das Passwort darf allerdings maximal 8 Zeichen lang sein. Da
die zum decrypten benötigte Zeitspanne stark von der Geschwindigkeit des
Prozessors abhängt sollte man darauf achten,
die für den verwendeten Prozessortyp optimierte Programmdatei zu verwenden.
Im Unterverzeichnis /run des john-16
Ordners findet man dazu neben der standard john.exe Datei auch noch zwei
Ziparchive in denen sich eine für MMX und eine für K6 optimierte
Programmdatei befinden. Zum verwenden der ensprechenden Version, entpackt
man diese in das /run Verzeichnis und überschreibt die
vorhandene john.exe Datei.
Die Funktionsweise von John beruht darauf, die definierten Möglichkeiten (je
nachdem in welchem Mode John gestarted wird,
single;wordlist;incremental;external) auch beispielsweise per DES zu
verschlüsseln und dann mit dem zu entschlüsselnden Passwort zu
vergleichen. Stimmen die Passwörter im verschlüsselten Zustand überein, so
müssen sie
auch im entschlüsselten Zustand übereinstimmen, da ja das selbe
Verschlüsselungsverfahren (DES) verwendet wurde.
Zu beachten ist noch, dass bei den
meisten Servern heutzutage die Passwörter nicht mehr in der (meistens
zugänglichen) passwd-File sondern in der
(meistens nicht zugänglichen) shadow-Datei gespeichert werden.
Modes :
-Single Mode :
In diesem Mode versucht John die in der Password-Datei gespeicherten
GECOS-Informationen (General Electric Comprehensive Operating System) , dass
sind persönliche Daten zu jedem User wie z.B. Name, Telefonnummer ect, als
Passwort einzusetzen. Falls die Daten in der passwd geshadowed wurden (shadowing
ist eine Sicherheitsmaßnahme der neueren Linux/Unix Versionen, die bewirkt,
dass die Passwörter aus der passwd entfernt werden und stattdessen in der
shadow Datei gespeichert werden), werden zwar die Passwörter in der
shadow-Datei gespeichert, aber die GECOS-Infos befinden sich noch immer in
der passwd. In diesem Fall hilft das Programm Unshadow, dessen Programmdatei
unshadow.exe sich mit im /run Ordner befindet. Dieses Programm führt die
passwd und die shadow Datei zusammen, sodass sowohl die Passwörter als auch
die GECOS-Informationen wieder in der gleichen Datei enthalten sind. Dieser
Mode ist natürlich nur dann effektiv, wenn die User auch ihre persönlichen
Informationen als Passwort verwenden. Allerdings ist dieser Mode auch sehr
schnell, weshalb man ihn nicht unterschätzen sollte. Die Effektivität dieses
Modes steigt mit der Anzahl der in der Password-Datei enthalten User, da er
die GECOS-Informationen jedes Users bei allen anderen Usern auch als
mögliches Passwort überprüft.
-Wordlist Mode :
Die Effizienz dieses Modes hängt komplett von der Größe und vor allem von
der Qualität der verwendeten Wordlist ab. So kann man server- bzw.
adminspeziefische Wordlists erstellen und damit die
Erfolgswahrscheinlichkeit erhöhen, da man sämtliche zur Verfügung stehenden
Informationen benutzen
kann; und genau darin liegt die Stärke dieses Modes. Da es unwahrscheinlich
ist das z.B. die passwd eines australischen Servers deutsche Passwörter
enthält, kann der deutsche Teil der Wordlist in einem solchen Fall erstmal
weggelassen werden. Die Wordlist muss dabei so aufgebaut sein, dass in jeder
Zeile nur eine Zeichenfolge steht. Auch sollte darauf geachted werden, dass
die Wordlist beispielsweise alphabetisch sortiert ist, da John ein wenig
schneller arbeitet wenn aufeinaderfolgende Wörter oder Zeichenfolgen sich
nicht allzu stark voneinander unterscheiden (es gibt Programme die beim
Verwalten von Wordlists helfen, indem sie beispielsweise mehrere Listen
zusammenügen, diese alphabetisch ordnen oder doppelte Einträge entfernen).
-Incremental Mode :
Dies ist Johns mächtigster Mode. Er kann jedes existierende Password,
unabhängig davon ob es aus Buchstaben, Sonderzeichen, Zahlen oder
Kombinationen besteht, decrypten indem er sämtliche möglichen Kombinationen
überprüft. Diese Methode wird auch Brute-Force genannt. Hierbei ist
allerdings zu beachten, dass die zum decrypten benötigte Zeitspanne
(abhängig von Prozessorleistung, Passwortlänge und der im Passwort
verwendeten Zeichen) sehr groß sein kann.
-External Mode:
Dieser Mode ist eher für die erfahrenen Benutzer ausgelegt, da er
vollständig konfiguriert werden muss. Durch das definieren der Parameter
hinter
[LIST.EXTERNAL:MODE] in der john.ini Datei, wird ein komplett neuer,
individueller Mode erstellt. Dadurch wird es vor allem den Benutzern, die
mit
John schon Erfahrungen gemacht haben, ermöglicht einen Mode ihren
persönlichen Bedürfnissen anzupassen.
Die Befehle :
Hier die wichtigsten Befehle:
john -single dieser Befehl started John im Single-Mode
john -i dieser Befehl started John im Incremental-Mode
john -w:namederwordlist dieser Befehl started John im Wordlist-Mode
john -e:MODE dieser Befehl started John im External-Mode unter Verwendung
der bei LIST.EXTERNAL: definierten MODE Eigenschaften
john dieser Befehl lässt John zuerst den Single- dann den Wordlist und
schließlich noch den Incremental-Mode durchlaufen
john -show dieser Befehl zeigt die decrypteten Passwörter an
Hinter jedem dieser Befehle muss noch
die Passwort-Datei angegeben werden.
Der Befehl john (ohne Zusatz) listed alle verfügbaren Parameter auf.
Die Password Datei :
In dieser Datei müssen die zu entschlüsselnden Passwörter mit dazugehörigem
Benutzernamen enthalten sein. Sie müssen durch einen Doppelpunkt getrennt
nach dem Schema USERNAME:PASSWORD gespeichert sein. Wieviele socher
Paarungen in der Datei gespeichert sind ist
nicht relevant, es muss nur beachted werden dass jeweils nur ein
USERNAME:PASSWORD-Paar pro Zeile steht. Die Passwörter dürfen auch nicht
geshadowed sein, sondern müssen zum Decrypten im normal verschlüsselten
Zustand sein (Bsp: geshadowed= john:x oder john:* ; verschlüsselt=
john:Gjstv0eYjOEhc). Falls der Single-Mode verwendet werden soll, müssen
auch noch die GECOS-Informationen sowie der Pfad des Userverzeichnisses
dahinterstehen (Bsp: john:OozDCtCCAa/lM:11202:0:99999:7:0::).
Die Bedienung :
Anhand eines Beispiels wird nun der Vorgang beim decrypten nochmals genau
beschrieben.
Im Beispiel wird davon ausgegangen, dass sich die John.exe Datei im
Verzeichnis C:johnjohn-16 un befindet. Im gleichen Verzeichnis befinden sich
auch die Password-Datei mit dem Namen pwd1.txt und die Wordlist-Datei mit
dem Namen wordlist.txt. Der Inhalt der Password-Datei ist in diesem Fall:
john:OozDCtCCAa/lM
John funktioniert NUR vom Dos-Modus
oder von der Eingabeaufforderung aus. Also startet man die
Eingabeaufforderung und wechselt ins C:johnjohn-16 un Verzeichnis. Da man
nichts konkretes über den Server bzw. Admin weiss, started man eine
Standard-Attacke. In diesem Fall ist der Single-Mode zwar nutzlos, aber
Wordlist- und Incremental-Mode werden die Arbeit übernehmen.
Man benutzt also den Befehl:
john pwd1.txt
Nach einem Druck auf die Entertaste bestätigt John mit der Meldung:
Loaded 1 password (Standard DES [48/64 4K])
und beginnt seine Arbeit.
Nun wartet man bis John sich selbst beendet. Das geschieht wenn er die
Passwörter aus der Passwordfile decrypted hat, oder die zugewiesenen Modes
erfolglos durchlaufen wurden. In unserem Beispiel wird er sich beenden
nachdem er das
Passwort decrypted hat, da zumindest der Incremental-Mode Erfolg hat.
Im Beispiel beendet sich John nach
einer Weile und mit dem Befehl:
john -show pwd1.txt
lassen wir uns das entschlüsselte Passwort anzeigen. In diesem Fall gibt
John folgende Meldung aus:
john:ripper
1 password cracked, 0 left
Damit ist der Crackvorgang erfolgreich abgeschlossen!
|