Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi LM Hashs erzeugen (https://www.delphipraxis.net/62749-lm-hashs-erzeugen.html)

gsh 8. Feb 2006 22:52


LM Hashs erzeugen
 
Hi

Mal ne Frage wie kann ich LM Hashes erzeugen?

Ich hab da nämlich eine nette md5.pas mit der ich ganz einfach MD5 hashs erzeugen kann, gibt es sowas auch für LM???

gsh 9. Feb 2006 12:34

Re: LM Hashs erzeugen
 
*push*

Klaus01 9. Feb 2006 12:56

Re: LM Hashs erzeugen
 
Keine Ahnung ob es da schon etwas fertiges für Delphi gibt,
aber hier steht wie er gebildet wird:
http://davenport.sourceforge.net/ntl...#theLmResponse

Es gibt da noch eine LM.pas, habe ich mir noch nicht so genau angeschaut ob da
die Hashbildung auch enthalten ist. Einfach in Google mal nach lm.pas suchen.

Grüße
Klaus

gsh 9. Feb 2006 13:16

Re: LM Hashs erzeugen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich glaub nicht des ich des schaff mir da eine Fuktion selber zu schreiben (vorallem nicht wenn des auf Englisch erklärt ist *hustel*).

Ja hab ne LM.pas gefunden aber ich bezweifle das das richtige ist denn des sieht mir eher nach irgendwas netzwerk mäßiges aus. Hab sie mal angehängt. Vielleicht hab ich mich nur verschaut.

Klaus01 9. Feb 2006 13:49

Re: LM Hashs erzeugen
 
Angenommen das passwort ist "SECRET01" in Hex "0x5345435245543031"

Das Passwort wird auf 14 Byte mit 0 aufgefüllt, oder wenn es länger als 14 Byte ist auf 14 Byte gekürzt
-> "0x5345435245543031000000000000".

Dieser Wert wird in 2 7 Byte Hälften geteilt
"0x53454352455430" und "0x31000000000000".
Diese Werte werden benötigt um 2 DES Schlüssel zu erstellen.

Ein DES Schlüssel ist 8 Byte lang, jedes Byte enthält 7 bit "Schlüsselmaterial" und ein parity bit (ungerade)

Unser erster 7 Byte wert "0x53454352455430", schaut als binär Wert so aus
01010011 01000101 01000011 01010010 01000101 01010100 00110000

A non-parity-adjusted DES key for this value would be:
(in 7 bit Stücke aufteilen und jweils ein parity bit anhängen)

01010010 10100010 01010000 01101010 00100100 00101010 01010000 01100000

Die parity bits sind fett dargestellt.
in hex schaut der Wert so aus:"0x52a2506a242a5060"

Wir wollten aber ungerade Parität haben und schauen uns jetzt jedes Byte
an ob es eine ungerade Anzahl an 1 enthält.

01010010 10100010 01010001 01101011 00100101 00101010 01010001 01100001

Das ist dann unserer erster DES Schlüssel ("0x52a2516b252a5161" in hex).

Für den zweite Schlüssel muß nun das gleiche gemacht werden.
"0x31000000000000", binär ->

00110001 00000000 00000000 00000000 00000000 00000000 00000000

in 7 bit blöcke aufteilen und jeweils ein parity bit hinzufügen
00110000 10000000 00000000 00000000 00000000 00000000 00000000 00000000

("0x3080000000000000" in hexadecimal).

Auf ungerade Parität achten:

00110001 10000000 00000001 00000001 00000001 00000001 00000001 00000001

Das ist dann der zweite DES Schlüssel "0x3180010101010101" in hexadecimal.

Mit jedem DES Schlüssel wird nun der ASCII string "KGS!@#$%" ("0x4b47532140232425" in hex) verschlüssel. 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".


Was nun noch fehlt ist wie verschlüssel ich DES, dazu sollte es aber schon etwas im Web geben.
Das DEC von Hagen oder bei den Komponenten von LockBox sollte auch etwas dabei sein.

Gar nicht so schwer - oder?

Grüße
Klaus

gsh 9. Feb 2006 22:44

Re: LM Hashs erzeugen
 
aha

Mal schaun werd mich morgen oder so dranhocken und des mal versuchen.
Danke schonmal für die ausführliche Erklärung.

Luckie 9. Feb 2006 22:54

Re: LM Hashs erzeugen
 
Wofür brauchst du das eigentlich? :gruebel:

Klaus01 10. Feb 2006 07:13

Re: LM Hashs erzeugen
 
nur eine Vermutung:

die Hashwerte der Windows Passwörter (bin NT) werden mit dem LM Hash gebildet.
Auch werden die Hashwerte auf den Maschinen bis w2k/Xp/2003 gespeichert.
Vista wird das nicht mehr machen.

Grüße
Klaus

gsh 10. Feb 2006 12:01

Re: LM Hashs erzeugen
 
im Prinzip ist es ja egal aber klaus hat recht ich brauch es weil Windows des so macht

Luckie 10. Feb 2006 13:10

Re: LM Hashs erzeugen
 
Ja schön, das habe ich mir fast geadacht. Und wofür? Warum musst du ein Passwort so abspeichern wie Windows es tut? Warum muss Windows deine Passwörter verstehen können?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz