[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [sourceforge2:rarcrack:] {en} ist ein Programm für die Kommandozeile, mit dem sich verlorengegangene Passwörter von komprimierten Dateiarchiven (momentan [wikipedia:ZIP-Dateiformat:zip], [wikipedia:RAR_(Dateiformat):rar], [wikipedia:7z:]) wiederfinden lassen. rarcrack nutzt dafür die [wikipedia: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#Sonstiges:]). = Installation = Rarcrack kann direkt aus den offiziellen Paketquellen installiert werden [1]: {{{#!vorlage Paketinstallation rarcrack }}} = Bedienung = 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]: {{{#!vorlage Befehl 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] ... }}} === Archivformat === Rarcrack versucht, das Dateiformat des Archivs selbst heraus zu finden. Wahlweise lässt sich dies auch mittels {{{#!vorlage Befehl rarcrack DATEINAME --type XXX }}} festlegen. Dabei muss `XXX` entsprechend durch `rar`, `zip` oder `7z` ersetzt werden. === Rechenleistung === Sollte der verwendete Rechner über mehr als einen (physischen oder virtuellen) Prozessor-Kern verfügen, ist es sinnvoll, die Anzahl der verwendeten [wikipedia:Multithreading: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. {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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). == Steuerungsdatei == 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: {{{#!code xml 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ uU }}} Es empfiehlt sich, die Suche von rarcrack nach dem ersten Aufruf mit [[Vorlage(Tasten, ctrl+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. === Zeichenauswahl === Zwischen `` und `` 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. === Länge & Position === Zwischen `` und `` 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. = Problembehebung = 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. {{{#!vorlage Befehl sudo apt-get remove --purge unrar }}} Danach sollte rarcrack problemlos laufen. = Links = * [http://rarcrack.sourceforge.net/ Projektseite] {en} * [sourceforge:rarcrack:SourceForge] {en} * [http://barfoos.blogsport.eu/stumpfe-gewalt/ Stumpfe Gewalt] {de} - Blogbeitrag, 05/2014 * [youtube:EnsNgiIEY4I:Video mit Programmablauf] {en} #tag: Sicherheit, Shell