Autor Beitrag
Mindforce
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 358

Win XP Pro / MCE, Win 98, Slax (Linux)
Delphi 07 PRO, Delphi 3+7 (mit Prdx)
BeitragVerfasst: So 24.05.09 01:01 
Hallo Community,

ich stehe seit langen in meinen Gedanken auf dem Thema MD5.
Aber ich lass das klein-getue mal weg und komme gleich auf den Punkt :)

Ist es nicht möglich, einen MD5 Hash innerhalb von maxinmal einen Monat (z.B.: ca. 6 Zeichen Passwort) zu knacken?

Man macht z.B. folgendes:

Edit1.text = Das verschlüsselte Passwort (in diesem Fall: Origninal PW hat 6 Zeichen).
Nun probiert mein Delphitool alle Zeichen durch, macht daraus ein MD5 Hash und vergleicht mit edit1.text.

Beispiel: a (Hash nicht richtig - weiter) b (...) -dann sind wir iwann bei:- ab (..), ac (...), ad, (...)
Bis man schließlich bei dem richtigen Passwort angelangt ist. Man probiert halt jede Kombination durch.
Und einen MD5 Hash zu erstellen, fällt meinem 2x3,8 GHz Prozessor nicht besonders schwer.

Entweder bin ich jetzt Ober-Hacker und gewinne den Nobellpreis oder ich habe etwas entscheidenes übersehen.


Ich hoffe Ihr könnt meine "Frage" verstehen. Ich schreibe immer zu verinnerlicht :D


Herzliche Grüße:

-Mindforce

_________________
Our force; in mind.
Flitzs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 123
Erhaltene Danke: 7

Win7 x64/86 WinServer 2008 R2 x64
C#/C++/C VS2010
BeitragVerfasst: So 24.05.09 01:19 
Hey

Hört sich nach Brute Force an.

Ist halt nur bei einem unsicheren Passwort (z.B. keine Sonderzeichen/Zahlen und kurz) in einer sinnvollen Zeitspanne möglich.

mfg Flitzs
Mindforce Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 358

Win XP Pro / MCE, Win 98, Slax (Linux)
Delphi 07 PRO, Delphi 3+7 (mit Prdx)
BeitragVerfasst: So 24.05.09 01:26 
Gut, nennen wir es Brute-Force-Suche

Zitat:
Der natürlichste und einfachste Ansatz zu einer algorithmischen Lösung eines Problems besteht darin, einfach alle potenziellen Lösungen durchzuprobieren, bis die richtige gefunden ist.


Aber ich verstehe nicht, wieso dies so Rechenaufwendig ist?!

So wie ich das mir logisch zusammenrechne (und wieviel so ein Prozessor kann), denke ich mal, dass ein normales Passwort leicht zu entschlüsseln ist. Beispiel: /"j9H)r98h

Das ist ja einfach stumpfes durchprobieren. Nach meiner Berechnung 79^10 (79 = Anzahl der möglichen Zeichen; 10 = Anzahl Zeichen des Passworts). Also insgesamt 9.468.276.082.626.847.201 Kombinationen, wenn ich mich nicht irre.

Ich schätze, dass das maximal einen Monat dauert oder nicht?

Bitte korrigiert mich, wenn ich was falsch schreibe hier ;)

-Mindforce


//EDIT: Ok, jetzt da wo ich noch etwas diese Zahlen bestaunt habe ist mir doch aufgefallen, dass sie etwas "brutal" klingt. Sagt mir, dass ich mich Irre :D


Aber nehmen wir jetzt mal an, dass wir ein normales Passwort nehmen. Wie z.B. ein Namen eines guten Freundes "Xxxxx" oder "xXxX". Was immerhin mit Groß- und Kleinbuchstaben auf 30.840.979.456 Kombinationen herunterkommt. Dies denke ich aber mal, ist für einen Prozessor in maximal einen Monat berechenbar... Oder? :lol:

