Techniques avancées de balayage furtif
Dans cette étape, nous allons explorer des techniques d'analyse plus avancées offrant un niveau de furtivité encore plus élevé. Ces techniques sont cruciales en cybersécurité car elles permettent de recueillir des informations sur un réseau cible sans être facilement détecté. Une telle technique puissante est l'analyse inactive, également connue sous le nom d'analyse zombie. Cette méthode vous permet d'analyser une cible tout en masquant votre identité derrière un autre hôte.
Avant de commencer, il est important de vous assurer que vous êtes dans votre espace de travail. C'est là que tous vos fichiers et commandes liés au projet seront exécutés. Pour naviguer vers votre espace de travail, exécutez la commande suivante dans votre terminal :
cd /home/labex/project
Comprendre l'analyse inactive
L'analyse inactive est l'une des techniques d'analyse les plus furtives disponibles dans Nmap. Mais comment fonctionne-t-elle ? Eh bien, elle utilise un hôte tiers, que nous appelons un « zombie », pour effectuer l'analyse. Cela donne l'impression que l'analyse provient de l'hôte zombie et non de vous.
Décomposons le processus d'une analyse inactive étape par étape :
- Tout d'abord, le scanner envoie une sonde à l'hôte zombie. Cette sonde aide le scanner à déterminer la séquence actuelle d'ID IP du zombie. La séquence d'ID IP est un numéro unique que l'hôte attribue à chaque paquet IP qu'il envoie.
- Ensuite, le scanner envoie un paquet SYN à la cible. Cependant, il définit l'adresse IP source de ce paquet comme étant l'adresse IP du zombie. Un paquet SYN est utilisé pour initier une connexion TCP.
- Si le port de la cible est ouvert, la cible répondra avec un paquet SYN-ACK. Ce paquet est envoyé au zombie car c'est l'adresse IP source qu'il a vue dans le paquet SYN.
- Le zombie, qui ne s'attendait pas à ce paquet SYN-ACK, enverra un paquet RST à la cible. Un paquet RST est utilisé pour réinitialiser une connexion TCP.
- Le scanner sonde ensuite à nouveau le zombie. Il vérifie si la séquence d'ID IP du zombie a augmenté.
- Si la séquence d'ID IP a été incrémentée, cela indique que le port de la cible est ouvert. En effet, le zombie a envoyé un paquet RST en réponse au SYN-ACK de la cible.
La beauté de cette technique réside dans sa furtivité. La cible ne voit que la communication provenant du zombie, pas du scanner réel. Ainsi, il est très difficile pour la cible de détecter qu'elle est analysée.
Exécution d'une analyse inactive
Maintenant, exécutons une analyse inactive à l'aide de Nmap. Dans une situation réelle, vous utiliseriez un hôte zombie externe. Mais pour ce laboratoire, nous allons simuler le processus en utilisant votre machine locale.
Exécutez la commande suivante dans votre terminal :
sudo nmap -sI 127.0.0.1 localhost -p 8080 > /home/labex/project/idle_scan.txt
Commençons par comprendre chaque partie de cette commande :
sudo est utilisé car Nmap a besoin d'un accès aux sockets bruts pour effectuer l'analyse inactive. L'accès aux sockets bruts permet à Nmap de créer et d'envoyer des paquets IP personnalisés, ce qui est nécessaire pour ce type d'analyse.
nmap est l'outil d'analyse bien connu que nous utilisons pour cette tâche.
-sI 127.0.0.1 spécifie que nous effectuons une analyse inactive et utilisons 127.0.0.1 (qui est le localhost) comme hôte zombie.
localhost est la cible que nous voulons analyser.
-p 8080 indique à Nmap de ne scanner que le port 8080 sur la cible.
> /home/labex/project/idle_scan.txt redirige la sortie de l'analyse vers un fichier texte. De cette façon, nous pouvons facilement revoir les résultats plus tard.
Après avoir exécuté l'analyse, examinons les résultats. Utilisez la commande suivante pour afficher le contenu du fichier de sortie :
cat /home/labex/project/idle_scan.txt
Vous pourriez voir une sortie similaire à ceci :
Démarrage de Nmap 7.80 ( https://nmap.org ) le 2023-10-25 à 12h10 UTC
Analyse inactive utilisant le zombie 127.0.0.1 (127.0.0.1:80); Classe : Incrémentale
Saut de l'analyse inactive contre localhost (127.0.0.1) -- vous ne pouvez pas effectuer d'analyse inactive sur votre propre machine (localhost).
Rapport d'analyse Nmap pour localhost (127.0.0.1)
L'hôte est actif.
PORT ÉTAT SERVICE
8080/tcp inconnu http-proxy
Nmap terminé : 1 adresse IP (1 hôte actif) analysée en 2,03 secondes
Remarquez que Nmap signale qu'il saute l'analyse inactive. En effet, vous essayez d'utiliser votre propre machine à la fois comme zombie et comme cible. Dans un scénario réel avec des hôtes distincts, cette technique serait très efficace pour les analyses secrètes.
Même si nous avons cette limitation dans notre environnement de laboratoire, cet exercice vous montre toujours comment utiliser la commande d'analyse inactive. En pratique, vous choisiriez un autre hôte comme zombie, et l'analyse s'exécuterait sans ce message d'avertissement.
Cette technique avancée est très précieuse lorsque vous avez besoin d'une furtivité maximale. Elle rend extrêmement difficile pour la cible de retracer l'analyse jusqu'au scanner réel.
Comparaison des résultats d'analyse
Comparons les sorties des deux types d'analyse pour voir les différences :
echo "=== Résultats de l'analyse furtive ===" && cat /home/labex/project/stealth_scan.txt
echo "=== Résultats de l'analyse inactive ===" && cat /home/labex/project/idle_scan.txt
Les deux analyses ont réussi à détecter le port 8080 ouvert, mais l'analyse inactive affiche des informations supplémentaires sur la technique d'analyse utilisée.
Nettoyage
Avant de terminer, nettoyons notre environnement en arrêtant le serveur web :
pkill -f "nc -lvp 8080"
Cela met fin au processus netcat exécutant notre serveur web sur le port 8080.