Suivi réseau : comparer des scans Nmap avec l’outil ndiff

Cybersécurité

Suivi réseau : comparer des scans Nmap avec l’outil ndiff

I. Présentation

Vous avez sous la main deux résultats de scan Nmap, mais comment savoir ce qui a changé entre ces deux scans ? Y a-t-il de nouveaux hôtes, des services en plus ou en moins ? Nous allons voir comment savoir cela rapidement dans cet article.

La comparaison d’un scan Nmap avec un autre peut être très utile dans le contexte d’un suivi régulier de la cartographie du système d’information. Effectuer des scans réguliers, avec les mêmes options et vers les mêmes réseaux cibles, permet de s’assurer que rien n’a changé, ou au contraire référencer les changements observés et s’assurer qu’ils sont attendus et justifiés.

Cette opération peut être effectuée très rapidement et facilement avec la commande que nous allons apprendre à utiliser ici.

II. La commande ndiff : utilisation et interprétation des résultats

A. Installer la commande ndiff

Ndiff est un utilitaire fourni avec la suite Nmap qui permet de comparer deux scans et de nous afficher les différences de résultats entre les deux. L’avantage de l’outil est qu’il est développé par le même éditeur, on peut donc s’attendre à ce qu’il soit opérationnel dans n’importe quel cas.

Il s’installe généralement en même temps que Nmap, mais il y a toujours des exceptions. Pour vérifier que est bien présent, utilisez la commande suivante :


Dans mon cas, le binaire est présent dans le dossier . Si vous avez un autre retour que celui-ci, vous devrez installer via les commandes habituelles de gestion des paquets :


B. Avoir le bon format de résultat nmap

Pour commencer, sachez que ne peut travailler que sur le format de sortie XML de Nmap. Les autres formats ne disposent pas d’une structure qui est aussi optimisée pour des scripts ou des programmes alors que le format XML est fait pour. Sa structure est connue à l’avance et facile à parcourir via des langages comme Python ou PowerShell.

Pour enregistrer le résultat d’un scan réseau Nmap en XML, vous devez utiliser l’option (Output XML) :


Le résultat s’affiche toujours dans le terminal, mais est également enregistré dans le fichier . Bien entendu, pour comparer deux scans, il vous faut deux fichiers, idéalement avec des différences pour que ce soit plus parlant. Dans mon cas, j’ai choisi d’utiliser l’infrastructure GOAD. Mon premier scan contiendra 4 des 5 machines qui composent le SI, et je démarrerai la 5ᵉ pour le second scan :


Vous ne connaissez pas GOAD ? Il s’agit d’un mini-SI déployable sur Virtual Box, VMware Workstation ou dans le cloud pour vous entrainer à la cybersécurité offensive ou défensive, découvrez-le via notre article dédié :

Maintenant que nous avons nos deux fichiers, nous pouvons utiliser la commande .

C. Comparer deux scans nmap

Cette commande a l’avantage d’être simple d’utilisation, voyez plutôt :


Voici un exemple avec une sortie présentant des différences :


Première différence à noter : la date et les options d’exécution. Forcément, il faut s’assurer que les options utilisées et les cibles scannées soient les mêmes pour que les différences remontées par aient du sens. Cela inclut aussi les flags de détection de services, de version, etc.

Ensuite, la lecture est plutôt simple et ressemble fortement à celle de la commande , qui permet de comparer deux fichiers texte. Les lignes qui comment par un “+” sont nouvelles, elles n’existaient pas dans le premier scan () et les lignes commençant par un “-” ne sont plus présentes dans le second scan ().

Dans mon cas, on comprend donc rapidement qu’un nouvel hôte est apparu sur le réseau () avec ses services. Aussi, pour l’hôte , qui a déjà été identifié dans le scan précédent, 2 nouveaux ports sont apparus ( et ). est aussi intéressant pour détecter des changements d’état de ports (ouvert > fermé, filtré > ouvert, etc.), pas seulement l’apparition/disparition de services ou d’hôtes.

Sachez que si vous souhaitez automatiser ce processus de comparaison, vous pouvez aussi demander à d’enregistrer sa sortie au format XML. Celle-ci devient alors interprétable bien plus facilement via des scripts ou des programmes (pour afficher graphiquement les comparaisons, alimenter une base de données, archiver, etc.).


Cette sortie XML est différente de celle de Nmap, elle est spécifiquement conçue pour représenter les différences entre les deux scans.

III. Conclusion

La comparaison de scans Nmap permet de suivre l’évolution de votre réseau et détecter rapidement les changements (nouveaux hôtes, services modifiés, etc.). Avec , cet outil intégré à Nmap, la tâche devient simple et efficace : une commande suffit pour identifier les différences entre deux scans au format XML.

Que vous surveilliez des modifications planifiées ou cherchiez des anomalies, vous permet d’agir vite, avec une sortie claire et exploitable, même en automatisation.

Pour aller plus loin, découvrez notre ebook pour maîtriser Nmap de A à Z. Conçu pour vous rendre autonome dans la cartographie réseau, l’analyse des vulnérabilités et l’optimisation de vos scans. Que vous soyez administrateur système, étudiant, pentester ou RSSI, on part de 0 pour maitriser complètement cet outil indispensable !

Livre NmapLivre Nmap
https://bit.ly/ITC-NMAP-LIVRE

N’hésitez pas à nous demander d’autres sujets ou cas spécifiques que nous pourrions traiter sur IT-Connect.

SOURCE