Interprétation et analyse des résultats de balayage
Dans cette étape, nous allons apprendre à comprendre et à analyser les résultats de nos balayages Nmap. En matière de sécurité des réseaux, être capable de lire la sortie d'un balayage est essentiel. Cela vous aide à prendre des décisions éclairées concernant la sécurité de votre réseau. Par exemple, vous pouvez identifier les vulnérabilités potentielles ou les points d'accès non autorisés en fonction des résultats du balayage.
Comparaison de différents types de balayages
Effectuons quelques autres types de balayages pour voir comment leurs sorties diffèrent. Tout d'abord, nous allons effectuer un balayage complet. Ce type de balayage inclut toutes les options courantes, ce qui nous donne une vue détaillée de la cible.
nmap -A -p 8080 localhost > /home/labex/project/comprehensive_scan.txt
Dans cette commande, le drapeau -A
est très important. Il active les options de balayage agressif. Ces options incluent la détection du système d'exploitation de la cible, la détermination de la version des services en cours d'exécution, le balayage des scripts disponibles et l'exécution d'un traceroute. En utilisant ce drapeau, nous pouvons collecter beaucoup d'informations utiles sur la cible.
Maintenant, examinons les résultats de ce balayage complet.
cat /home/labex/project/comprehensive_scan.txt
La sortie sera assez détaillée. Elle contiendra des informations sur le service en cours d'exécution sur le port 8080, tous les scripts possibles qui pourraient être exécutés contre le service et d'autres détails pertinents. Ces informations détaillées nous aident à mieux comprendre la situation de sécurité de la cible.
Compréhension des états des ports
Nmap indique plusieurs états possibles pour les ports. Chaque état nous dit quelque chose de différent sur le statut du port.
- open : Cela signifie qu'une application accepte activement les connexions TCP ou les paquets UDP sur ce port. C'est comme une porte ouverte prête à recevoir des visiteurs.
- closed : Le port est accessible, mais aucune application n'écoute dessus. C'est comme une porte déverrouillée, mais personne n'est à l'intérieur pour répondre.
- filtered : Nmap ne peut pas déterminer si le port est ouvert car le filtrage des paquets empêche ses sondes d'atteindre le port. C'est comme s'il y avait un garde de sécurité bloquant la vue de Nmap sur la porte.
- unfiltered : Le port est accessible, mais Nmap ne peut pas dire s'il est ouvert ou fermé. C'est comme regarder une porte sans pouvoir savoir si quelqu'un est à l'intérieur.
- open|filtered : Nmap ne peut pas déterminer si le port est ouvert ou filtré. C'est un état incertain où nous ne sommes pas sûrs si la porte est ouverte ou bloquée.
- closed|filtered : Nmap ne peut pas déterminer si le port est fermé ou filtré. De même que l'état précédent, nous ne sommes pas sûrs si la porte est verrouillée ou bloquée.
Voyons comment ces états apparaissent dans nos résultats de balayage en scannant une plage de ports.
nmap -p 8080-8085 localhost > /home/labex/project/port_states.txt
Une fois le balayage terminé, nous pouvons afficher les résultats.
cat /home/labex/project/port_states.txt
Vous devriez voir que le port 8080 est indiqué comme ouvert, tandis que les autres ports de la plage sont probablement indiqués comme fermés. Cela nous donne une idée de quels ports sont activement utilisés et lesquels ne le sont pas.
Analyse pratique des résultats
Maintenant, créons un rapport synthétique en extrayant les informations clés de nos résultats de balayage. Nous allons utiliser la commande grep
pour filtrer les ports ouverts. Les ports ouverts sont très importants pour l'évaluation de la sécurité car ils sont des points d'entrée potentiels pour les attaquants.
grep "open" /home/labex/project/comprehensive_scan.txt > /home/labex/project/open_ports.txt
Après le filtrage, nous pouvons afficher les résultats.
cat /home/labex/project/open_ports.txt
Cette sortie filtrée nous permet de nous concentrer plus facilement sur les ports ouverts. Au lieu de regarder tout le rapport de balayage détaillé, nous pouvons rapidement voir quels ports sont ouverts et commencer à évaluer leurs risques de sécurité.
Conséquences en matière de sécurité
Comprendre les conséquences en matière de sécurité de vos résultats de balayage est crucial. Voici quelques points clés à retenir.
- Ports ouverts inutiles : Tout port ouvert est un point d'entrée potentiel pour les attaquants. Si un service n'est pas nécessaire, il devrait être désactivé. Par exemple, si vous avez un port ouvert pour un service que vous n'utilisez plus, un attaquant pourrait utiliser ce port pour accéder à votre système.
- Services obsolètes : Les anciennes versions de services peuvent avoir des vulnérabilités connues que les attaquants peuvent exploiter. Il est important de maintenir vos services à jour pour éviter ces risques.
- Services mal configurés : Même les services à jour peuvent être vulnérables s'ils sont mal configurés. Une petite erreur de configuration peut exposer votre système aux attaques.
Dans notre environnement de laboratoire, nous avons intentionnellement ouvert le port 8080 pour le serveur HTTP. Mais dans un environnement de production du monde réel, vous devriez évaluer soigneusement si ce service est nécessaire et s'il est correctement sécurisé.
Arrêt du serveur HTTP
Avant de terminer cette étape, nettoyons en arrêtant le serveur HTTP que nous avons démarré plus tôt. Tout d'abord, nous devons trouver son identifiant de processus.
ps aux | grep "python3 -m http.server"
Lorsque vous exécutez cette commande, recherchez la ligne qui montre notre processus de serveur HTTP. La deuxième colonne de la sortie contient l'identifiant de processus (PID). Une fois que vous avez trouvé le PID, vous pouvez l'utiliser pour arrêter le serveur.
kill <PID>
Remplacez <PID>
par l'identifiant de processus réel de la sortie de la commande précédente.
Alternativement, vous pouvez utiliser la commande suivante pour trouver et tuer le processus en une seule étape.
pkill -f "python3 -m http.server"
Après avoir arrêté le serveur, nous devons vérifier qu'il n'est plus en cours d'exécution.
ss -tuln | grep 8080
Si il n'y a pas de sortie, cela signifie que le serveur a été arrêté avec succès.