md5 decode

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Sonntag 10. Juni 2007, 13:17

Leonidas hat geschrieben:
blackbird hat geschrieben:OT: Warum sollte ein Passwort als Hash gespeichert sein?
Vielleicht wird das so zum Server übertragen? Aber ich finde das ohne Salt auch recht suspekt. Aber gut, ICQ wird ja sowieso unverschlüsselt übertragen, was will man da auch erwarten.
Jo. Weil wenn einfach nur der Hash übertragen wird brauchst du da ja gar nix zurückrechnen, einfach den Hash klauen.
TUFKAB – the user formerly known as blackbird
Costi
User
Beiträge: 544
Registriert: Donnerstag 17. August 2006, 14:21

Sonntag 10. Juni 2007, 13:23

waere das der richtige ansatz um ein md5 hash zu knacken?:
(achtung, "quick and dirty")

Code: Alles auswählen

from hashlib import md5

def getMD5(stri):
    m = md5()
    m.update(stri)
    return m.digest()

abc = '$abcdefghijklmnopqrstuvwxyz_1234567890'

def abc_iter():
    for i0 in abc: 
        for i1 in abc: 
            for i2 in abc: 
                for i3 in abc: 
                    for i4 in abc:
                        yield i0+i1+i2+i3+i4.replace('$', '')

for i in abc_iter():
    if getMD5(i) == '\xcd\xd4\x2c\x2d\x32\xd7\xa8\x8d\xa0\xb0\xb5\xd5\xfe\x7d\xe8\xde':
        print i
cp != mv
cyp++
User
Beiträge: 69
Registriert: Freitag 22. September 2006, 13:54

Sonntag 10. Juni 2007, 13:34

Code: Alles auswählen

import md5

for i in range(len(md5.new("XXXXXXXX").digest())):
	print ord(md5.new("XXXXXXXX").digest()[i])
>>>28
>>>110
>>>72
>>>132
>>>73
>>>227
>>>116
>>>26
>>>153
>>>147
>>>136
>>>247
>>>189
>>>125
>>>7
>>>174
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Sonntag 10. Juni 2007, 13:35

@cyp++: was soll uns das jetzt sagen?
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
cyp++
User
Beiträge: 69
Registriert: Freitag 22. September 2006, 13:54

Sonntag 10. Juni 2007, 13:39

ich habe geguckt was rauskommt wenn ich es selbst verschlüssel.. dabei kommt leider nicht das raus, was in der Registry steht, evtl. könnte man md5 jetzt ausschließen?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Sonntag 10. Juni 2007, 13:43

lumax hat geschrieben:
Sr4l hat geschrieben:Man kann höchstwahrscheinliche Werte für einen kurzen Md5 Hash zurück errechnen mehr aber auch nicht.
Sowas wie kurze MD5-Hashes gibt es nicht, ein MD5-Hash ist immer 128 Bit lang. Und zurueckrechnen kann man da nichts, das ist ja das Wesen solcher Algorithmen. Alles, was du machen kannst, ist Bruteforcen oder in vorhandenen Tabellen mit MD5-Hashes und entsprechenden Strings nachgucken.
natürlich meinte ich kurze Passwörter die in MD5 gehasht sind wenn aus 16bit Passwort 128bit hash werden kann man es recovern. Wenn aber aus einder 5MB Datei ein 128bit hash erzeugt wird kann man sie wohl nicht mehr wieder herstellen, sonst wäre es ja die geilste Methode um etwas zu zippen ;-)

*edit: hehe
Zuletzt geändert von Sr4l am Sonntag 10. Juni 2007, 14:07, insgesamt 1-mal geändert.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 10. Juni 2007, 13:59

lumax hat geschrieben:
veers hat geschrieben:Naja im Falle von MD5 gibt es da ja noch weitere Attacken.
z.B.? Okay, es gibt natuerlich Erweiterungen der Konzepte, die ich gepostet habe, aber sonst? So Sachen wie Kollisionen z.B. helfen dir ja nicht weiter, wenn du einen Hash knacken willst.
Grundsätzlich gilt eine Kollision schon als "geknackt". Aber es kommt natürlich auf die Anwendung an. Für ein Challenge Response System müsste das ganze immernoch tun ;)

10 Bit Passwort? 1.25 Buchstaben? *g*
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Sonntag 10. Juni 2007, 14:06

cyp++ hat geschrieben:ich habe geguckt was rauskommt wenn ich es selbst verschlüssel.. dabei kommt leider nicht das raus, was in der Registry steht, evtl. könnte man md5 jetzt ausschließen?
Nein.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
cyp++
User
Beiträge: 69
Registriert: Freitag 22. September 2006, 13:54

Sonntag 10. Juni 2007, 14:07

birkenfeld hat geschrieben:
cyp++ hat geschrieben:ich habe geguckt was rauskommt wenn ich es selbst verschlüssel.. dabei kommt leider nicht das raus, was in der Registry steht, evtl. könnte man md5 jetzt ausschließen?
Nein.
wieso nicht?
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Sonntag 10. Juni 2007, 14:09

Wieso muss der MD5 genau über dein Passwort erstellt werden? Es gibt z.B. das Konzept des "Salt", also einem bekannten String, der vor dem Hashen z.B. vorangestellt wird.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Sonntag 10. Juni 2007, 14:10

Es kann ja auch sein das sie nicht nur dein Passwort allein nehmen.

Zum Beispiel ist dein Passwort hallo

dann wird vielleicht
"halloICQ"
verschlüsselt schon kommt etwas ganz anderes heraus

***edit***
das geht hier ja ab wie in einem chat ;-)
Zuletzt geändert von Sr4l am Sonntag 10. Juni 2007, 14:12, insgesamt 1-mal geändert.
cyp++
User
Beiträge: 69
Registriert: Freitag 22. September 2006, 13:54

Sonntag 10. Juni 2007, 14:11

Achso, stimmt.
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Sonntag 10. Juni 2007, 14:29

veers hat geschrieben:Grundsätzlich gilt eine Kollision schon als "geknackt". Aber es kommt natürlich auf die Anwendung an. Für ein Challenge Response System müsste das ganze immernoch tun ;)
Joa, dass das ganze kryptografisch gesehen nicht mehr wirklich sicher ist, ist wohl unbestritten. Ich ging aber vom konkreten Anwendungsfall hier aus, und da ist so eine Kollision herzlich egal, bei der Wiederherstellung hilft die ja nicht.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 10. Juni 2007, 14:43

Naja, stellt euch vor, wir haben eine Rainbowtable in der der Hash drinsteht und ein 2000 Zeichen langer Text als "Schlüssel". Wenn ICQ nur hashes übertragen würde, dann würde dieser Text auch als Passwort durchgehen, unabhängig davon ob er es nun ist oder nicht.

Weiß eigentlich jemand, wie das OSCAR-Protokoll nun die Passwörter genau überträgt?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 10. Juni 2007, 15:05

Leonidas hat geschrieben:Weiß eigentlich jemand, wie das OSCAR-Protokoll nun die Passwörter genau überträgt?
http://developer.pidgin.im/viewmtn/revi ... ily_auth.c
;)
Alt: xor "verschlüsselung" (Aua?!)
Neu: MD5(password + "AOL Instant Messenger (SM)") (Immernoch Aua?!)

So hab ich den source zumindest auf die schnelle Interpretiert.
Antworten