Par Mark Nielsen mark@tcu-inc.com
Salut !
S'il y a des modifications à cet article, vous trouverez l'original à http://www.tcu-inc.com/mark/articles/Breaking.html (en anglais). Ce court article traite du moyen simple que j'ai de pénétrer dans mon propre système quand je bousille le mot de passe root. Il y a des moyens bien plus faciles de le faire, mais celui-ci peut également servir quand on ne peut pas se loguer au système à cause d'erreurs dans des fichiers de configuration.
Okay, cette solution n'est pas indépendante de l'OS en question, ici Linux. Je me sers d'un cdrom bootable que j'ai eu à http://www.cheapbytes.com/. Il s'agit de la version Cheapbytes du cd Redhat 5.2.
Pour cet article, je pars du principe que l'ordinateur est partitionné de la manière suivante :
/dev/hda2 veut dire qu'on se sert du disque dur maître sur le contrôleur IDE principal, et root est sur la 2ème partition primaire du disque. Si le root était sur la première partition primaire, ce serait /dev/hda1.
Voici les étapes de la méthode que j'utilise pour pénétrer dans mon ordinateur :
cd /tmp
et retour chariot au clavier. Ceci nous mène à
un répertoire ou nous pouvons créer des fichiers, répertoires, etc.
mkdir /tmp/my_dir
mknod /tmp/my_dev b 3 2
mount /tmp/my_dev /tmp/my_dir
df
mkdir
crée un répertoire sur lequel nous pourrons monter la partition.
mknod crée un périphérique (device) pour la 2ème partition du disque dur maître. Ceci nous permet de "voir" la partition.
En particulier, b 3 2
veut dire la chose suivante : b
est pour
périphérique bloc (block device), 3
est le disque dur maître
sur le contrôleur IDE primaire de votre ordinateur, 2
est pour
signaler la 2ème partition.
mount prend le périphérique (device) qu'on peut "voir" et
le lie au répertoire /tmp/my_dir
df vous permet simplement de voir quels systèmes de fichiers sont montés et où.
Maintenant, pour notre exemple, nous pourrions soit éditer le fichier password contenant les mots de passe ou faire quelque chose de simple comme annuler le lancement automatique de xwindows au démarrage, si votre ordinateur est configuré pour utiliser xdm. Faisons l'exemple xwindows.
cd /tmp/my_dir/etc
vi inittab
x
efface un caractère.
i
mode insertion de caractères.
Esc
sort du mode insertion de caractères.
wq!
enregistre, quitte et ignore tout problème avec les fichiers en lecture seule.
h
déplace un caractère è gauche
l
déplace un caractère è droite
k
monte d'une ligne
j
descend d'une ligne
id:5:initdefault:
Supprimez le 5
en positionnant le curseur sur le 5
, puis
en tappant x
. Entrez i
pour passer en mode insertion. Entrez 3
.
Appuyez sur la touche Echap
(ou Esc
, selon votre clavier).
Entrez wq!
suivi du retour chariot.
cd /tmp
umount /tmp/my_dir
df
C'est tout ! Vous pouvez également utiliser cette méthode pour modifier le fichier password et faire d'autres choses.
Naturellement, l'idéal est d'avoir un mot de passe dans le BIOS de votre ordinateur. Si vous n'avez pas physiquement sécurisé l'accès à votre ordinateur, alors n'importe qui peut utiliser cette méthode. Même si vous mettez un mot de passe dans le BIOS, quelqu'un peut toujours enlever le disque dur en démontant l'ordinateur.
Mark Nielsen "Où 98 n'a pas de sens.", www.tcu-inc.com sales@tcu-inc.com, The Computer Underground, Inc. 614-485-0506, ordinateurs, programmation, réseau, Perl, PHP, SQL, HTMl, Linux, Unix
Copyright 1999, Mark Nielsen, publié dans le numéro 41 de la Linux Gazette, Mai 1999
Traduction française : Thomas Ducray