PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gibt es ein Programm um ein Truecrypt PW zu cracken von dem man nur Teile des PW weiß


Gast
2010-03-20, 22:42:38
Folgendes Problem, ich habe ein TC Volume das ich aber nicht mehr öffnen kann, weil ich den genauen Wortlaut des PW vergessen habe.

Aber ich kenne noch einzelne Bruchstücke des PW, nur weiß ich nicht mehr die genaue Anordnung davon und auch nicht welcher Buchtabe groß oder klein Geschrieben wird.
Desweiteren fehlen mir ca. 4-5 Zeichen komplett.

Dieses Wissen sollte die Suche nach dem PW bzw. das Cracken des PW deutlich eingrenzen, nur würde ich gerne wissen, ob es dafür schon irgendein Programm gibt dem ich die Bruchstücke mitteilen kann und das Programm dann selbst versucht das PW zu cracken.

Beispiel:
Wenn mein Passwort für das TV Volume folgendermaßen hieß:
Das_meinem+HAUS#IN*GarTeN78

Und ich z.B. nur noch folgende Worte weiß:
DAS
HAUS
MEINEM
GARTEN
IN
Eine beliebige Zahl der Ziffernlänge 2

Dann habe ich mehrere Unbekannte.
Zum einen die Verbindungen zwischen den Wörtern mit einem für Truecrypt zulässigen Sonderzeichen, dann die Anordnung der Wörter, die Groß & Kleinschreibung der Wörter und irgendeine Zahl von 1-99.

Das PW könnte also auch so lauten:
DAS*HAuS_meinem_garten#23iN
oder so:
In_HaUS_65-MEINEM_Garten#das



Das gesuchte Crackprorgamm soll nun aus diesen Bruchstücken PW bilden und diese auf das TC Volumen testen und dann abbrechen, sobald es erfolgreich war.
Durch die Kenntnis der Bruchstücke sollte die PW Suche und die dafür notwendige Zeit auf jedenfall deutlich einzugrenzen sein.
Kennt jemand so ein Progamm?

Gast
2010-03-20, 23:06:44
Nachtrag:


DAS
HAUS
MEINEM
GARTEN
IN
Eine beliebige Zahl der Ziffernlänge 2

Noch etwas.

Die einzelne Bruchstücke ergeben einzeln betrachtet also folgende Anzahl an Möglichkeiten:
DAS = 2^3 = 8 z.B. das, daS, dAs, dAS, Das, DaS, DAs, DAS
HAUS = 2^4 = 16
MEINEM = 2^6 = 64
GARTEN = 2^6 = 64
IN = 2^2 = 4
2. Stellige Ziffernfolge = 100

Diese 6 Strings können in 6! Varianten miteinander kombiniert werden.
Also:
6! = 720 Möglichkeiten


Truecrypt läßt nur folgende Zeichen zu:

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \\ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w k y z { | } ~


Die Sonderzeichen daraus sind also:

! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~

Inkl. Leerzeichen also 34 Zeichen.
Da im Passwort nur 5 Zeichen verwendet werden ergibt das also
34^5 = 45435424 Möglichkeiten
Da ich selbst aber weiß, daß ich einige Zeichen des möglichen Zeichenvorrats definitv nicht verwendet habe, kann ich die Zeichenmenge
auf mindestes die Hälfte eingrenzen.
Also nur:
17^5 = 1419857 Möglichkeiten


Diese 5 Sonderzeichen kommen ebenfalls in Unterschiedlicher Kombination zwischen den Strings vor.
Das macht also
5! = 120 Möglichkeiten



Insgesamt gibt es für das Passwort also:
(8+16+64+64+4+100)+720+1419857+120 = 1420953 Möglichkeiten

Per Hand ist es viel zu aufwendig, alle diese Möglichkeiten durchzuprobieren,
aber mit einem Programm sollte das sehr schnell und effizient machbar sein.


Wenn meine Berechnung einen Fehler enthält, dann sagt mir das bitte.

Gast
2010-03-20, 23:11:48
Kleine Korrektur:

Da ich selbst aber weiß, daß ich einige Zeichen des möglichen Zeichenvorrats definitv nicht verwendet habe, kann ich die Zeichenmenge
auf mindestes die Hälfte eingrenzen.
Also nur:
17^5 = 1419857 Möglichkeiten


Diese 5 Sonderzeichen kommen ebenfalls in Unterschiedlicher Kombination zwischen den Strings vor.
Das macht also
5! = 120 Möglichkeiten


Die Anordnung der 5 Sonderzeichen ist in der obigen 17^5 eigentlich schon enthalten, daher kann man die 120 aus der Rechnung streichen.