_________________
Our force; in mind.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 24.05.09 01:39 
Du darfst aber z.B. nicht vergessen, dass im Allgemeinen eher gesalzene Hashes usw. verwendet werden. Und da ist das dann schon nicht mehr so einfach. ;-)
de.wikipedia.org/wiki/Salted_Hash
Ganz viel zu dem Thema kann sicher user profile iconBenBE sagen. :mrgreen:

Ach ja: meine Passwörter kannst du per Brute Force niemals so schnell knacken. :mrgreen:


Zuletzt bearbeitet von jaenicke am So 24.05.09 01:40, insgesamt 1-mal bearbeitet
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: So 24.05.09 01:40 
Je einfacher das Passwort ist, desto schneller bekommt man es raus, ja.

Um die genaue Zeitspanne zu ermitteln kannst du ja mal deinen Rechner rechnen lassen und gucken, wieviele md5-Summen er pro Sekunde vergleichen kann ;)
Mindforce Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 358

Win XP Pro / MCE, Win 98, Slax (Linux)
Delphi 07 PRO, Delphi 3+7 (mit Prdx)
BeitragVerfasst: So 24.05.09 01:42 
Gut, danke für die Antworten :)

War für mich schonmal ein guter Anfang, mich mit MD5 und jetzt anderen Hashes auseinanderzusetzen.

Eine gute Nacht noch ;)

-Mindforce

//EDIT: @jfheins: Hat jaenicke ergänzt :D
//EDIT2: @jaenicke: Gut, das sagt schonmal alles aus.. Aber das werde ich auch mal überprüfen, ob das der Wahrheit entspricht :D Nur zum Test.

Danke an euch alle :)

_________________
Our force; in mind.


Zuletzt bearbeitet von Mindforce am So 24.05.09 01:45, insgesamt 2-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 24.05.09 01:43 
Zur Geschwindigkeit:
www.timwarriner.com/software/md5brute.html hat folgendes geschrieben:
To try every combination of the (English) lowercase alphabet for words up to 8 letters in length can take over 35 hours on a P4 2.8Ghz HT. To try uppercase letters at the same time would take over a year. This program shows why it is a good idea to use a mixture of uppercase and lowercase letters with punctuation.
...
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 24.05.09 02:09 
Hier fehlt mindestens noch das Thema Rainbow-Table, wodurch 99% der Passwörter unter Verwendung von so 2-4 GB RAM in unter einer Minute knackbar sind (geht sowohl Salted als auch Unsaltet, kommt nur auf die Vorbereitungszeit an).

Zudem: MD5 ist schon seit Jahren geknackt, was heißt, dass man sich mit mehr oder weniger viel Aufwand für jeden PW-Hash ein Passwort bauen kann, was auch durch geht ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
InCoBra
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 43



BeitragVerfasst: So 24.05.09 11:39 
Warum so kompliziert?

Der erste Schritt um ein md5-Hash in den Orginalzustand zu bringen wäre meiner Meinung nach den Hash mal in einer Online-MD5-Datenbank zu suchen. (Liste mit md5-Datenbanken [Hinweis: md5-Datenbanken sind nicht illegal! Das "knacken" von Passwörtern oder anderen geschützten Daten ist es im normalfall aber schon!] )

Aus gegebenem Anlass habe ich mir mal (mit KeePass) eine Liste von Passwörtern generieren lassen und einmal mit md5 "verschlüsselt" und dann durch mehrere md5-Datenbanken laufen lassen. Die letzten beiden Passwörter, sind dann Passwörter, wie sie häufig vom "Otto-Normal-Verbraucher" genutzt werden. Ich denke daher gutes Passwort => knacken sehr schwierig, wenn auch nicht unmöglich!

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
kx%D+? - 50090495a496af2eb14a02d24cb9d709 - Not found
Y"&u?D         - fc4505c9e6ac2527b2117666fb724750 - Not found
w9`Rkt         - 3fc4cea4932eb0fd9ba7049ebee1d5f2 - Not found
J7\8D$         - 9e56b6b9066131ccab50754c0aa79d6f - Not found
1Dn"\O         - f182f137ec13246fbbe11cc12a0e05cd - Not found
?+q:qa         - 5b693707620f86abdba2dfd6acd74f18 - Not found
S;i/7"         - 540f6bc9249e217374ef2719e8dd5665 - Not found
@by+Oc         - a918e5647f4ea9a519de500985fada65 - Not found
ppa1SU         - 35ba58ed302f8f101c5dd74f72e6fa3f - Not found
k`3mZs         - 5b5a33bc3300ce656333554088ad55c1 - Not found

