Voici une bonne nouvelle pour les utilisateurs de la solution Service cloud Azure AD et Windows Server Active Directory de Microsoft. Il y a quelques jours, Microsoft a publié un outil qui interdit aux utilisateurs de définir un mot de passe figurant dans une liste de 500 exemples de mots de passe les plus courants et les plus faciles à deviner. A cela s’ajoute également environ un million de substitutions de caractères les plus fréquentes.

Avec les outils actuels, deviner des mots de passe faibles au niveau de comptes à privilèges peut se résumer à l’utilisation de deux techniques « simples » : le brute forcing ou la pulvérisation de mot de passe (password sprying) :

  • Le brute forcing consiste à essayer beaucoup de mots de passe communs au niveau de chaque compte, jusqu’à trouver le bon. Cependant, bien souvent les systèmes embarquent une protection permettant de limiter le nombre de tests autorisés dans un temps donné.
  • La « pulvérisation de mot de passe » (appelé « password spraying » en anglais) consiste à justement contourner la limitation du nombre de tests autorisés dans un temps définit, en essayant les mêmes mots de passe communs au niveau des comptes, mais à un rythme beaucoup plus lent, réduisant ainsi les risques d’être bloqué ou de se faire remarquer au cours de l’attaque.

Le brute forcing est d’autant plus efficace aujourd’hui avec des outils tels que Hashcat, notamment grâce aux nombreuses fuites de données qui ont eu lieu ces dernières années. A chaque nouvelle fuite, on retrouve une liste conséquente de mots de passes courants et faibles qui viennent alimenter la longue liste des mots de passe à bruteforcer.

Lorsqu’un utilisateur souhaite définir son mot de passe, un processus d’évaluation se met en place. Le mot de passe définit par l’utilisateur est comparé à une liste d’environ 500 mots et modèles (« azerty », « asdf », etc.). De plus, les substitutions de caractères sont faites sur le mot de passe (par exemple « $ » pour la lettre « s », remplacement majuscule/minuscule, etc.). Puis, un score est calculé en fonction du mot de passe. Cette liste (par défaut) de mots de passe commun peut également être enrichie avec des termes propres à l’organisation (notamment le nom de l’entreprise, que l’on trouve comme composante de très nombreux mots de passe).

AzurAD custom blacklist

AzurAD custom blacklist

Chaque caractère vaut un point, mais toute sous-chaîne correspondant à un mot/une phrase/un motif présent dans la liste ne vaut qu’un point au total. Le score minimum autorisé est de 5 points. Par exemple, « Azerty » et « 2018 » sont des mots interdits présents dans la liste, ainsi « Azerty2018 » vaut seulement 2 points et ne serait ainsi pas autorisé.

Microsoft a étendu ce nouveau mécanisme de protection aux contrôles des mots de passe on-premise, via un agent à équiper sur les DC internes de l’entreprise. Ainsi la complexité des mots de passe cloud / on-premise devrait tendre vers le haut !

AzurAD password agent

AzurAD password agent

SYNETIS réalise régulièrement des audits de type « cryptanalyse » pour ses clients en environnement Windows. De tels audits permettent d’extraire du domaine de l’entreprise de nombreux indicateurs quant à la robuste des mots de passe des usagers, des compte’s à privilèges, des administrateurs ; mais aussi leur fréquence de renouvellement, l’entropie, la complexité mise en oeuvre ou encore la facilité / rapidité à casser certains d’entre eux. A la suite de ces cryptanalyse, nous assistons les équipes sécurité et communication pour réaliser une sensibilisation personnalisées des employés, afin qu’ils contribuent à l’amélioration globale de la sécurité de l’entreprise en indiquant des mots de passe robuste.

Car en effet, il n’est pas inutile de le rappeler : un seul compte ActiveDirectory de compromis (avec un mot de passe faible) peut mener à la compromission complète du domaine Windows.

Espérons que cette nouvelle solution aura pour effet de renforcer la sécurité des mots de passe des utilisateurs.

Sources & ressources :