Ubuntu 14.04 Trusty Tahr
rarcrack ist ein Programm für die Kommandozeile, mit dem sich verlorengegangene Passwörter von komprimierten Dateiarchiven (momentan zip, rar, 7z) wiederfinden lassen. rarcrack nutzt dafür die Brute-Force-Methode, also stumpfes Ausprobieren, bei der alle möglichen Zeichenkombinationen systematisch durchprobiert werden.
Abhängig von der Länge des Passworts und der verwendeten Hardware kann das Finden von Passwörtern daher sehr lang dauern. Deswegen kann man das Programm auch als Lasttest zweckentfremden (siehe auch Benchmarks).
Rarcrack kann direkt aus den offiziellen Paketquellen installiert werden [1]:
rarcrack
mit apturl
Paketliste zum Kopieren:
sudo apt-get install rarcrack
sudo aptitude install rarcrack
Da rarcrack erst seit 14.04 in den Paketquellen zu finden ist, muss zur Installation auf ein "Personal Package Archiv" (PPA) [2] zurückgegriffen werden.
Adresszeile zum Hinzufügen des PPAs:
ppa:ole.wolf/rarcrack
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams ole.wolf zu entnehmen.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Nach dem Aktualisieren der Paketquellen erfolgt die Installation wie oben angegeben.
Rarcrack besitzt keine grafische Oberfläche. Die Steuerung funktioniert nur via Kommandozeilen-Optionen und eine für jeden Brute-Force-Vorgang angelegte Steuerungsdatei, in der die aktuelle Position und zum Durchprobieren vorgesehene Zeichen vermerkt sind.
Zum Starten des Programms [3] reicht im Normalfall folgender Befehl im Terminal [4]:
rarcrack DATEINAME
Beispielausgabe:
RarCrack! 0.2 by David Zoltan Kedves (kedazo@gmail.com) INFO: the specified archive type: rar INFO: cracking test.rar, status file: test.rar.xml Probing: '3' [0 pwds/sec] ...
Rarcrack versucht, das Dateiformat des Archivs selbst heraus zu finden. Wahlweise lässt sich dies auch mittels
rarcrack DATEINAME --type XXX
festlegen. Dabei muss XXX
entsprechend durch rar
, zip
oder 7z
ersetzt werden.
Sollte der verwendete Rechner über mehr als einen (physischen oder virtuellen) Prozessor-Kern verfügen, ist es sinnvoll, die Anzahl der verwendeten Threads analog zur Anzahl der für die CPU parallel handhabbaren Threads zu erhöhen. Dazu ist es zunächst nötig, die Anzahl der möglichen ausführbaren Threads zu ermitteln. Hierzu kann zum Beispiel der Befehl nproc
verwendet werden, der als Rückgabewert die Anzahl der verfügbaren Kerne ausgibt.
nproc
Die ermittelte Anzahl kann dann direkt als Grundlage für die Anzahl Y
der Threads dienen, die rarcrack zur Verfügung gestellt werden sollen:
rarcrack DATEINAME --threads Y
Je mehr Threads rarcrack zur Verfügung gestellt werden, desto größer ist die Anzahl der durchprobierten Passwörter pro Sekunde. Die derzeitige Obergrenze liegt bei 12 Threads (Version 0.2).
In dem Ordner, in dem das Archiv liegt, für das rarcrack das verlorene Passwort finden soll, legt das Programm eine Datei mit dem Namen DATEINAME.TYP.xml an, die folgende Struktur aufweist:
1 2 3 4 5 6 | <?xml version="1.0" encoding="UTF-8"?> <rarcrack> <abc>0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ</abc> <current>uU</current> <good_password></good_password> </rarcrack> |
Es empfiehlt sich, die Suche von rarcrack nach dem ersten Aufruf mit Strg + C abzubrechen, dann den Inhalt dieser Datei den eigenen Bedürfnissen entsprechend anzupassen und den Prozess abschließend erneut zu starten. Jede Information zu im Passwort verwendeten Zeichen und der Länge des gesuchten Passwortes kann eine teils enorme Zeitersparnis bedeuten.
Zwischen <abc>
und </abc>
sind alle Zeichen aufgelistet, die rarcrack beim Durchprobieren verwendet. Dieser Inhalt kann den eigenen Bedürfnissen angepasst werden. Wer sich zum Beispiel noch erinnert, dass das Passwort nur aus kleinen Buchstaben bestand, kann durch das Entfernen der Großbuchstaben die Suchzeit enorm verkürzt werden. Gleiches gilt für Passwörter ohne Ziffern.
Sollte hingegen noch bekannt sein, dass Sonderzeichen im Passwort enthalten sind, müssen diese hier hinzugefügt werden.
Zwischen <current>
und </current>
wird die aktuelle Position gespeichert, so das rarcrack die Suche an der Stelle fortgesetzt werden kann, an der es vorzeitig beendet wurde. Im obigen Beispiel wurde das Programm an der Stelle uU
gestoppt. Dieser Eintrag kann nach dem Stoppen manipuliert werden, um Passwörter unter einer gewissen Zeichenanzahl auszuschließen und somit Rechenzeit zu sparen.
Wenn bei dem obigen Beispiel bekannt ist, dass das Passwort mindestens 6 Stellen hat, kann eine Menge Zeit gespart werden, in dem uU
durch 000000
ersetzt wird. Wird das Programm erneut auf das zur XML-Datei zugehörige Archiv angewendet, beginnt es mit dem Probieren bei 000000. Dadurch werden in diesem Fall rund eine Milliarde unnötige Kombinationen übersprungen. Selbst bei modernerer Heim-PC-Hardware, die 2000 Passwörter pro Sekunde schafft, können so über 127 Stunden Rechenzeit, also mehr als fünf Tage, eingespart werden.
Auf manchen Systemen bricht rarcrack direkt nach dem Start ab und gibt folgende Meldung aus:
rarcrack --type zip test.zip RarCrack! 0.2 by David Zoltan Kedves (kedazo@gmail.com) INFO: the specified archive type: zip INFO: cracking test.zip, status file: test.zip.xml GOOD: password cracked: '0' GOOD: password cracked: '1'
Lösen lässt sich dieses Fehlverhalten durch die Deinstallation des Programmes unrar, mit dem rarcrack in Konflikt gerät. Dies lässt sich zum Beispiel über das Terminal bewerkstelligen.
sudo apt-get remove --purge unrar
Danach sollte rarcrack problemlos laufen.
Diese Revision wurde am 27. Juni 2014 20:53 von Heinrich_Schwietering erstellt.