QAfGyP         - db9a33e297c79c14468d7e89d3e20628 - Not found
CBtpkZ         - f69cfdad6930b47a03e97b82687047b5 - Not found
RivcES         - 3e529392d97661fba1d5a799043499ac - Not found


ohmygod        - 5802ae899e406453f3ad93e37f9d26a8 - Found by 7/7
securepassword - b0439fae31f8cbba6294af86234d5a28 - Found by 4/7


Soll nur mal zeigen, dass wenn nichtmal solche Datenbanken vom Hash der 13 6-stelligen Passwörter auf das richtige Passwörter kommt, dann wird das mit einem kleinen Delphi-Programm wohl auch nicht wirklich funktionieren... Wie man sieht reichen somit (theoretisch) schon 6 (zufälligen) Zeichen, bestehend aus großen und kleinen Buchstaben, schon aus um einen ausreichenden Schutz zu bieten... Zumindest gegen einen solchen Angriff! So viel zu dem Thema ;)

Liebe Grüße,
InCoBra
Sirke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 208
Erhaltene Danke: 2



BeitragVerfasst: So 24.05.09 12:40 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Zudem: MD5 ist schon seit Jahren geknackt, was heißt, dass man sich mit mehr oder weniger viel Aufwand für jeden PW-Hash ein Passwort bauen kann, was auch durch geht ...
Der MD5 Algorithmus gilt zwar seit längerer Zeit bereits als unsicher, dennoch sind heute nur Kollisionsangriffe in akzeptabler Zeit durchführbar. Zusätzlich kommt es dann noch zu Problemen, mit den in den Kollisionsblöcken enthaltenen Bytes, welche gerade bei HTTP zu Protokollfehlern führen können. Ein PreImage Angriff wurde vor kurzem vorgestellt, welcher eine <1% bessere Laufzeit als eine vollständige Suche hat ;-)

Bei der Zeit für einen Brute-Force-Angriff auf einen MD5-Hashwert muss man heute schon sehr vorsichig sein, da durch die GPUs die Geschwindigkeit auf Heimrechnern bereits stark zugenommen hat, sodass bereits 7 schreibbarer ASCII-Zeichen (ersten 128 Zeichen) in einer Woche knackbar sind. Nimmt man die 76 häufigsten bzw. überhaupt darstellbaren Zeichen sind bereits 8 Zeichen in einer Woche knackbar. Da es sich hierbei zwar um High-End Rechner handelt, aber dennoch um Home-PCs muss man die Rechenpower um ein vielfaches anheben, wenn man an andere Instanzen denkt.

Ich stufe zur Zeit alle Passwörter <10 Zeichen als unsicher und in akzeptabler Zeit knackbar (circa ein Jahr) ein! Im Worst-Case (der Zeichensatz ist komplett bekannt) muss man bereits an die 16 Zeichen heran, um an Sicherheit zu glauben. ;-)
Greenberet
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: So 24.05.09 19:48 
www.wired.com/threatlevel/2008/12/berlin/

200 ps3s als cluster und md5 is ein wenigen tagen geknackt :P
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 24.05.09 20:38 
user profile iconGreenberet hat folgendes geschrieben Zum zitierten Posting springen:
www.wired.com/threatlevel/2008/12/berlin/

200 ps3s als cluster und md5 is ein wenigen tagen geknackt :P

Hab ich bei mir zu hause rumstehen ... Weiß nur immer nicht, womit ich die beschäftigen soll :mrgreen:

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.