Sécuriser son boot loader

Un article de SeRoM - Wiki.

Sommaire

[modifier] Profiter d'un boot laoder non sécurisé

Sous Linux deux 'bootloaders' sont principalement utiliser pour charger le système d'exploitation en mémoire, il s'agit de GRUB et de LILO. Nous pouvons profiter du fait que bien peut d'utilisateurs (moins de 1%) sécurisent ces bootloaders pour avoir accès à une console root, pour par exemple voir les mots de passe des fichier /etc/passwd ou /etc/sadow.

[modifier] Comment voir le fichier /etc/passwd ou shadow

Rien de plus simple:

Lors du démarrage de GRUB vous attendez qu'il vous demande quel système vous voulez démarrer, à se moment là vous appuyer sur e pour pouvoir éditer le fichier de démarrage:

root (hd0,5)
Kernel /boot/vmlinuz-2.6.16-2-686 root=/dev/hda6 ro
initrd	/boot/initrd.img-2.6.16-2-686
savedefault

voilà le plus dur est fait, on y est presque, si si je vous promet ...

Maintenant on revient dans le choix du système de démarrage et on appuie sur la touche c pour passer en mode shell...

là il faut retaper les lignes que vous avez vu dans votre menu de démarrage ... juste une petite modification ... tapez :

init=/bin/sh 

à la fin de la ligne commençant par Kernel.

ça devrait donner à peut près ça :

Kernel /boot/vmlinuz-2.6.16-2-686 root=/dev/hda6 ro init=/bin/sh 

Voilà facile non ? Non vous trouvez ça trop dur alors peut-être aurais vous la chance d'être devant un ordinateur avec LILO, car dans ce cas il suffit de taper : 'linux single' pour être devant un sheel root...

Alors maintenant comment voir les fichiers ...

vous tapez pour accéder à la partition voulu :

root(hd0,0)

et ensuite cat pour voir les fichiers :

cat /etc/passwd
cat /etc/shadow

[modifier] Sécuriser son boot loader

bon maintenant tout ça c'est bien beau mais comment faire pour se protéger de cela :

[modifier] Si vous avez GRUB:

Ajouter simplement au début du fichier /boot/grub/menu.lst

password --md5 XXX

avec XXX qui désigne votre mots de passe crypté (man grub-md5-crypt)

[modifier] Si vous avez LILO:

Ajouter dans le fichier /etc/lilo.conf

password = XXXX
restricted

ici XXX est le mot de passe en clair...

[modifier] Conclusion

Comme vous avez pu le voir il est très facile pour quelqu'un qui a un accès physique à votre ordinateur de connaître vos mots de passe si votre bootloader n'est pas sécurisé, donc à bon entendeur ...