Ein NTLM-Passworthash ist MD4 über das als UTF-16LE codierte Passwort. Er ist 128 Bit lang und wird mit 32 Hexadezimalzeichen geschrieben. Das klassische Format besitzt keinen Salt, wodurch Wörterbuchsuchen und vorberechnete Daten wirksamer sind.
Die Suche vergleicht den übermittelten Digest mit Klartexten in unserer Datenbank. „Entschlüsseln“ ist ein üblicher Suchbegriff, tatsächlich handelt es sich aber um eine Übereinstimmungssuche: Ein Klartext, der nicht im Korpus enthalten ist, kann nicht direkt abgeleitet werden.
NTLM findet sich weiterhin in älteren Windows- und Kompatibilitätsszenarien, sollte jedoch nicht für die neue Passwortspeicherung gewählt werden. Testen Sie nur Zugangsdaten und Systeme, zu deren Prüfung Sie berechtigt sind.
Ein NTLM-Passworthash ist MD4 über die UTF-16LE-Bytes. Er darf nicht mit dem älteren LM-Hash oder mit NetNTLM verwechselt werden, das ein Challenge-Response-Protokoll und kein eigenständiger Passworthash ist.
$password = 'password';
$utf16le = iconv('UTF-8', 'UTF-16LE', $password);
echo hash('md4', $utf16le);Das Passwort wird als UTF-16LE codiert und mit MD4 gehasht. Das Ergebnis umfasst 128 Bit beziehungsweise 32 Hexadezimalzeichen.
Der klassische NTLM-Passworthash besitzt keinen Salt, sodass identische Passwörter identische Hashes erzeugen.
Der Klartext kann im Korpus fehlen, zufällig oder lang sein oder selten indexierte Zeichen enthalten.
Ein NTLM-Digest ist MD4 über die UTF-16LE-Bytes des Passworts. Er darf nicht mit LM oder Netzwerkantworten von NetNTLM verwechselt werden.
Beide verwenden 32 Hexadezimalzeichen. Häufig lässt sich nur anhand des Ursprungskontexts zwischen ihnen unterscheiden.
Ja. NTLM kodiert das Passwort vor MD4 als UTF-16LE; diese Bytes unterscheiden sich von UTF-8.
Nein. NetNTLM ist ein strukturierter Challenge-Response-Wert und muss anders verarbeitet werden.
| Format | Art | Typisches Erscheinungsbild |
|---|---|---|
| LM | Sehr schwacher veralteter Windows-Hash auf Basis von DES und Eingaben in Großbuchstaben. | 32 hex |
| NTLM | MD4 der UTF-16LE-Bytes des Passworts. | 32 hex |
| NetNTLMv1/v2 | Netzwerk-Challenge-Response-Wert mit mehreren Feldern. | user::domain:challenge:response… |
Unicode-Beispiel: café → UTF-16LE 63 00 61 00 66 00 e9 00 → MD4. Eine UTF-8-Kodierung würde einen anderen Digest ergeben.