Vous êtes sur la page 1sur 17

Module SID IGA

2010-2011

TP 1 : Gestion des mots de passe sous Linux et Windows

Objectifs du TP 1. Se familiariser avec les outils de rcupration de mots de passe sous Linux et Windows 2. Connatre les techniques de rinitialisation des mots de passes et comment sen protger Outils 1. 2. 3. 4. Solution de virtualisation : Vmware Workstation 6 Machine virtuelle Linux Machine virtuelle Windows Outils de craquage : ophcrack, John The Ripper, Offline NT Password & Registry Editor

Environnement Pour des raisons de simplicit, le TP sera ralis par binme sur des stations Windows menes de Vmware Workstation. Procdez linstallation de Vmware et familiarisezvous avec cet environnement en procdant la cration de plusieurs machines virtuelles (des iso de Windows et Linux ainsi que Vmware Workstation 6 vous seront fournis). I. Introduction Lidentification est ltape qui consiste fournir un couple (login, mot_de_passe) valide pour laccs une ressource (station, serveur, priphrique, base de donnes, ). Afin de donner laccs la ressource, le systme dexploitation compare le mot de passe saisi par lutilisateur et celui dfini par ladministrateur. Ceci implique que le systme dexploitation dispose dune base pour stocker les mots de passe dfinis par ladministration. Pour des raisons de scurit, gnralement, un mot de passe choisi par un utilisateur est hach et le rsultat est enregistr dans la base des mots de passe ct du login correspondant et quelques informations de connexion. Le mot de passe hach est appel empreinte, ou hash en anglais. Pour vrifier l'authentification de l'utilisateur, une comparaison entre l'empreinte enregistre dans la base des mots de passe et le

