De nombreux logiciels de cassage de mots de passe sont utilisés contre les empreintes Windows. Voici les plus usités ainsi que les plus originaux.
L0phtCrack est assurément le logiciel le plus connu pour casser les mots de passe Windows. Il s'agit à l'origine d'un shareware pour Windows écrit par Mudge du groupe L0pht et aujourd'hui accessible sur le site <http://www.atstake.com/research/lc3/>.
Il supporte les chiffrements LanMan et NTLM avec ou sans défi/réponse. Par conséquent, il est capable de s'attaquer aussi bien à un fichier de mots de passe récupéré localement ou à distance via SMB, que de s'attaquer aux mots de passe capturés sur le réseau sous forme de défi/réponse grâce à un renifleur intégré.
Lors de sa version 2.52, L0phtCrack possédait la mise en oeuvre LanMan la plus rapide mais John the Ripper l'ayant détrôné avec ses versions 1.6.x-dev , L0phtCrack possède désormais une fonctionnalité de cassage distribué depuis sa version 3.0.
Seules les sources de la version 1.5 sont disponibles, celles-ci compilant aussi sous Unix. Si la mise en oeuvre de cette ancienne version est très loin d'être optimale, elle a pour avantage de rendre plus intelligibles les différents algorithmes en se référant directement à des sources qui fonctionnent.
Password Appraiser est un logiciel commercial édité par Quakenbush Consulting, Inc. et est disponible sur <http://www.quakenbush.com/>, une version de démonstration est téléchargeable.
Sa particularité est de travailler à partir d'un dictionnaire pré-calculé. La version libre est fournie avec une petite base et la version commerciale avec un CDROM.
S'il ne supporte que le chiffrement LanMan, il faut se méfier d'une fonction activée par défaut nommée "Internet Query". Celle-ci consiste à envoyer au site web pour interrogation de la base centrale les empreintes qui n'ont pas pu être cassées.
De plus, ce logiciel considère comme sûr tout mot de passe absent de sa base. Cependant, comme il manque certains mots de passe usuellement cassés en moins de quelques heures, l'administrateur ressent un faux sentiment de sécurité.
Ce vieux logiciel Open Source pour MSDOS ne possède aujourd'hui ni auteur ni homepage. Il attaque activement les connexions à des partages SMB pour en récupérer les mots de passe en clair.
Lors d'une connexion, le client envoie au serveur la liste des différentes versions du protocole SMB (dialectes) qu'il connaît et normalement le serveur répond avec le dialecte le plus évolué connu des deux. Dans notre cas, l'expression "différents dialectes" signifie "fonctions de hachage de mot de passe" utilisables. Quant au "dialecte plus évolué" il s'agit en fait de la fonction la moins sensible aux attaques. Si besoin est, la réponse du serveur est accompagnée du défi à utiliser lors de l'authentification.
Le principe de l'attaque est très simple : le programme écoute le réseau en attendant qu'un client se connecte à un serveur. Lorsque le client a envoyé à un serveur la liste des dialectes qu'il connaît alors le programme demande au client d'envoyer son mot de passe en clair en répondant plus rapidement que le serveur.
Cette attaque nommée "downgrade" possède une variante où un pirate fait en sorte qu'un client se connecte sur un programme relais et ce dernier se connecte alors au serveur. Les données échangées entre le client et le serveur transitant toutes par le relais, le pirate change la demande du serveur de hachage du mot de passe par une demande d'envoie en clair. Lors de cette attaque de l'intercepteur (man in the middle en anglais), le pirate n'a plus qu'à enregistrer les mots de passe transitant en clair. La possibilité de capturer en direct les échanges de fichiers et celle de leurs modifications au fil des transferts est alors une cerise sur le gateau.
Crack est le père des logiciels de cassage moderne, contenant depuis très longtemps toutes les fonctions de génération de mots de passe aujourd'hui classiques. Sa version actuelle ne supporte que les mots de passe pour Unix, mais un patch existe pour casser les empreintes LanMan.
Ne pas confondre la version patchée de Crack avec NTCrack, logiciel moins sophistiqué mais dont les sources sont plus compréhensibles.
John the Ripper est actuellement le logiciel de cassage le plus évolué, aussi bien en termes d'algorithmes de chiffrement supportés, d'algorithmes de génération de mots de passe mis en oeuvre, que d'architectures processeur supportées.
S'il n'existe aucune interface graphique, une version Windows est disponible et supporte comme toutes les autres l'algorithme LanMan. S'il est bien moins sexy que L0phtCrack, John the Ripper est, lorsqu'il est utilisé avec intelligence, bien plus puissant.
Nous reviendrons sur ce logiciel dans le prochain article, en expliquant tout ce qui fait sa force.
Côté utilisateurs il existe deux vecteurs d'attaque.
Sous les postes Windows clients, de Windows 3.x à Windows Millenium, à chaque fois qu'un utilisateur local se connecte sur un serveur distant alors ses données d'authentification (login, serveur et partage distants) sont enregistrées dans un fichier *.pwl dans le répertoire système du poste client. Jusqu'à la première version de Windows 95, il suffit simplement de décoder le fichier pour obtenir les données. À partir de Windows 95 OSR1, ce fichier est chiffré en RC4 avec le mot de passe d'authentification locale de l'utilisateur qu'il suffit de casser pour obtenir toutes ces données en clair. Plusieurs logiciels existent pour effectuer cela, comme pwlcrack et pwltools.
Du côté des logiciels, ceux ayant besoin du mot de passe de l'utilisateur pour accéder à un serveur (messagerie, web, etc.) sauvegardent les mots de passe des utilisateurs de façon codée pour les réutiliser sans ennuyer l'utilisateur à les lui redemander... Ces données sont enregistrées par exemples dans un fichier nommé preferences.js par Navigator et dans une partie de la base de registres par MSIE.