Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

md5 ohne Brutforce

Diskussion: md5 ohne Brutforce im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Ich möchte jetzt mal genau wissen wie es damit aussieht. Anbieter von diverser Forensoftware behaupten md5, da es eine ...

Antwort
Alt 10.02.05, 19:26   #1 (permalink)
 
Registriert seit: 10.02.05
ToxicJetzt! Leistung: Facit NTK
Likes: 0
Standard md5 ohne Brutforce

Anzeige

Ich möchte jetzt mal genau wissen wie es damit aussieht. Anbieter von diverser Forensoftware behaupten md5, da es eine one-way-hash Funktion ist, dass es nicht rückzübersetzen ist außer mit Brutforce was ziemlich lange dauert bei einem "guten" Passwort.

Jedoch hat eben jemand in einem Forum behauptet er schafft jeden md5 Hash per Pre-Computing in maximal 9 Stunden zu "entschlüsseln", da md5 mittlerweile nicht mehr "sicher" ist.

Kann da was dran sein. Ich hab dem auf jeden Fall eben mal einen md5 Hash aus 100 Zeichen Müll inkl. Sonderzeichen gegeben

ToxicJetzt! ist offline   Mit Zitat antworten
Alt 10.02.05, 19:42   #2 (permalink)
 
Registriert seit: 15.10.04
sheepd Leistung: Facit NTK
Likes: 0
Standard

Ist nicht mein Gebiet, aber ich würde mal sagen, der Typ hat geprahlt.
sheepd ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 10.02.05, 20:10   #3 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

Stichwort: Rainbowcrack tables

ist zwar immer noch brute force, aber wesentlich schneller als "normales" bruteforce.
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 10.02.05, 21:20   #4 (permalink)
Themenstarter
 
Registriert seit: 10.02.05
ToxicJetzt! Leistung: Facit NTK
Likes: 0
Standard

Danke erstmal.

Also so wie ich das sehe wird der meinen Hash erstmal nicht knacken
ToxicJetzt! ist offline   Mit Zitat antworten
Alt 10.02.05, 21:25   #5 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
Zitat:
ist zwar immer noch brute force, aber wesentlich schneller als "normales" bruteforce.
Nein das stimmt so nicht.

Und zwar ist das ein "Time-Memory Trade-Off" Angriff.

Dabei werden alle möglichen Strings in eine Table geschrieben und die dazu gehörigen strings.
Möchte man Hash knacken, so wird der Hash in der Table gesucht und der dazugehörige String ausgegeben.
Dies ist natürlich schneller als Brute Force, aber:

Angenommen man nimmt 10 stellen Passwort, alphanumerisch (36 Zeichen), so gibt es 3× 10^15 mögliche Strings.

Jeder String hat 10 Byte und der Hash hat 16 byte, also 26 Byte pro Eintrag.

Das macht eine Tabellengröße von 7.8 × 10^16 Byte bzw. 70 940 Terrabyte.

Bei 12 Zeichen wären es 101 863 407 Terrabyte.

Ich möchte bezweifeln das jmd. schon eine so gigantische Festplatte besitzt.

Ergo wäre es nicht möglich eine Table für eine große Menge an Strings zu speichern. Abgesehen davon es dauert immer noch lange 10^15 Hashs zu überprüfen und eine 3 GB große Table zu generieren dauert über 15 Tage.

Wie du siehst, es hängt immer noch von der länge des Passwortes ab. Sofern das Passwort sicher genug ist, gibt es bisher keine öffentlich bekannte Möglichkeit das Passwort innerhalb eines Menschenlebens zu brechen.
Elderan ist offline   Mit Zitat antworten
Alt 10.02.05, 21:43   #6 (permalink)
Themenstarter
 
Registriert seit: 10.02.05
ToxicJetzt! Leistung: Facit NTK
Likes: 0
Standard

Dann sollte er es wohl nicht schaffen ein Passwort mit deutschen Umlauten zu knacken

