Entwickler-Ecke

Algorithmen, Optimierung und Assembler - LM-Hash von Windows


delphi-programmierer - Mi 27.12.06 22:32
Titel: LM-Hash von Windows
Hallo Leute,

kann mir irgendjemand sagen, wie der Algorithmus zum Lösen eines LM-Hashes aussieht?
Ich habe mit LC3 (demo :( ) den LM-Hash meines Rechners ausgelesen und wollte ihn jetzt entschlüssenln.
Ich weiß, dass es dafür Programme gibt (Bsp.: John the Ripper), die aber weniger benutzerfreundlich sind. Mein Programm besitzt ein Edit-Feld und ein Button. Die OnClick-Methode löst den Entschlüsselungsalgorithmus aus.

Bitte helft mir!

MfG Paul


Kugelblitz - Mi 27.12.06 23:14

entschlüsseln geht meines wissens nach nicht...

"John the Ripper" wird wohl versuchen den Hash zu bruteforcen


delphi-programmierer - Do 28.12.06 10:39

Danke für deine Antwort.

Es geht aber doch. Ich habe gerade etwas gefunden http://www.delphipraxis.net/post499499.html. Hier wird beschrieben, wie man aus einem Passwort den LM-Hash erzeugean kann. Man müsste diesen Vorgang einfach nur umdrehen. Allerdings kann ich nichts mit diesen String "KGS!@#$%" anfangen. Wie baut man den in den Hash-Code ein? Ich danke im Voraus.


alzaimar - Do 28.12.06 10:56

Nicht jede Funktion ist eindeutig umkehrbar.

Z.B. Ist hat die Funktion von y=x^2, aufgelöst nach x gleich 2 Lösungen (y<>0). Das jetzt z.B. 400x gemacht und Du darfst mit deiner Umkehrfunktion 2^400 Möglichkeiten durchprobieren. Viel Spass. (Und halte dich nicht an der Zahl '400' auf, das ist nur ein Beispiel)


Horst_H - Do 28.12.06 11:42

Hallo,

@delphi-programmierer
einfach nach LM-Hash suchen.
Schon als erstes http://www.heise.de/security/artikel/40744/0 dort ist auch das Prozedere beschrieben.

Gruss Horst


Timosch - Do 28.12.06 12:45

Einen LM-Hash zu lösen (im mathematischen Sinne, durch Umkehren der Funktion), ist nicht möglich. Man kann ihn lediglich bruteforcen oder mit der von meinem Vorgänger verlinkten Methode (Rainbow Tables?) knacken. Aber mein mathematischer Menschenverstand sagt mir, dass alzaimar Recht hat; man kann diese Funktion nicht umkehren.
Ich bezweifle allerdings, dass es eine gute Idee ist, dieses Thema zu vertiefen; dem EE-Team wird das verständlicherweise nicht Recht sein.


delphi-programmierer - Do 28.12.06 14:39

Hallo Leute,

wie es scheint geht das wirklich nicht.

Aber wie zum Teufel haben die den String "KGS!@#$%" in die beiden Teil-Hashes eingebunden, sodass der LM-Hash herauskommt.
Hier nochmal die Seite und das Zitat:
http://www.delphipraxis.net/post499499.html
Zitat:
Mit jedem DES Schlüssel wird nun der ASCII string "KGS!@#$%" ("0x4b47532140232425" in hex) verschlüsselt. Mit dem ersten Schlüssel gibt das "0xff3750bcc2b22412" mit dem zweiten "0xc2265b23734e0dac"
Diese beiden Schifrate werden nun aneinander gehängt und geben den LM-Hash
"0xff3750bcc2b22412c2265b23734e0dac".


moddin - So 04.02.07 16:45

es geht doch

der trojaner/RAT poison ivy 2.20 kann genau das mit den WLAN passwörtern machen (sind ja auch LM verschlüsselt)

hab schon versucht das zu reversen bin aber nicht so skilled ^^


Chryzler - So 04.02.07 21:57

user profile iconmoddin hat folgendes geschrieben:
es geht doch

der trojaner/RAT poison ivy 2.20 kann genau das mit den WLAN passwörtern machen (sind ja auch LM verschlüsselt)

hab schon versucht das zu reversen bin aber nicht so skilled ^^

Nein, es geht nicht. :roll: Er versucht höchstens alle Möglichkeiten auszuprobieren (Brute-Force)...