Ben zut : jusqu’à aujourd’hui, je n’avais pas connaissance de l’existence de ce machin. Bien qu’il soit parfaitement logique que Windows dispose d’un vault, cet outil est très peu mentionné dans la littérature. Qu’est-ce donc ? Comment marché-ce ?
Quand on connecte un lecteur réseau ou quand on se connecte via RDP, on peut demander que les infos de connexion soient mémorisées. Donc Windows le fait ! Et tout ça est géré et stocké quelque part.
Le blog de MalwareBytes Labs mentionne, comme usages possibles :
- Les secrets pour l’authentification par SSL/TLS ;
- Les identifiants de domaine Windows, qui peuvent être partagés entre plusieurs applications ;
- Les identifiants Windows, par exemple pour l’utilisation de services (rappel : les services sous Windows peuvent être exécutés avec les droits d’un utilisateur différent de celui qui paramètre le service) ;
- Les identifiants web, comme ceux utilisés par Internet Explorer (leur mode de gestion dépend du navigateur).
D’autres types sont également cités : les mots de passe en clair (usage à éviter), et des mots de passe plus génériques (qui ne sont pas d’un des types précédents).
Localisation
Très intéressant : tout cela se retrouve dans un dossier spécifique, selon la version de Windows je pense :
%Systemdrive%\Users\{Username}\AppData\Local\Microsoft\Credentials %Systemdrive%\Users\{Username}\AppData\Local\Microsoft\Vault\{GUID coffre}\
Pour le voir, il faut permettre l’affichage des fichiers systèmes (éléments masqués), ce qui n’est pas recommandé en usage normal sous Windows.
Sous Windows 10, les fichiers sont des .vcrd
, illisibles heureusement tels quel, mais manipulables via la commande vaultcmd
.
$ vaultcmd Crée, affiche et supprime les informations d'identification stockées. Les commandes suivantes sont prises en charge. Utilisez VaultCmd /<command> /? pour plus de détails. VaultCmd /list VaultCmd /listschema VaultCmd /listcreds VaultCmd /addcreds VaultCmd /deletecreds VaultCmd /listproperties VaultCmd /sync