Precedent Haut Suivant


1.2.1 -  V-struct :

Les premières informations ont été publiées via le programme pwdump inclus dans les distributions de SAMBA, version libre du protocole SMB. A partir de là, Petter Nordahl-Haggen, auteur d'Offline NT Password & Registry Editor http://home.eunet.no/~pnordahl/ntpasswd/, a redécouvert la plupart des structures du fichier SAM, sous-structure de la base de registre. Les comptes utilisateurs sont décrits dans \SAM\Domains\Account\Users\Names\, il "suffit" de parcourir les structures du fichier pour les lister.

 

L'offset et la longueur des champs sont stockés dans ce qui est appelé la V structure, une structure binaire de 204 octets (0xCC en hexadécimal):

 

0x0c,0x10 Login

0x18,0x1c Nom complet

0x24,0x28 Commentaires

0x48,0x4c Répertoire utilisateur

0x9c,0xa0 Mot de passe LANMAN

0xa8,0xac Mot de passe NTLM

 

Les offsets sont relatifs à la fin de cette structure.

 

Au lieu d'utiliser une salt key, une clé propre à chaque utilisateur, pour perturber le chiffrement afin que deux individus avec le même mot de passe ne se retrouvent pas avec la forme cryptée sur le disque, Microsoft a choisi de coder ces deux mots de passe cryptés par un chiffrement DES. Les deux clés de 56 bits utilisées sont dérivées du RID. Le RID est un numéro sur 32 bits identifiant l'utilisateur, c'est l'équivalent de l'UID sur un système Unix. La création des clés se fait au niveau des octets: si le SID vaut 0x1234, la première clé va être 0x4321432, la seconde clé 0x1432143. Ce artifice ne renforce pas la sécurité, c'est juste un codage. Dommage que les développeurs de chez Microsoft ne se concentrent pas plus sur la sécurité proprement dite.

 


Precedent Haut Suivant