Jump to content
Sign in to follow this  
Heck

Windows 7 und UNIX Authentifizierung

Recommended Posts

Hallo,

 

ich schreibe gerade eine Seminararbeit an der Uni über Authentifizierungsmethoden bei Betriebssystemen.

Mehrfach habe ich jetzt gelesen, dass das Benutzerpasswort als Hashwert in der verschlüsselten SAM-Datenbank gespeichert wird.

Allerdings finde ich einfach nicht, um welchen Hash-Algorithmus es sich handelt und wie die SAM-Datenbank verschlüsselt ist.

 

Bei meiner Recherche habe ich mehrfach NTLMv2 gelesen, jedoch scheint dies der LanManager oder ähnlich zu sein und gilt glaube ich nur für Client/Server seitige Authentifizierung.

Könnte mir jemand eventuell sagen, um welchen Hashalgorithmus es sich handelt und wie SAM-Datenbank verschlüsselt ist?

Ich habe gelesen, dass man das PW als MD5 Hash auslesen kann, heisst dies, dass es sich um ein MD5 Hasalgorithmus bei der Verschlüsselung handelt?

 

Passt jetzt nicht in dieses Forum aber eventuell kann mir bei dieser Frage ebenfalls jemand weiterhelfen. Bei UNIX-Systemen wird der Salt Hash Algorithmus verwendet aber gibt es dort ebenfalls eine verschlüsselte Datenbank, in der das Passwort gesichert wird?

 

Hoffe mir kann jemand weiterhelfen

Gruß Nico

Share this post


Link to post

Moin,

 

dazu gibt es eine Reihe guter älterer Artikel von Jesper Johansson (ex-Microsoft, jetzt Amazon). Bing mal nach "windows passwords johansson hash".

 

Die SAM-Datenbank ist standardmäßig nicht verschlüsselt, wird aber im laufenden Betrieb vom System geschützt. Offline-Angriffe sind daher möglich. Man kann optional per syskey eine Verschlüsselung aktivieren, aber das tun längst nicht alle Kunden.

 

Gruß, Nils

Share this post


Link to post
Moin,

 

dazu gibt es eine Reihe guter älterer Artikel von Jesper Johansson (ex-Microsoft, jetzt Amazon). Bing mal nach "windows passwords johansson hash".

 

Die SAM-Datenbank ist standardmäßig nicht verschlüsselt, wird aber im laufenden Betrieb vom System geschützt. Offline-Angriffe sind daher möglich. Man kann optional per syskey eine Verschlüsselung aktivieren, aber das tun längst nicht alle Kunden.

 

Gruß, Nils

 

Danke für den Tipp!

 

Habe ich das Paper richtig verstanden?

Also es wurde früher als LM "Hash" abgespeichert, jedoch nach Windows NT 4.0 wird das Passwort mit dem NT Hash verwendet, d.h. mit MD4 gehast und als unicode Passwort gespeichert?

 

Bei UNIX werden die Passwörter mit einem Salt versehen, der als plaintext auf dem System gespeichert wird aber gibt es dort eine Datenbank oder ist es einfach ein Passwortfile ?

Share this post


Link to post

LM bzw. NTLM bzw. Kerberos sind die Authentifizierungsmechanismen per Netzwerk.

Wie das Passwort in der SAM gespeichert ist hat damit wenig zu tun.

 

Bei Unix gab es passwortfiles mit Klartextpasswörtern und seit längerem ein shadowfile mit dem Verschlüsselten Passwort.

/etc/shadow bzw. /etc/passwd

Share this post


Link to post

Moin,

 

in der Standardeinstellung wird der LM Hash immer im alten Format gespeichert, das leicht knackbar ist. Nur wenn man das explizit abschaltet oder wenn man Kennwörter über 14 Zeichen verwendet, geschieht das nicht.

 

Man sollte hierbei allerdings berücksichtigen, dass die Verwendung der SAM-Datenbank nur für lokale Benutzerkonten gilt. Das AD nutzt ein anderes Format. Die LM-Hash-Problematik besteht dort auch, lässt sich aber per Gruppenrichtlinie abschalten (was man aber eben auch ausdrücklich tun muss).

 

Lies dir mal die anderen Artikel von Jesper auch noch durch. Er hat viel dazu geschrieben, und meist ist es sehr gut verständlich. Dabei geht er oft auch auf Unix et al. ein, sodass du die Artikel auf jeden Fall für deine Arbeit nutzen solltest.

 

Gruß, Nils

Share this post


Link to post
LM bzw. NTLM bzw. Kerberos sind die Authentifizierungsmechanismen per Netzwerk.

Wie das Passwort in der SAM gespeichert ist hat damit wenig zu tun.

 

Bei Unix gab es passwortfiles mit Klartextpasswörtern und seit längerem ein shadowfile mit dem Verschlüsselten Passwort.

/etc/shadow bzw. /etc/passwd

 

Ja hierin besteht mein Problem es handelt sich bei meiner Seminararbeit nur um Betriebssysteme, d.h. es geht nur um Lokale Benutzerkonten.

 

In dem oben genannten Paper habe ich gelesen, dass grundsätzlich 2 Passwörter gespeichert werden, eines jedoch fehlen kann.

Es wird ein LAN Manager-kompatibles Kennwort und das Windows NT-Kennwort gespeichert.

 

"Das Windows NT-Kennwort basiert auf dem Unicode-Zeichsatz, es kann bis zu 128 Zeichen umfassen, und die Groß- und Kleinschreibung wird berücksichtigt. Die OWF-Version (als Windows NT-OWF-Kennwort bezeichnet) wird mithilfe des RSA MD-4-Verschlüsselungsalgorithmus berechnet. Dieser Algorithmus berechnet aus den Bytes des unverschlüsselten Kennwortes, das in Form einer Zeichenfolge variabler Länge vorliegt, ein 16 Byte umfassendes "Extrakt"."

 