Daher gibt es für das PW nur:
(8+16+64+64+4+100)+720+1419857 = 1420833 Möglichkeiten

Neomi
2010-03-20, 23:42:40
Wenn meine Berechnung einen Fehler enthält, dann sagt mir das bitte.

Tut sie, abgesehen von dem was du schon entdeckt hast. Die Möglichkeiten pro Komponente mußt du miteinander multiplizieren, nicht addieren. Du kannst ja nicht die Korrektheit von Teilen des Passwortes prüfen (dann wäre jedes Passwortsystem hinfällig), sondern nur das gesamte Passwort.

Ein passendes Tool kenne ich nicht. Aber falls Truecrypt per Kommandozeile mounten kann und entsprechende Fehlercodes zurückliefert, kannst du dir ein passendes Tool selbst recht schnell basteln. Programmierkenntnisse vorausgesetzt natürlich.

Edit:
Vorausgesetzt, deine Möglichkeiten pro Komponente stimmen, ergeben sich 214391228203008000 Möglichkeiten, also für sämtliche Rechner der Welt zusammen nichtmal im Ansatz schaffbar. Wenn du dich in der Schreibweise und Reihenfolge (z.B. "in" immer vor "garten") der Wörter teilweise festlegen, die zweistelligen Zahlen auf wenige Kandidaten reduzieren und die verwendeten Sonderzeichen nochmal drastisch kürzen kannst, könntest du mit viel Glück evtl. eine Chance haben.

Gast
2010-03-21, 01:45:33
Tut sie, abgesehen von dem was du schon entdeckt hast. Die Möglichkeiten pro Komponente mußt du miteinander multiplizieren, nicht addieren.

Ja, du hast Recht den Fehler habe ich übersehen. Danke für den Hinweis.




Ein passendes Tool kenne ich nicht. Aber falls Truecrypt per Kommandozeile mounten kann und entsprechende Fehlercodes zurückliefert, kannst du dir ein passendes Tool selbst recht schnell basteln. Programmierkenntnisse vorausgesetzt natürlich.

Ja, das sollte gehen.
Truecrypt kann auch via Kommandozeile mounten und gibt auch entsprechend Fehlercodes zurück.

Problematisch ist nur, daß er jedes TC bekannte Verschlüsselungsverfahren
durchprobiert, denn TC weiß ja nicht, ob für das Volume TOWFISH, AES oder irgendetwas anderes verwendet wurde.
Die Rechenzeit also bei 3 Verschlüsselungsverfahren mindestens verdreifacht, da TC aber noch Kombinationen daraus kennt, dauert's noch länger. :(
Ideal wäre, wenn man TC sagen könnte, welches Verschlüsselungsverfahren er überprüfen soll.







Edit:
Vorausgesetzt, deine Möglichkeiten pro Komponente stimmen, ergeben sich 214391228203008000 Möglichkeiten, also für sämtliche Rechner der Welt zusammen nichtmal im Ansatz schaffbar.


Liegt der eigentliche Flaschenhals in der Rechenpower oder im Festplattenzugriff?
Mein Truecrypt Volume ist ca. 18 GB groß, das ist noch zuviel für eine RAMdisk, denn mein Rechner hat nur 8 GB und eine SSD habe ich noch nicht.
Kann man eventuell einen zum Prüfen des PW relevanten Teil aus dem TC Volume extraieren, so daß ich hier nur mit ein paar MB hantieren müßte?
Ein Backup des TC Volume Headers habe ich leider nicht und extrahieren kann man den mit Truecrypt selbst leider erst, wenn man das Passwort weiß.

Falls der Festplattenzugriff kein Flaschenhals ist.
Wieviele Kombinationsmöglichkeiten schafft ein heutiger Rechner (z.B. Core2Duo @ 2 GHz) denn so in sagen wir mal 1 h Rechenzeit?
Und wieviel bringt ein 2. Rechenkern?
Wenn man die vielen möglichen Kombinationen in einer PW Liste speichert, dann müßte das ganze ja auf mehrere CPU Kerne parallelisierbar sein.

Und könnte man das ganze unter Verwendung von OpenCL noch irgendwie beschleunigen? Eignen sich dafür GPUs?
Ich hätte hier nämlich noch ne Geforce 8800.





Wenn du dich in der Schreibweise und Reihenfolge (z.B. "in" immer vor "garten") der Wörter teilweise festlegen, die zweistelligen Zahlen auf wenige Kandidaten reduzieren und die verwendeten Sonderzeichen nochmal drastisch kürzen kannst, könntest du mit viel Glück evtl. eine Chance haben.
Ja, da sollten noch ein paar weitere Eingrenzungen möglich sein.

Gast
2010-03-21, 01:47:13
Mein Truecrypt Volume ist ca. 18 GB groß, das ist noch zuviel für eine RAMdisk, denn mein Rechner hat nur 8 GB

Es sollte heißen, mein Rechner hat nur 8 GB RAM und der kann leider auch nicht weiter ausgebaut werden. Der Chipsatz läßt nicht mehr zu.

PatkIllA
2010-03-21, 11:13:18
Vorausgesetzt, deine Möglichkeiten pro Komponente stimmen, ergeben sich 214391228203008000 Möglichkeiten, also für sämtliche Rechner der Welt zusammen nichtmal im Ansatz schaffbar.Also das könnte man schon noch ausprobieren
2^56 hat man schon vor Jahren durch Brute Force mit verteiltem Rechnen geknackt.
http://www.heise.de/newsticker/meldung/56-Bit-Verschluesselung-geknackt-9372.html
Mit allen heutigen Rechnern wäre das ruckzuck durch. Wenn du noch Grafikkarten hinzunimmst kann man das auch mit nem kleinen Cluster zu Hause machen.

Neomi
2010-03-21, 18:24:20
OK, "sämtliche Rechner der Welt" könnten das dann wohl schon schaffen. Dazu gibt es aber ein paar Dinge zu beachten:

1. Es sind mehr als doppelt so viele Möglichkeiten, wobei das alleine nicht für viel Luft sorgt.
2. Aus den möglichen Passwörtern müssen die Schlüssel erstmal generiert werden, bei 56 Bit Verschlüsselung konnte man die Schlüssel direkt testen.
3. 256 Bit Verschlüsselung (oder was auch immer der Container nutzt) wird für einen Test deutlich länger benötigen als eine vergleichsweise simple 56 Bit Verschlüsselung.

Insgesamt dürfte der Aufwand gleich ein paar Größenordnungen über dem genannten Rekord liegen. Selbst wenn GPUs bei der Schlüsselgenerierung genutzt werden können, dürfte das momentan ein gewaltiges Problem ergeben.

PatkIllA
2010-03-21, 18:27:43
Das ist alles lediglich ein fester Faktor und zumindest aus komplexitätstheoretischer Betrachtung fast irrelevant.

Neomi
2010-03-21, 18:41:28
2^256 ist auch nur ein verdammt großer Faktor (und zwar 2^200) gegenüber 2^56. ;)

Ich weiß ja, was du meinst, und du hast auch Recht. Aber trotzdem kann ein Faktor, wenn er groß genug ist, gehörig die Suppe versalzen.

Gast
2010-03-22, 05:55:50
Also das könnte man schon noch ausprobieren
2^56 hat man schon vor Jahren durch Brute Force mit verteiltem Rechnen geknackt.
http://www.heise.de/newsticker/meldung/56-Bit-Verschluesselung-geknackt-9372.html
Mit allen heutigen Rechnern wäre das ruckzuck durch. Wenn du noch Grafikkarten hinzunimmst kann man das auch mit nem kleinen Cluster zu Hause machen.

Aber kein heutiger Rechner ist so schnell wie mehrere 1000 Pentium 90 CPUs:


Um die mit 56 Bit verschlüsselten Daten zu knacken, ließen mehrere tausend Anwender ihre über das Internet verbundenen PCs seit Februar an dieser Aufgabe rechnen -- und hatten Glück: Sie mußten lediglich ein Viertel der möglichen 72 Billiarden Schlüsselkombinationen ausprobieren. Die richtige Lösung fand Michael Sanders aus Salt Lake Citty mit einem Pentium-90.


Höchstens vielleicht sagen wir mal 100 mal so schnell.
Außerdem haben die damals für die Berechnung 4 Monat benötigt.

Coda
2010-03-22, 05:59:43
Aber kein heutiger Rechner ist so schnell wie mehrere 1000 Pentium 90 CPUs:
Aber sicher. Nennt sich GPU.

Gast
2010-03-22, 07:59:07
Aber sicher. Nennt sich GPU.
Bitte den Kontext beachten:


Mit allen heutigen Rechnern wäre das ruckzuck durch. Wenn du noch Grafikkarten hinzunimmst kann man das auch mit nem kleinen Cluster zu Hause machen.


Bei der Behauptung wurde die GPU also außen vor gelassen.

PatkIllA
2010-03-22, 09:15:09
Mit allen meinte ich die Summe und nicht einen einzelnen.

