Mac OS X Lion perd du poil de la bête
Un groupe d’internautes a mis en évidence, dans Mac OS X Lion, une faille qui exploite la nouvelle version des Directory Services pour permettre à quiconque de modifier à sa guise le mots de passe de chaque compte d’utilisateur.
Le roi des animaux a ses faiblesses. En témoigne la dernière faille en date dans Mac OS X Lion. La révision logicielle du module Directory Services et la gestion hasardeuse des fichiers cachés offrirait à quiconque la possibilité de modifier le mot de passe de toute session, sans même requérir un compte administrateur ou un accès de type root.
Les équipes de Defence in Depth se sont muées en cliques de pirates pour révéler au grand jour une démarche accessible à tous et dont les conséquences tranchent avec une sécurité dont Apple se revendique l’ambassadeur, face aux systèmes de Microsoft, coutumiers des infections virales.
Les versions précédentes (Tiger, Leopard et Snow Leopard) n’étaient pas exemptes de reproches quant à la protection des mots de passe. Mais l’accès à ces derniers requérait l’obtention préalable des identifiants propres à chaque utilisateur.
Or, Mac OS X Lion relâche cette vigilance minimale. Stockées dans des fichiers cachés, théoriquement accessibles en lecture seule par l’ordinateur, les quelques données sensibles nécessaires à l’ouverture d’une session pâtiraient d’un récent lifting des Directory Services.
En effet, lors d’un changement de mot de passe, Lion, à la différence de ses prédécesseurs, ne demande plus d’information d’identification.
Si les risques d’attaque à distance sont minimisés, les ordinateurs publics et partagés (plusieurs sessions) constituent des cibles de choix. Potentiellement, tout utilisateur passé outre l’écran de connexion peut s’adonner à cette activité de piratage.
La procédure se résume à la saisie de quelques commandes dans un terminal ou à l’exécution d’un script Python compilé pour l’occasion.
Il s’agit alors d’invoquer la fonctionnalité en charge de la gestion des privilèges, pour modifier à sa guise le mot de passe de chaque session, y compris celle d’un éventuel administrateur.
En syntaxe informatique, cela donne « $ dscl localhost -passwd /Search/Users/machin« , où « localhost » spécifie une action en local, quand « machin » correspond à un nom d’utilisateur.