Jo. Weil wenn einfach nur der Hash übertragen wird brauchst du da ja gar nix zurückrechnen, einfach den Hash klauen.Leonidas hat geschrieben: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.blackbird hat geschrieben:OT: Warum sollte ein Passwort als Hash gespeichert sein?
md5 decode
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
TUFKAB – the user formerly known as blackbird
waere das der richtige ansatz um ein md5 hash zu knacken?:
(achtung, "quick and dirty")
(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
Code: Alles auswählen
import md5
for i in range(len(md5.new("XXXXXXXX").digest())):
print ord(md5.new("XXXXXXXX").digest()[i])
>>>110
>>>72
>>>132
>>>73
>>>227
>>>116
>>>26
>>>153
>>>147
>>>136
>>>247
>>>189
>>>125
>>>7
>>>174
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
@cyp++: was soll uns das jetzt sagen?
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
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 zippenlumax hat geschrieben: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.Sr4l hat geschrieben:Man kann höchstwahrscheinliche Werte für einen kurzen Md5 Hash zurück errechnen mehr aber auch nicht.
*edit: hehe
Zuletzt geändert von Sr4l am Sonntag 10. Juni 2007, 14:07, insgesamt 1-mal geändert.
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
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 tunlumax hat geschrieben: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.veers hat geschrieben:Naja im Falle von MD5 gibt es da ja noch weitere Attacken.
10 Bit Passwort? 1.25 Buchstaben? *g*
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Nein.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?
wieso nicht?birkenfeld hat geschrieben:Nein.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?
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
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.
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
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
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.
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.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
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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?
Weiß eigentlich jemand, wie das OSCAR-Protokoll nun die Passwörter genau überträgt?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
http://developer.pidgin.im/viewmtn/revi ... ily_auth.cLeonidas hat geschrieben:Weiß eigentlich jemand, wie das OSCAR-Protokoll nun die Passwörter genau überträgt?
Alt: xor "verschlüsselung" (Aua?!)
Neu: MD5(password + "AOL Instant Messenger (SM)") (Immernoch Aua?!)
So hab ich den source zumindest auf die schnelle Interpretiert.
-
- User
- Beiträge: 424
- Registriert: Montag 28. Juli 2003, 16:19
- Wohnort: /dev/reality
Das erinnert an ein ehemals fest eingebautes user/pass-Paar in alten Interbase-Versionen: politcaly/incorrect
Es scheint, als manche Programmierer ihre Stimmung nutzen, um Passwörter zu generieren
Es scheint, als manche Programmierer ihre Stimmung nutzen, um Passwörter zu generieren
Auch wenn ich einiges wiederhole:
MD5 und andere Hash-Verfahren sind Einwegverfahren und nicht umkehrbar. Unterschiedliche Klartexte können auch identische Hashes haben (Kollisionen).
Hashes kann man, wenn der jeweilige Algorithmus keine mathematischen Schwächen hat, nur durch Brute-Force knacken - aber auch nicht sicher auf den Klartext schließen (wegen der möglichen Kollisionen). Durch andere mathematische Schwächen kann man aber den für Angriffe notwendigen Aufwand verkürzen.
Wer's eilig hat, kann Rainbow Tables - vorberechnete Hashes zu Strings - konsultieren und so schnell mögliche Klartexte finden (sofern diese auch vorberechnet wurden). Ein paar Gigabyte kommen da aber für nicht allzu komplexe Strings schnell zusammen.
Was ICQ angeht wurden die Passwörter, bevor man MD5 verwendete, in der Tat über XOR "verschlüsselt". Um solche Chiffren zu dekodieren, sollte dir dieser Code von mir behilflich sein.
Möglicherweise kannst du ICQ dazu bringen, das Passwort über die alte Methode zu chiffrieren - sofern es denn in wiederherstellbarere Form vorliegt, die ein Client dazu nutzen kann. Bspw. habe ich mit Miranda-IM das Passwort geXORt versenden und mitsniffen können.
MD5 und andere Hash-Verfahren sind Einwegverfahren und nicht umkehrbar. Unterschiedliche Klartexte können auch identische Hashes haben (Kollisionen).
Hashes kann man, wenn der jeweilige Algorithmus keine mathematischen Schwächen hat, nur durch Brute-Force knacken - aber auch nicht sicher auf den Klartext schließen (wegen der möglichen Kollisionen). Durch andere mathematische Schwächen kann man aber den für Angriffe notwendigen Aufwand verkürzen.
Wer's eilig hat, kann Rainbow Tables - vorberechnete Hashes zu Strings - konsultieren und so schnell mögliche Klartexte finden (sofern diese auch vorberechnet wurden). Ein paar Gigabyte kommen da aber für nicht allzu komplexe Strings schnell zusammen.
Was ICQ angeht wurden die Passwörter, bevor man MD5 verwendete, in der Tat über XOR "verschlüsselt". Um solche Chiffren zu dekodieren, sollte dir dieser Code von mir behilflich sein.
Möglicherweise kannst du ICQ dazu bringen, das Passwort über die alte Methode zu chiffrieren - sofern es denn in wiederherstellbarere Form vorliegt, die ein Client dazu nutzen kann. Bspw. habe ich mit Miranda-IM das Passwort geXORt versenden und mitsniffen können.
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
andere Möglichkeit:
du schreibst ein Script das das Passwort ändert angefangen bei 0 aufgehört bei ZZZZZZZZZZ (mit allen möglichen Zeichen und in groß und klein) und nach jedem Passwort ließt du die Daten aus aus und speicherst sie, dann kann dir egal sein welche Verschlüsselung angewendet wurde.
Zu Prüfen ist nur ob ein und das selbe Passwort bei verschiedenen Usern auch den gleichen Hash hat, evt auch auf verschiedenen Rechnern prüfen sonst war alles umsonst.
Ich wollte mich selber mal dran machen bekomme aber kein ICQ 6 auf Wine installiert. Das 2003er müsste gehen wenn ich IE 5 drauf bekomme.
du schreibst ein Script das das Passwort ändert angefangen bei 0 aufgehört bei ZZZZZZZZZZ (mit allen möglichen Zeichen und in groß und klein) und nach jedem Passwort ließt du die Daten aus aus und speicherst sie, dann kann dir egal sein welche Verschlüsselung angewendet wurde.
Zu Prüfen ist nur ob ein und das selbe Passwort bei verschiedenen Usern auch den gleichen Hash hat, evt auch auf verschiedenen Rechnern prüfen sonst war alles umsonst.
Ich wollte mich selber mal dran machen bekomme aber kein ICQ 6 auf Wine installiert. Das 2003er müsste gehen wenn ich IE 5 drauf bekomme.
Maöl ne dumme Frage:
Wenn du dein Passwort nichtmehr weist, wieso holst du dir nicht einfach ein neues?
https://www.icq.com/password/
LG
Wenn du dein Passwort nichtmehr weist, wieso holst du dir nicht einfach ein neues?
https://www.icq.com/password/
LG