Gast
2010-03-23, 21:36:28
Problematisch ist nur, daß er jedes TC bekannte Verschlüsselungsverfahren
durchprobiert, denn TC weiß ja nicht, ob für das Volume TOWFISH, AES oder irgendetwas anderes verwendet wurde.

Das ist egal, das Passwort verschlüsselt nur den Truecrypt-Header. Dort stehen dann alle relevanten Daten, wie Verschlüsselungsverfahren, natürlich der Schlüssel für die eigentlichen Daten und alles was sonst noch notwendig ist um das Volume einzubinden.

Das beantwortet auch schon deine spätere Frage, ob unbedingt das gesamte File in den RAM muss.

Das muss es natürlich nicht, um das Passwort herauszufinden muss einzig der Header entschlüsselt werden. Kann man den Header entschlüsseln weiß man auch das Passwort.

Der Header von Truecrypt hat eine Größe von 64k, passt also sogar vollständig in den Cache, damit können auch Speicherzugriffe nicht limitieren.

Über die Kommandozeile wirst du nicht weit kommen, aber ein Programm zu schreiben, welches das Problem recht Effizient löst dürfte sehr einfach sein.

Die Lösung ist zum größten Teil bereits im Sourcecode von Truecrypt enthalten. Du bräuchtest lediglich den Teil der die Volumes einbindet. Den fütterst du dann mit deinem Header und lässt alle Möglichkeiten durchlaufen, bis das richtige Passwort gefunden wird.

Gast
2010-03-24, 05:56:36
Das muss es natürlich nicht, um das Passwort herauszufinden muss einzig der Header entschlüsselt werden. Kann man den Header entschlüsseln weiß man auch das Passwort.

Der Header von Truecrypt hat eine Größe von 64k, passt also sogar vollständig in den Cache, damit können auch Speicherzugriffe nicht limitieren.


Wie kommst du an den Header?


Selbst TC läßt es nachträglich nicht zu den Header zu extraieren ohne vorher das ganze Ding zu entschlüsseln bzw, zu enlocken.

PatkIllA
2010-03-24, 09:52:08
Den Header kann man mit beliebigen Tools extrahieren, die die Festplatte direkt ansprechen. Bei Filecontainern ist es noch einfacher.

Gast
2010-03-24, 11:30:36
Wie kommst du an den Header?


Im einfachsten Fall mit einem Hexeditor.

Gast
2010-03-24, 23:43:45
Im einfachsten Fall mit einem Hexeditor.

Ach wäre hätte das gedacht, mit nem Hexeditor unglaublich!


Wenn du mir jetzt noch sagst, an welcher Stelle ich den Header im Hexeditor genau rauskopieren kann, dann hast du bewiesen, daß du doch kein Troll bist.
TC benützt nämlich übrigens Salt.

Gast
2010-03-25, 00:16:00
Kennt jemand so ein Progamm?

Nö. Gibs net.

<Frage beantwortet, Thread zu ;)>

Gnafoo
2010-03-25, 01:27:51
Ach wäre hätte das gedacht, mit nem Hexeditor unglaublich!


Wenn du mir jetzt noch sagst, an welcher Stelle ich den Header im Hexeditor genau rauskopieren kann, dann hast du bewiesen, daß du doch kein Troll bist.
TC benützt nämlich übrigens Salt.

Ich antworte mal für den Gast: die ersten 512 Byte ab Offset 0 dürften reichen, um das korrekte Passwort an der Checksumme (Offset 72) zu erkennen. Für ein hidden Volume nimmt man Offset 65536. Allerdings braucht man trotzdem noch ein Programm um die Passwörter am Header durchzuprobieren.

Welchen Unterschied soll der Salt hierbei machen?

http://www.truecrypt.org/docs/volume-format-specification

Gast
2010-03-25, 22:22:19
Ach wäre hätte das gedacht, mit nem Hexeditor unglaublich!


Wenn du mir jetzt noch sagst, an welcher Stelle ich den Header im Hexeditor genau rauskopieren kann, dann hast du bewiesen, daß du doch kein Troll bist.
TC benützt nämlich übrigens Salt.

Kann man in der Truecrypt-Spezifikation nachlesen.

http://www.truecrypt.org/docs/?s=volume-format-specification

booomups
2010-03-27, 04:07:12
http://securityvision.ch/download.php?view.27

das tool funktioniert...

aber um es sinnvoll zu benutzen brauchst du noch eine "wordlist", also eine .txt datei mit allen möglichen passwörtern.

ein gutes gratis tool hab ich leider nicht gefunden, aber es gibt gute kommerzielle software.... welche auch über torrentsites oder emule mit den stichworten password generator, wordlist generator, password cracker, password recovery etc zu finden sind.

sehr brauchbar sieht folgendes aus:
http://www.kristanixsoftware.com/passwordgenerator/


gerngeschehen gerngeschehen...

ich glaube mich zu erinnern dass auf meinem dualcore 2ghz und einer neuen 3.5 zoll festplatte gingen etwas zwischen 1000-10000 versuche pro stunde.... weiss es nicht mehr genau.

Gast
2010-03-27, 15:49:56
aber um es sinnvoll zu benutzen brauchst du noch eine "wordlist", also eine .txt datei mit allen möglichen passwörtern.

Mit den gegebenen Passwortmöglichkeiten wäre die wordlist ca. 5000000 TB, also ist das völlig undenkbar.

Selbst wenn er irgendwo den Speicherplatz dafür hätte, bräuchte er um die Liste zu speichern und wieder zu lesen ca. 130000 Jahre (mit einer Transferrate von 150MB/s gerechnet)

Wenn das auch nur halbwegs Effizient laufen soll muss der Container und die Passwortblöcke komplett in den Cache und die Passwörter zur Laufzeit zusammengesetzt werden.

Pinoccio
2010-03-27, 16:16:31
Mit den gegebenen Passwortmöglichkeiten wäre die wordlist ca. 5000000 TB, also ist das völlig undenkbar.

Selbst wenn er irgendwo den Speicherplatz dafür hätte, bräuchte er um die Liste zu speichern und wieder zu lesen ca. 130000 Jahre (mit einer Transferrate von 150MB/s gerechnet)

Wenn das auch nur halbwegs Effizient laufen soll muss der Container und die Passwortblöcke komplett in den Cache und die Passwörter zur Laufzeit zusammengesetzt werden.5000000 TB sind auch mit Cache nicht schaffbar. Selbst aus dem L1-Cache wären zum Lesen mehrere Jahre nötig.

mfg

Gast
2010-03-28, 16:44:52
kann man in die wordlist.txt dann nicht die segmente, die man kennt reinschreiben und der pc kombiniert die dann in allen möglichkeiten?

booomups
2010-03-29, 22:28:09
kann man in die wordlist.txt dann nicht die segmente, die man kennt reinschreiben und der pc kombiniert die dann in allen möglichkeiten?

eine .txt datei ist einfach eine textdatei... wie .doc oder .rtf

mit z.B http://www.kristanixsoftware.com/passwordgenerator/

kannst du eine txt datei erzeugen, die alle passwörter basierend auf den teilen die du kennst, enthält.

einfacher geht es momentan, glaub ich, mit keinem program

Gast
2010-03-30, 14:20:58
5000000 TB sind auch mit Cache nicht schaffbar. Selbst aus dem L1-Cache wären zum Lesen mehrere Jahre nötig.



Muss es auch nicht, es gibt ja auch noch Register, so dass nicht bei jedem Versuch das gesamte Passwort aus dem L1 gelesen werden muss.


Aber selbst wenn jedes das gesamte Passwort gelesen werden muss, kommt man mit 250GB/s an Cache-Bandbreite auf ca. 230 Tage.

Mit 50%iger Wahrscheinlichkeit findet man nach der Hälfte der Möglichkeiten das gesuchte Passwort, würden also 115 Tage machen.

Wohlgemerkt nur zum Zusammensetzen der Passwörter, diese müssen natürlich auch noch getestet werden, was auch seine Zeit braucht. Mit ausreichender Parallelisierung könnte man das Passwort wohl in halbwegs brauchbarer Zeit (innerhalb eines Jahres) finden.

Gast
2010-03-30, 14:30:11
mit z.B http://www.kristanixsoftware.com/passwordgenerator/

kannst du eine txt datei erzeugen, die alle passwörter basierend auf den teilen die du kennst, enthält.

einfacher geht es momentan, glaub ich, mit keinem program

Bringt dir aber nichts wenn du 214391228203008000 potentielle Passwörter hast die jeweils um die 25bytes lang sind.

enjoy2
2010-03-31, 01:32:29
http://www.golem.de/1003/74189.html

könnte helfen, ist aber nicht günstig

PS: über den Nachteil drüber gelesen, das Laufwerk muss anscheinend gemountet sein, dann wird es für dich nichts bringen

Gast
2010-03-31, 13:20:41
http://www.golem.de/1003/74189.html

könnte helfen, ist aber nicht günstig


Das Bringt überhaupt nichts, das Programm ließt einfach den Schlüssel aus dem RAM aus, dazu müsste er aber erstmal im RAM stehen.