Vielleicht hätte ja jemand Lust so ein Projekt zu starten. Wie sieht das eigentlich rechtlich aus? Darf man so eine Seite betreiben? Schließlich kann man doch nicht kontrollieren ob die Leute ihre eigenen Passwörter oder fremde wiederherstellen. Aber eigentlich sind sie mit dem Hash doch schon in Besitz der Passwörter ?(

Aber ich bezweifle, dass hier jemand einen Server mit einer Festplatte hat, die groß genug ist
ToxicJetzt! ist offline   Mit Zitat antworten
Alt 11.02.05, 09:28   #7 (permalink)
Senior Member
 
Registriert seit: 23.12.03
silenced Leistung: Facit NTK
Likes: 0
Standard

Das Password mit dem der Hash erzeugt wird ist egal.
Hauptsache der Hash ist identisch. Ergo wenn´s dumm läuft kann ich deinen 2000 byte langen Passphrase mit 2 Buchstaben knacken.
silenced ist offline   Mit Zitat antworten
Alt 11.02.05, 10:48   #8 (permalink)
Member of Honour
 
Registriert seit: 29.01.05
NeonZero Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von silenced
Das Password mit dem der Hash erzeugt wird ist egal. Hauptsache der Hash ist identisch. Ergo wenn´s dumm läuft kann ich deinen 2000 byte langen Passphrase mit 2 Buchstaben knacken.
Genau. Das ist auch ein stark verbreiteter Denkfehler, den viele machen: Sie halten den Hash für ein verschlüsseltes Passwort.

@ToxicJetzt!

Hier eine kurze Erklärung:

Zitat:
Original von Elderan
Angenommen man nimmt 10 stellen Passwort, alphanumerisch (36 Zeichen), so gibt es 3× 10^15 mögliche Strings.
Bei dem theoretischen Modell einer vollständigen Hash-Tabellen-Liste sind diese Strings für die Tabelle uninteressant. Um das zu verstehen, muß zunächst einmal klar sein, was ein Hash überhaupt ist: Ein Hash-Algorithmus bildet aus einem beliebig großen Wert einen Wert mit einer fest vorgegebenen Größe. Im Beispiel von Elderan ist der erzeugte Hash immer 16 byte groß ? egal ob das eingegebene Passwort 10, 100 oder halt nur 2 Zeichen lang ist. Damit eignet sich der Hash-Wert hervorragend als Prüfsumme in einer DB, in der man eine feste Größe pro Eintrag vorgesehen hat.

Niemand kann Anhand des Hash-Wertes den Ursprungswert (in diesem Fall das Passwort) zurückrechnen. Der Grund: Mehrere unterschiedliche Ursprungswerte können ein und denselben Hash-Wert bilden. Das bedeutet, dass es mehrere mögliche Zahlen und Buchstabenkombinationen gibt, die denselben Hash erzeugen und damit als gültiges Passwort erkannt werden. Solche gültigen ?Nebenpassworte? lassen sich gut mit Brute Force ermitteln (ohne Wörterbuch!).

In der Tabelle müssen demzufolge also ?nur? alle möglichen Hashes abgebildet werden, welche in die 16 Bytes hinein passen. Und dahinter benötigt man einfach >>eine<< (möglichst kurze) Zeichenkombination, welches eben diesen Hash erzeugt. So erhält man schnell ein >>gültiges<< Passwort für den Hash, welches sich allerdings mit hoher Wahrscheinlichkeit stark von dem Originalpasswort unterschiedet. Das ist aber egal, denn es ist gültig. Ein Nebenpasswort eben.

Das Problem: "nur" 16 Byte sind alles andere als "nur". Das ist viel zu groß, um mit den heutigen Mitteln eine Tabelle mit sämtlichen Kombinationsmöglichkeiten zu erstellen. Deshalb gibt es zum einen Teiltabellen mit Hashwerten beliebter Passworte (somit muß der Hash dafür nicht mehr berechnet werden) oder aber es gibt, wie Elderan beschrieben hat, Tabellen mit Passworten für eine bestimmte Anzahl von Zeichen. Darin wird für jede gültige Passwortkombination der Hash eingetragen (damit spart man sich ebenfalls die Berechnung). Allerdings hat er in seiner Berechnung die Großbuchstaben und Sonderzeichen unterschlagen. Bei einem 10 Zeichen langen Passwort dürften 70.940 Terrabyte für die Tabelle noch lange nicht reichen.

Zusammengefaßt kann man sagen, daß es nach den heutigen technischen Mitteln nur Hash-Tabellen gibt, welche nach "gut glück" ausgewertet werden können - alle Kombinationen sind dort nicht enthalten. Zumindest nicht für Tabellen ab 5 Zeichen langen Passworten, inkl. Sonderzeichen.

Bye, nz
NeonZero ist offline   Mit Zitat antworten
Alt 11.02.05, 18:30   #9 (permalink)
Themenstarter
 
Registriert seit: 10.02.05
ToxicJetzt! Leistung: Facit NTK
Likes: 0
Standard

Aber bei 100 Stellen mit allen Zeichen bräuchte er für Rainbow doch eine so große Tabelle, die auf keine Festplatte passt, weil es so viele verschiedene Kombinationen gibt und somit ist das Passwort sicher, oder?
ToxicJetzt! ist offline   Mit Zitat antworten
Alt 11.02.05, 18:52   #10 (permalink)
 
Registriert seit: 14.11.04
Kan00s Leistung: Facit NTK
Likes: 0
Standard

sagen wir mal so es ist relativ sicher.

Denn irgendwo gibt es bestimmt einen so großen Speicher allerdings werden die ihn glaube ich nicht für so etwas verwenden
Kan00s ist offline   Mit Zitat antworten
Alt 11.02.05, 21:45   #11 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
Zitat:
Niemand kann Anhand des Hash-Wertes den Ursprungswert (in diesem Fall das Passwort) zurückrechnen.
Nein das stimmt nicht ganz, das ist Ziel einer Hashfunktion.

Es gibt Hashfunktionen, z.B. md4, für die es eine Rückrechnung gibt.
Zwar muss nicht 100% das richtige PW bekommen, aber innerhalb kurzer Zeit bekommt man einen String der zum Einloggen ausreicht.

Quersummen sind praktisch auch simple Hashfunktionen.
Um die Quersumme 5 zurück zu rechnen kann ich z.B.
11111 als PW benutzen oder: 23 oder 41 etc.

Also es kann sein das man in Zukunft für MD5 sehr schnell Kollisionen für einen String findet => Passwort Hash kann nicht mehr sicher als Identifikation benutzt werden.

Zitat:
In der Tabelle müssen demzufolge also ?nur? alle möglichen Hashes abgebildet werden
Bei md5 gibt es 2^128 mögliche Hashwerte oder 10^38 Hashwerte.

Jeder davon nimmt 16 Byte (oder 128 Bit), das sind also 5,4× 10^39 Byte oder 4.95176016 × 10^27 [b]Tera[b]byte. Das ist eine Zahl mit 28 Stellen!!

Dazu kommt noch der String der auch im durchschnitt wieder 16 Byte wegnimmt, das wären dann 9.90352031 × 10^27 Terabyte

Außerdem neue Computer schaffen ca. 15 bis 20 Mio. Keys/Sek bei Brute Force, die Erstellung würde extrem viel länger dauern, denn bei Brute Force muss er die Hashs nur überprüfen, jetzt muss er noch den Hash+String in die Datei schreiben und natürlich vorher überprüfen ob es den Hash schon gibt.

Egal sagen wir, wir schreiben dennoch 15 Mio Keys/Sek dann würde es 7.19352205 × 10^23 Jahre dauern dieses File zu schreiben.

Das wäre 5.13823003 × 10^13 mal länger als es das Universum (ca. 14 Mrd. Jahre) gibt.

Noch mal zur Speichermenge:

In einem Gramm DNA könnte man den Inhalt von 1 Bio. CD's speichern, also 7 * 10^14 MB.

Diese DNA Festplatte müsste 1.48351339 × 10^19 Gramm oder 1.48351339 × 10^16 kg wiegen.

P.S. Falls ich Fehler in den Berechnungen gemacht habe bitte Melden. Kann momentan nur per Google rechnen


Noch mal ein andere Thread dazu:
Welche Zeichensätze für Passwort verwenden?
Letzter Beitrag ist auch nochmal eine Rechnung dazu.


Zitat:
Allerdings hat er in seiner Berechnung die Großbuchstaben und Sonderzeichen unterschlagen
Hab den Zeichensatz: a-z 0-9 benutzt da dieser Geläufig ist. Falls man 62 Zeichen (a-z A-Z 0-9) benutzt ist das noch gigantischer.

Zitat:
Aber bei 100 Stellen mit allen Zeichen bräuchte er für Rainbow doch eine so große Tabelle, die auf keine Festplatte passt, weil es so
MD5 "kürtzt" beliebig lange Texte auf eine Fest größe, 128 Byte bzw. 16 Byte.

Würde man alle 256 Zeichen benutzen, so würden sich die Passwörter mit einer größe > 16 wiederhohlen, das kann man aber nicht berrechnen.

So etwas nennt man Kollision und kann auch z.B. bei 2 Strings mit einer länge von 5 Zeichen auftreten. Die Wahrscheinlichkeit ist aber 1 zu 10^38 also pratisch "unmöglich".

Benutzt man 36 Striftzeichen (a-z 0-9) so müsste man ca. alle Strings mit 25 Stellen (8.08281277 × 10^3 speichern.
Dann hätte man eine gute Chance, eigentlich jeden Hash in der Table stehen zu haben.

Aber falls jmd. sehr große Tables hat, so dauert es auch wieder lange diese zu durchsuchen, aber längst nicht so lange wie neue zu erstellen.

Deswegen glaub ich sind Alphanumerische (a-z 0-9) Tabellen mit 7 Stellen ca. 20 GB groß, das nimmt dann aber expotentiell zu.

Also bis 7 Stellen kann man solche angelgen wenn man nichts zu tun hat, aber falls der User ein 10 Stellen Passwort mit Zahlen, groß+klein Buchstaben + evt. Sonderzeichen hat, wird es heutzutage unmöglich sein dieses Passwort zu knacken.

Also kann man sagen => die Sicherheit des Logins hängt nicht vom Hashalgorithmus ab, sondern vom Passwort.

Man sollte sich lieber über Fehler im System machen oder über Lauscher in der Leitung.

Zitat:
Jedoch hat eben jemand in einem Forum behauptet er schafft jeden md5 Hash per Pre-Computing in maximal 9 Stunden zu "entschlüsseln", da md5 mittlerweile nicht mehr "sicher" ist.
Dann soll er mal bitte: bd46d53b07bee367aefd7d3e90e61ec9

entschlüsseln. Das ist ein 12 Stellen string mit Zeichensatz: a-z 0 -9

Und als Angreifer weiß man nie wie lange und welchen Zeichen der User benutzt.
Elderan ist offline   Mit Zitat antworten
Alt 12.02.05, 02:16   #12 (permalink)
 
Registriert seit: 07.02.05
n00by Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von Elderan
Außerdem neue Computer schaffen ca. 15 bis 20 Mio. Keys/Sek bei Brute Force, die Erstellung würde extrem viel länger dauern, denn bei Brute Force muss er die Hashs nur überprüfen, jetzt muss er noch den Hash+String in die Datei schreiben und natürlich vorher überprüfen ob es den Hash schon gibt.
Echt? also ich hab ne 2 Ghz CPU und hab ~20/Sek?!
n00by ist offline   Mit Zitat antworten
Alt 12.02.05, 13:53   #13 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
Zitat:
Echt? also ich hab ne 2 Ghz CPU und hab ~20/Sek?!
Lol ich denke mal du hast ein Brute Force Angriff per Web auf ein Formular/htaccess/FTP gemacht.

Da wird die Key Rate vorallem durch die Bandbreite gedrosselt.

Aber wenn du den Hash hast, so können Programme versuchen den Hash lokal zu knacken.
Dabei müssen keine Daten per Internet gesendet werden

Ich habe einen 1,5Ghz und liege bei ~5,x Mio Keys/Sec.
Elderan ist offline   Mit Zitat antworten
Alt 13.10.05, 23:49   #14 (permalink)
 
Registriert seit: 21.03.05
P2X-738 Leistung: Facit NTK
P2X-738 eine Nachricht über ICQ schicken
Likes: 0
Standard

womit kann man denn am besten die hashwerte zurück lösen?
ich habe john the ripper, aber das dauert teilweise ewig
P2X-738 ist offline   Mit Zitat antworten
Alt 14.10.05, 08:51   #15 (permalink)
Member of Honour
 
Benutzerbild von SUID:root
 
Registriert seit: 04.09.04
SUID:root Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von Kan00s
sagen wir mal so es ist relativ sicher.

Denn irgendwo gibt es bestimmt einen so großen Speicher allerdings werden die ihn glaube ich nicht für so etwas verwenden
Selbst wenn es heute nicht soweit ist, dann doch in absehbarer Zeit.
Wenn ich zurück denke, an eine Zeit, sagen wir mal vor 10 Jahren:
PI, 133 Mhz, 16 MB Ram, 1,7 GB HD.

und das dann mit der heutigen Rechenleistung und der heutigen Speicherkapazität vergleiche, dann wird mir schwindlig.
Ich glaube, dass es nur noch eine Frage von einigen Jahren sein wird, bis wir genügend Rechenleistung besitzen um die Tables in einer vernünfitgen Zeit erstellen und speichern zu können.

root
SUID:root ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » md5 ohne Brutforce
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Buchstabensalat / Brutforce flame (Web-) Design und webbasierte Sprachen 10 18.01.06 13:57
Was tun ohne PC? Metrics Umfragen 2 08.07.05 19:13
mit www ohne www ?? FlasherMX Internet Allgemein 4 24.04.05 15:19
net send ohne msdos/ausführen / ohne installation bwb'ler Network · LAN, WAN, Firewalls 9 27.02.05 16:43
notebook ohne os? blueflash Hardware Probleme 2 17.03.04 09:17


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61