hachage calcul partir du mot de passe en clair de lutilisateur est effectue. La forme et la gestion de cette base de mots de passe diffrent dun systme dexploitation un autre : Les systmes Unix traditionnels gardent l'information sur les comptes utilisateurs, y compris les mots de passe crypts, dans un fichier texte appel "/etc/passwd''. Comme ce fichier est utilis par beaucoup d'utilitaires, (comme "ls'' pour afficher les permissions des fichiers), le fichier doit pouvoir tre lu par tout le monde ce qui reprsente un risque pour la scurit. Sous les systmes linux modernes, les fichiers contenant les mots de passe sont diviss en deux. 1. /etc/passwd contient uniquement les logins, les chemins des Home, les groupes mais pas le mot de passe. Le mot de passe est rang comme un simple caractre x. Il et ressemble cela : smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash Entre dans un fichier passwd = nom d'utilisateur : x dans le champ mot de passe : numro d'identification de l'utilisateur : numro d'identification du groupe : nom complet de l'utilisateur : rpertoire personnel de l'utilisateur : compte shell. 2. /etc/shadow, contient le mot de passe cod de mme que toute autre information telle que les valeurs relatives l'expiration du compte ou du mot de passe et ressemble cela : smithj:Ep6mckrOLChF.:10063:0:99999:7::: Le fichier /etc/shadow ne peut tre lu que par le compte root. La majorit des versions de Window stockent les mots de passe locaux dans une partie de la base de registres (base de donnes binaire renfermant toutes les donnes de configuration du systme et des applications) nomme SAM (Security Account Manager ou gestionnaire des comptes de scurit). SAM est stock physiquement dans le fichier %SystemRoot%\system32\Config\SAM (la valeur par dfaut de SystemRoot est C:\Windows sous Windows Vista, 2008 et 7, C:\WINDOWS sous Windows XP et 2003 et C:\WINNT pour les versions prcdentes de Windows). Une entre utilisateur de la SAM est constitue du : o RID = le numro d'identification unique de l'utilisateur dans le domaine ou sur le systme o de son nom de connexion, o de son nom complet, o de commentaires, o de son rpertoire principal et o de ses empreintes LanMan et NTLM (LM-hash et NTLM-hash).

Contrairement ce que l'on pense en gnral, il n'est pas aussi rare que a d'oublier son mot de passe Administrateur. Tout n'est pas perdu lorsque vous vous trouver dans cette situation. Typiquement, deux solutions sont possibles :

Rinitialiser le mot de passe administrateur : dans ce cas, un nouveau mot de passe sera configur la place de lancien mot de passe (sans pour autant connatre lancien). Rcuprer le mot de passe administrateur : souvent on parle ici de craquage de mot de passe. Dans ce cas, le mot de passe nest pas modifi, mais on essaie de le deviner.

Lgalement, le craquage de votre mot de passe est une activit lgitime (bien sur lorsquil sagit de votre PC et de votre compte). Le fait de connatre les techniques de craquage permet de mieux se protger. Il existe plusieurs outils et techniques (libres ou gratuits) qui permettent de rcuprer ou de rinitialiser un mot de passe pour les systmes dexploitation Unix/Linux ou Windows. Dans ce TP, nous allons tudier quelques techniques et outils de rcupration de mots de passe sous Linux et Windows. II. Rinitialisation de mots de passe A. Sous Linux : Pr- requis : Dans certains cas, on peut dmarrer dans le compte administrateur (root) sans connatre le mot de passe de root si on a un accs physique la station. Nous supposerons ici qu'il n'y a pas de mot de passe requis pour le BIOS ni pour le chargeur de dmarrage (Grub ou Lilo) qui empche de lancer le systme. Enfin il faut que le systme soit configur par dfaut pour dmarrer en mode console. Procdure de rinitialisation dun mot de passe: La procdure est compose de deux tapes : 1. Dmarrage en mode Single : o Si vous navez pas eu le temps de voir le chargeur du dmarrage, redmarrer votre PC et puis faites echap ou ESC avant la fin du lancement du Bios. o Si le chargeur de dmarrage est Grub: Au dmarrage, slectionner la ligne de commande qui dmarre linux (se mettre dessus, en se dplaant avec les flches du clavier) Appuyer sur la touche "e" (dit) Se positionner laide de la flche sur la ligne qui contient kernel puis appuyer sur la touche "e" (dit) Ajouter le mot "single" la fin de la ligne (ou juste avant quiet) Appuyer sur Entre Appuyer sur la touche "b" pour dmarrer le systme o Si le chargeur de dmarrage est Lilo

Quand la ligne "Boot:" apparait en bas de l'cran, taper: "linux single" 2. Excution de la commande passwd et changement du mot de passe : Une fois le systme dmarr, on se retrouve en ligne de commande (attention le clavier est parfois en QWERTY, donc certaines touches ne correspondent pas, il faut taper q pour avoir le a et z pour avoir le w par ex) o Taper "passwd" et appuyer sur Entre o Entrer un nouveau mot de passe puis Entre (puis reconfirmer) o Taper "reboot" pour redmarrer. Voila le mot de passe est re-initialis Questions : 1. Procder la rinitialiser du mot de passe root de la machine virtuelle Fedora fournie. Le nouveau mot de passe est admin1234 2. Proposer une solution pour contourner cette faiblesse

Procdure de protection du chargeur de dmarrage: Les raisons essentielles pour lesquelles il est important d'utiliser des mots de passe pour protger un chargeur de dmarrage Linux sont : 1. Empcher l'accs la console GRUB Si l'ordinateur utilise GRUB comme chargeur de dmarrage, un agresseur peut utiliser l'interface de l'diteur de GRUB afin de changer sa configuration (comme on a fait tout lheure) 2. Empcher l'accs des systmes d'exploitation non-scuriss Dans le cas d'un systme double dmarrage, un agresseur peut, au moment du dmarrage, choisir un systme d'exploitation tel que DOS qui ne prend en compte ni les contrles d'accs, ni les permissions de fichiers. Il est possible de scuriser GRUB en ajoutant une directive de mot de passe dans son fichier de configuration. Pour ce faire : 1. Dfinissez d'abord un mot de passe (on prendra ici rootadmin comme mot de passe pour le GRUB), puis ouvrez une invite de commande, connectezvous en tant que super-utilisateur et saisissez :

/sbin/grub-md5-crypt l'invite, insrez le mot de passe de GRUB et appuyez sur la touche [Entre]. Cette opration renverra un hachage MD5 du mot de passe.

2. Ensuite, ditez le fichier de configuration de GRUB, savoir /boot/grub/grub.conf. Ouvrez le fichier et en dessous de la ligne timeout figurant dans la partie principale du document, ajoutez la ligne suivante : password --md5 <password-hash> Remplacez <password-hash> par la valeur donne par /sbin/grub-md5-crypt 3. Lors du prochain dmarrage du systme, le menu de GRUB ne vous permettra pas d'accder l'diteur ou l'interface de commande sans appuyer auparavant sur la touche [p] suivi du mot de passe de GRUB. Attention, le clavier est QWERTY Note : Malheureusement, cette solution n'empche pas un agresseur de dmarrer un systme d'exploitation non-scuris dans l'environnement d'un systme double dmarrage. Afin d'viter cette situation, il est ncessaire d'diter une partie diffrente du fichier de configuration /boot/grub/grub.conf, de trouver la ligne title du systme d'exploitation non-scuris et dajouter directement en dessous, une ligne spcifiant lock. Pour un systme DOS, ca devrait commencer par des lments similaires ceux figurant ci-dessous : title DOS lock Questions : 1. Procder la scurisation du GRUB. Tester le bon fonctionnement. B. Sous Windows La rinitialisation de mot de passe sous Windows NT, Windows 2000, Windows XP, Windows 2003, Windows 2008, Windows Vista et Windows 7 peut tre ralise laide de loutil Offline NT Password & Registry Editor distribu sous format de CD (iso) ou usb. L'utilitaire dtecte les comptes utilisateurs et permet de les dverrouiller ou de les dsactiver. Il permet galement d'diter la base de registres. Vous pouvez aussi ajouter un utilisateur dans le group local Administrateur pour devenir administrateur. Procdure de rinitialisation de mot de passe 1. Nous allons utiliser le fichier iso dOffline NT Password cd100627.iso . Au lieu de le graver sur un CD, VMware permet dattacher directement les fichiers ISO au lecteur disque. Connecter cd100627.iso au lecteur disque de la machine virtuelle Windows XP puis dmarrer l. Pour forcer le redmarrage du la machine virtuelle partir du CD, soit vous changez la squence de boot

dans le BIOS soit vous choisissez dans les rglages de la machine virtuelle de dmarrage partir du CD (dans rglages puis avancs) 2. Au boot, valider par la touche entre

3. Slectionner la partition contenant le systme dexploitation dont on souhaite rinitialiser un compte. Dans la plus part des cas, laisser le choix 1 pour slectionner la partition trouve et valider par la touche Entre

4. Laisser le choix du chemin du dossier de registre de Windows (contenant le fichier SMA) et valider par la touche Entre

5. Laisser le choix 1 pour changer le mot de passe dans SAM et valider par la touche Entre

6. Laisser le choix 1 pour diter le compte et valider par la touche Entre

7. Laisser le compte Administrateur par dfaut et valider par la touche Entre. Vous pouvez aussi slectionner d'autres comptes. Il peut arriver que le compte soit dsactiv (dis=disabled) ou verrouill (lock=locked), il vous sera proposer de le ractiver ou le dverrouiller

8. Taper 1 pour mettre le mot de passe blanc et valider par la touche Entre. Vous pouvez aussi ajouter un nouveau mot de passe (choix 2), promouvoir un autre compte en administrateur (choix 3) ou dverrouiller et activer le compte (choix 4)

9. Taper ! pour quitter (clavier franais : Touches Maj+& ) et valider par la touche Entre

10. Taper q pour quitter (clavier franais : Touche a ) et valider par la touche Entre

11. Taper y pour valider les changements et valider par la touche Entre

12. Vous pouvez recommencer dans le menu sinon accepter le choix par dfaut n et valider par la touche Entre

13. Redmarrer la machine depuis la combinaison de touche Ctrl+Alt+Suppr. Se connecter sous Windows avec le compte Administrateur sans mot de passe

Questions :

1. Procder lannulation du mot de passe Administrateur et la cration dun utilisateur guest avec un mot de passe guest et ayant un privilge dadministrateur. 2. Proposer une solution qui permet de contourner cette faiblesse

III.

Rcupration des mots de passe La cryptanalyse est la science qui consiste tenter de comprendre un message ayant t chiffr sans possder la cl de chiffrement. Le processus par lequel on tente de comprendre un message en particulier est appel une attaque. Dans le cas des mots de passe on peut avoir : L'attaque par force brute : Il s'agit de tester, une une, toutes les combinaisons possibles. Cette mthode de recherche exhaustive ne russit que dans les cas o le mot de passe cherch est constitu de peu de caractres. Ces programmes tentent toutes les possibilits de mot de passe dans un ordre alatoire afin de berner les logiciels de scurit qui empchent de tenter tous les mots de passe dans l'ordre. Cette mthode est trs sensible aux capacits de calcul des machines effectuant l'algorithme.

Attaque par dictionnaire : Elle consiste tester une srie de mots de passe potentiels, les uns la suite des autres, en esprant que le mot de passe utilis pour le chiffrement soit contenu dans le dictionnaire (un ensemble de mots bien connus). Si ce n'est pas le cas, l'attaque chouera. Cette mthode repose sur le fait que de nombreuses personnes utilisent des mots de passe courants. Attaque par table arc-en-ciel (Rainbow Table) : une Rainbow table est une structure de donnes pour retrouver un mot de passe partir de son empreinte. Les tables contiennent une grande quantit de chanes qui proposent en alternance un mot de passe suivi de son empreinte. Ds que l'on a une bonne table, il est trs rapide de comparer le contenu de la table avec le mot de passe que l'on cherche. Il faut videment trouver une excellente table comportant le plus de caractres possible pour optimiser les chances de russites.

A. Sous Windows Parmi les logiciels qui utilisent le principe de table Rainbow pour la rcupration des mots de passe de Windows, on trouve le logiciel ophcrack. Procdure de rcupration de mot de passe Il existe plusieurs possibilits dutilisation de ce logiciel :

La version en ligne : http://www.objectif-securite.ch/en/products.php?. Dans cette version, on peut soumettre directement en ligne le hash du mot de passe pour le rcuprer (ou le contraire). La version installe. Il est possible dinstaller ophcrack en local sur son PC (versions Linux et Windows). Cependant, il faut tre administrateur sur la machine. Lutilisation est assez simple. Aprs lavoir install par exemple sous Windows, il suffit de 1. charger les tables grce au bouton tables (il faut les tlcharger avant) 2. charger le fichier SAM en local ou partir dun fichier dump (bouton load) 3. puis lancer le craquage

La version live : si tout va bien le CD est dtect et avant le chargement de Windows il se charge. 1. Lors du lancement CD, choisir avec les flches, interface graphique manual pour la configuration du clavier et de la langue puis faites Entre. Pour les configurations quon va utiliser : langue = fr_FR, le keymap = fr-latin1, Pour la rsolution de lecran, prenez cette de votre station hote(800*600*24).

2. Arriv un bureau, une fentre est affiche avec les diffrents noms des Comptes Utilisateur : ophcrack se lance automatiquement. Il vous suffit de cliquer sur "Scan" pour que le scan commence.

En cas darrt dophcrack, on peut le relancer partir du terminal avec la commande ./launch.sh Sil y a un message d'erreur apparait comme quoi les tables ne sont pas charges, cliquez sur Load et cherchez un dossier appel Ophcrack, puis le sous dossier appel 10000. Cliquez sur "Open" puis cliquez sur scan nouveau. La mme procdure peut tre utilise pour recharger des tables supplmentaires sil narrive pas trouver les mots de passe. 3. L'opration peut durer de quelques secondes une trentaine de minutes. Le mot de passe s'affiche en face de l'identifiant de la session (N pwd). Une fois termin, faites un clic droit sur le bureau et choisissez d'teindre l'ordinateur (c'est en anglais donc "Logout"). Votre PC s'teint, retirez le CD et test tout de suite si c'est le bon mot de passe !

Question : 1. Procder la rcupration des mots de passe de windows XP en connectant liso dophrack la machine virtuelle windows XP. 2. Proposer une mthode pour contrer cette attaque.

B. Rcuprer un mot de passe sous Linux John the Ripper (ou JTR, ou John) est un logiciel libre de cassage de mot de passe, utilis notamment pour tester la scurit d'un mot de passe (auditer). D'abord dvelopp pour tourner sous les systmes drivs d'UNIX, le programme fonctionne aujourd'hui sous une cinquantaine de plate-formes diffrentes, telles que Linux, BSD et ses drivs, DOS, Win32, BeOS, OpenVMS. John est l'un des craqueurs de mots de passe les plus populaires, car il inclut l'autodtection des tables de hachage utiliss par les mots de passes, l'implmentation d'un grand nombre dalgorithmes de cassage, par le fait qu'il soit trs facilement modifiable, et aussi qu'il soit possible de reprendre une attaque aprs une pause (arrt de la machine). (source wikipedia) John dispose de trois modes d'actions, le mode simple, l'attaque par dictionnaire, et le mode incrmental. Par dfaut, les trois modes sont excuts dans cet ordre l'un aprs l'autre, bien qu'il soit possible de lancer John directement dans un des modes. Il n'est pas ncessaire d'avoir un accs physique sur la machine auditer, tant qu'on dispose d'un fichier dans lequel sont enregistrs les mots de passe crypts. Procdure de rcupration de mot de passe

John s'utilise en ligne de commande : L'utilisateur commence par rcuprer la liste de mots de passe crypts, qu'il peut formater correctement pour la rendre comprhensible par John avec l'utilitaire unshadow. L'utilisateur lance John avec ou sans options, en prcisant le chemin du fichier ou sont enregistrs les mots de passe crypts. John affiche le type de formatage qu'il dtect. 1. Installation de John partir des sources en ligne de commande : a. Tlcharger la dernire version de John : john-1.7.6.tar.gz b. Dzipper et dtarer john-1.7.6.tar.gz laide de tar zxvf . c. Accder au rpertoire src de john-1.7.6 d. Lancer la compilation de john laide de la commande make clean linux-x86-sse2 pour une architecture x86 32 bits. Lexcutable se trouve alors dans le rpertoire run de john-1.7.6 2. Lancement de John : a. il suffit de taper ./john au un terminal dans le rpertoire run : la liste des options vous sera affiche comme suivant : Usage: john [OPTIONS] [PASSWORD-FILES] --config=FILE use FILE instead of john.conf or john.ini --single[=SECTION] "single crack" mode --wordlist=FILE --stdin wordlist mode, read words from FILE or stdin --rules[=SECTION] enable word mangling rules for wordlist mode Lorsque John est lanc sans option, il excute successivement quatre modes, du plus rapide au plus long : single (simple), wordlist (dictionnaire), rules (rgles dans le dictionnaire), incrmental (incrmental, brut) 3. Exemples dutilisation : mypasswd.txt : fichier qui contient le hash (unshadow, LM ou NTLM) ./john mypasswd.txt : Lance John the Ripper en mode normal john --single mypasswd.txt : Lance John the Ripper en mode single crack john --wordlist=password.lst --rules mypasswd.txt : Lance John the Ripper en utilisant une liste de mots de passe les plus utiliss avec des rgles dfinies john --incremental=mymode mypasswd.txt : Lance John the Ripper en utilisant la force brute avec toutes les combinaisons de caractres dans une plage donne john --show mypasswd.txt : Affiche les mots de passe trouvs enregistrs dans le fichier john.pot 4. Dans le cas dun systme Linux, la base des mots de passe est rpartie dans deux fichiers, /etc/passwd et /etc/shadow. il faut re-assembler les fichiers passwd et shadow (maintenant John peut travailler directement sur shadow). grce la commande ./unshadow . Il faut bien sr tre avec administrateur pour pouvoir accder aux fichiers de /etc/ a. ./unshadow /etc/passwd /etc/shadow > mypasswd.txt

Questions : 1. Crer deux utilisateurs test1 et test2 avec des mots de passe pas trs compliqu pour acclrer le processus. 2. Rassembler les deux fichiers de mots de passe 3. Lancer une attaque john sur ce fichier 4. Comment se protger contre ces attaques ?

Vous aimerez peut-être aussi