Ist das noch aktuell mit 128 Zeichen und RSA MD-4? Der Artikel ist leider von 2003.

 

"Die LAN Manager-Version des Kennwortes fehlt dann, wenn das Kennwort von einem Client unter Windows NT aus festgelegt oder geändert wurde und wenn das Kennwort nicht über eine LAN Manager-Darstellung verfügt (d.h., wenn es mehr als 14 Zeichen umfasst oder die Zeichen nicht im OEM-Zeichensatz dargestellt werden können)"

 

Also heißt dies, dass standartmäßig immer beide Passwörter erzeugt werden, falls es nicht vorher vom System deaktiviert wurde ein LAN Manager Passwort zu hinterlegen?

Share this post


Link to post

Moin,

 

AD gehört auch zum Betriebssystem, man wird das also nicht sinnvoll ignorieren können.

 

An den Algorithmen hat sich meines Wissens nichts Grundlegendes geändert. Und ja, wenn man kurze Kennwörter verwendet und den LM-Hash nicht abgeschaltet hat, speichert Windows beide Varianten (wie ich oben schon schrub).

 

Gruß, Nils

Share this post


Link to post

Ok Danke!

 

Noch eine kleine Frage:

 

Sie können das Programm "SysKey" verwenden, um die SAM-Datenbank zusätzlich zu schützen, indem Sie den Verschlüsselungsschlüssel der SAM-Datenbank vom Windows-Computer entfernen. Außerdem kann das Programm "SysKey" zum Konfigurieren eines Startkennwortes verwendet werden, das zum Entschlüsseln des Systemschlüssels eingegeben werden muss, sodass Windows auf die SAM-Datenbank zugreifen kann

 

Ich verstehe den Sinn dahinter leider nicht ganz. Dachte eigentlich, dass ich mit Hilfe des Syskey eine 128 Bit Verschlüsselung erzeugen kann. Worin besteht der Sinn, den Systemschlüssel vom System zu entfernen? Oder ist dies nur für die Benutzeranmeldung gedacht, dass ich den Systemschlüssel auf einem externen Datenträger speichere und diesen dann bei der Anmeldung einlegen muss und dann anhand des Schlüssels auf dem Datenträger mein Kennwort abgeglichen wird?

Wie kann dann Windows auf die SAM-Datenbank zugreifen?

Oder muss ich den Datenträger einlegen, bevor ich das Benutzerkennwort eingebe, der Datenträger dann zuerst die SAM-Datenbank entschlüsselt und anschließend dann mein eingegebenes Benutzerkennwort mit dem in der SAM-Datenbank enthaltenen abgeglichen wird?

 

Wird eigentlich bei der Eingabe des Benutzerkennworts das Kennwort in der SAM-Datenbank entschlüsselt oder anhand des Chiffrats (oder wie oben beschrieben Extrakt) abgeglichen ?

Edited by Heck

Share this post


Link to post

Moin,

 

Syskey ist eine optionale Verschlüsselung der SAM-Datenbank, die Offline-Angriffen vorbeugen soll. Der Schlüssel muss beim Systemstart zur Verfügung stehen. Heutzutage würde man aber eher mit BitLocker arbeiten.

 

Das Kennwort steht nicht in der SAM-Datenbank und auch nicht im AD. Dort steht nur der Hash.

 

Wenn du dich für eine Diplomarbeit mit dem Thema befasst, solltest du aber durchaus noch etwas die zahlreichen vorhandenen Quellen durcharbeiten. Die ganzen Basisfragen sind durchaus umfassend dokumentiert.

 

Gruß, Nils

Share this post


Link to post
LM bzw. NTLM bzw. Kerberos sind die Authentifizierungsmechanismen per Netzwerk.

Wie das Passwort in der SAM gespeichert ist hat damit wenig zu tun.

 

Bei Unix gab es passwortfiles mit Klartextpasswörtern und seit längerem ein shadowfile mit dem Verschlüsselten Passwort.

/etc/shadow bzw. /etc/passwd

 

Habe leider 4 verschiedene Quellen, in denen immer unterschiedliche Aussagen vor zu finden sind. Ist die Datei in /ect/passwd als plaintext gespeichert oder nicht?

Habe in 2 Papers Aussagen wie diese:

Traditional UNIX systems store the encrypted passwords and other user account

information in the plaintext file /etc/passwd. However, the /etc/passwd file needs to be

globally readable as it is used by many tools such as ‘ls’ to map user IDs to user names

Sind die Benutzernamen Informationen immer noch als plaintext dort gespeichert nur das Passwort mit einem Platzhalter ersetzt, der auf das in dem /shadow Verzeichnis verschlüsselte Passwort verlinkt?

 

Ist eigentlich der DES-Algorithmus mit Salt und der Speicherung des Password im shadow noch aktuell? Es wurde doch mittlerweile durch den MD5 ersetzt oder ?

Wird der Salt als plaintext im lesbaren Verzeichnis gespeichert?

Edited by Heck

Share this post


Link to post

In /etc/passwd steht entweder das Klartextpasswort oder ein Platzhalter, dann ist das Passwort verschlüsselt in der /etc/shadow.

Share this post


Link to post

Hallo,

 

ich wollte mich nochmal bei euch für die Hilfe bedanken! Hat mir echt das leben erleichtert!

 

Hätte aber noch eine Frage zur Zugriffskontrolle:

 

Bei Windows wird diese ja über den Sicherheitsreferenzmonitor abgewickelt, gibt es einen solchen auch bei UNIX ?

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...