GNU/Linux >> Tutoriels Linux >  >> Linux

50 commandes Nmap essentielles pour les administrateurs système

Nmap ou Network Mapper est sans aucun doute le meilleur outil de reconnaissance utilisé par les testeurs d'intrusion modernes. Cette application open source a parcouru un long chemin depuis sa création et s'est avérée être un changeur de jeu en matière de sécurité réseau. Nmap est largement utilisé pour déterminer les informations critiques d'un seul réseau ou d'une gamme de réseaux. Il existe une liste interminable de commandes Nmap robustes qui permettent aux chercheurs en sécurité de repérer les vulnérabilités d'un réseau. Les utilisateurs malveillants exploitent également fortement Nmap pour déterminer un point d'entrée vers des réseaux non autorisés. De plus, une grande bibliothèque de scripts prédéfinis rend Nmap plus puissant que jamais.

Commandes Nmap pour les administrateurs système

Vous pouvez facilement trouver des problèmes dans les réseaux externes en effectuant simplement quelques analyses Nmap simples. Il dispose d'une excellente documentation, vous n'aurez donc pas à mémoriser complètement différentes commandes Nmap. Vous pouvez facilement trouver des informations dans le manuel si vous savez quelle fonctionnalité vous recherchez. De plus, un ensemble prédéfini de scripts NSE robustes aide à automatiser les tâches courantes.

Commandes Nmap de base pour les débutants

Étant donné que Nmap offre une combinaison massive de commandes, il est essentiel de maîtriser d'abord les commandes de base. Nous montrerons comment effectuer des analyses de réseau simples à l'aide de Nmap dans la section suivante.

1. Analyser un seul hôte

Un hôte est une machine connectée à un réseau particulier. Nmap permet aux administrateurs d'analyser facilement les hôtes en utilisant leur adresse IP ou leur nom d'hôte. La commande ci-dessous analyse les 1000 ports communs et répertorie tous les ports ouverts, leur état et leur service.

$ nmap 192.168.1.1

Vous pouvez remplacer l'adresse IP par le nom d'hôte si vous le souhaitez, comme indiqué ci-dessous.

$ nmap hostname

2. Analyser plusieurs hôtes

- -

L'analyse de plusieurs hôtes en même temps est également très simple avec Nmap. Vous pouvez le faire en saisissant simplement l'adresse IP ou les noms d'hôte les uns après les autres. L'exemple ci-dessous le démontre pour vous.

$ nmap 192.168.1.1 192.168.1.3 192.168.1.5
$ nmap hostname1 hostname2 hostname3

Nmap fournit également un raccourci pratique pour cela.

$ nmap 192.168.1.1,3,5

3. Analyser la plage d'adresses IP

Vous pouvez également analyser une plage d'adresses IP à la fois. La commande suivante le montre en action.

$ nmap 192.168.1.1-15

Cette commande analysera les quinze premiers hôtes du sous-réseau. De nombreuses personnes utilisent également le caractère générique à cette fin. L'ajout de caractères génériques à votre recherche inspectera tous les hôtes disponibles.

$ nmap 192.168.1.*

Pour analyser un sous-réseau entier, utilisez la commande ci-dessous.

$ nmap 192.168.1.1/16

4. Lire les hôtes à partir du fichier et analyser

Nmap peut lire les adresses d'hôte à partir de fichiers, puis les analyser pour obtenir des informations sur le port. Commencez par créer un fichier contenant des hôtes, comme indiqué.

$ echo -e "192.168.1.1-10 \nlocalhost" >> /tmp/hosts
$ cat /tmp/hosts

Désormais, les hôtes doivent contenir deux lignes composées de localhost et de la plage IP donnée. Utilisez la commande suivante pour lire ceci à l'aide de Nmap.

$ nmap -iL /tmp/hosts

5. Exclure les hôtes de Nmap Scan

L'option –exclude permet aux utilisateurs d'exclure des hôtes spécifiques d'une plage d'adresses IP donnée. Vous pouvez utiliser l'option –excludefile pour exclure des hôtes d'un fichier. Les commandes ci-dessous le démontrent pour vous.

$ nmap 192.168.1.1/24 --exclude 192.168.1.1,3,5
$ nmap -iL /tmp/hosts --excludefile /tmp/exclude

Ici, le fichier /tmp/exclude contient les hôtes qui n'intéressent pas l'utilisateur. Nous ne présentons pas ce fichier pour garder notre guide aussi concis que possible.

6. Augmenter la verbosité de l'analyse

La recherche par défaut fournit des informations assez limitées. Nmap offre l'option -v pour ajouter une verbosité supplémentaire à votre recherche. Lorsqu'il est utilisé, ce drapeau forcera Nmap à afficher des informations supplémentaires sur votre recherche.

$ nmap -v 192.168.1.1

Le simple fait d'ajouter cet indicateur améliorera considérablement les informations de sortie. De plus, cela aide également les débutants à visualiser comment Nmap fonctionne sous le capot.

7. Détecter les informations du système d'exploitation

Nmap est un choix approprié pour beaucoup en matière de détection de système d'exploitation à distance. Le drapeau -A indique à Nmap de rechercher et d'afficher les informations du système d'exploitation sur les hôtes que vous testez.

$ nmap -A 192.168.1.1
$ nmap -A -v 192.168.1.1

Vous pouvez donc ajouter l'indicateur -v pour obtenir des informations supplémentaires sur votre résultat de recherche. C'est un excellent moyen de maîtriser les commandes Nmap pour les débutants. La commande ci-dessous vous montre comment détecter les informations du système d'exploitation pour les hôtes résidant dans un fichier.

$ nmap -v -A -iL /tmp/hosts

8. Obtenir les informations de pare-feu des hôtes

Tout administrateur système concurrent gardera les réseaux derrière des pare-feu. Cela peut fournir des informations non pertinentes aux recherches potentielles de Nmap. Cependant, vous pouvez facilement savoir si un hôte est protégé par un pare-feu en utilisant la commande suivante.

$ nmap -sA 192.168.1.1
$ nmap -v -sA 192.168.1.1

Si vous êtes un utilisateur débutant de Nmap, nous vous suggérons d'utiliser le drapeau verbeux v autant que possible. Cela vous aidera à comprendre le fonctionnement de Nmap en détail.

9. Analyser les hôtes protégés par le pare-feu

Les hôtes protégés par des pare-feu externes ont tendance à fournir des informations inutiles à des scanners distants comme Nmap. Si vous avez découvert que votre hôte d'intérêt est protégé de cette manière, utilisez la commande ci-dessous.

$ nmap -PN hostname
$ nmap -PN 192.168.1.1

L'adresse IP ci-dessus représente le routeur sans fil de mon réseau. Vous pouvez rechercher n'importe quel hôte à l'aide de l'adresse IP ou du nom d'hôte.

10. Analyser les hôtes IPv6

Bien qu'elles ne soient pas encore courantes, les adresses IPv6 sont là et deviendront la représentation standard des hôtes distants dans un avenir proche. Nmap déploie déjà la prise en charge de l'analyse IPv6. La commande suivante vous montre comment procéder.

$ nmap -6 hostname
$ nmap --6 2001:0db8:85a3:0000:0000:8a2e:0370:7334

La représentation hexadécimale désigne l'hôte dans le deuxième exemple. Vous pouvez ajouter des indicateurs supplémentaires pour améliorer la qualité de vos résultats de recherche Nmap.

Commandes Nmap quotidiennes pour les administrateurs réseau

Nmap propose un nombre infini de commandes et de scripts utiles aux administrateurs réseau, aux pirates éthiques et aux testeurs d'intrusion. Nous discutons de certaines commandes courantes mais essentielles dans la section ci-dessous.

11. Analyser les hôtes pour des ports spécifiques

Nmap permet aux administrateurs de vérifier les hôtes uniquement pour certains ports spécifiques. Les commandes ci-dessous le démontreront avec les exemples nécessaires.

$ nmap -p 21,22,80,443 localhost
$ nmap -p 21,22,80,443 192.168.1.1

Vous pouvez également spécifier une plage de ports, comme indiqué ci-dessous.

$ nmap -p 1-65535 localhost

Cette commande analysera votre réseau localhost pour tous les ports communs.

12. Méthodes d'analyse de ports supplémentaires

Nmap peut découvrir et inspecter tous les types de ports. Les exemples suivants montrent comment rechercher des ports UDP, utiliser des caractères génériques, etc. Pour effectuer une analyse de port UDP, utilisez la commande suivante.

$ nmap -p U:53, 67, 111 192.168.1.1

Pour analyser les ports TCP et UDP, utilisez la syntaxe suivante.

$ nmap -p -T:20-25,80,443 U:53, 67, 111 192.168.1.1

Le suivant analyse les ports à l'aide d'un caractère générique. Il recherchera toutes les configurations de port disponibles pour l'hôte donné.

$ nmap -p "*" 192.168.1.1

La commande Nmap suivante analyse uniquement les 10 ports les plus courants.

$ nmap --top-ports 10 192.168.1.1

13. Répertorier les hôtes sans analyse de port

Étant donné que l'analyse des ports d'un hôte est intrusive, de nombreux administrateurs n'analysent pas directement leurs hôtes à la recherche de ports. Ils utilisent plutôt Nmap pour envoyer un simple ping afin d'obtenir une liste des hôtes disponibles sur un réseau. Les attaquants malveillants exploitent également ces méthodes pour tenter de rester invisibles.

$ sudo nmap -sn 192.168.1.0/24

Vous aurez besoin des privilèges sudo pour tirer le meilleur parti de cette commande. Sinon, Nmap ne pourra pas envoyer la requête TCP ACK et risque de manquer des hôtes potentiels.

14. Effectuez une analyse rapide des hôtes

Si vous utilisez Nmap pour analyser des hôtes et des ports aléatoires, cela prendra un certain temps. Au lieu de cela, vous pouvez utiliser le mode rapide où Nmap recherche uniquement les ports les plus courants et augmente le temps d'analyse de certains facteurs.

$ nmap -F 192.168.1.0/24
$ nmap -F localhost

Le -F flag entre Nmap dans ce mode rapide.

15. Afficher uniquement les ports ouverts

Les analyses de ports Nmap répertorient tous les ports ouverts et filtrés pour un hôte. Vous pouvez limiter votre sortie aux seuls hôtes qui ont des ports ouverts. Cependant, cette commande imprime également les ports éventuellement ouverts qui sont peut-être filtrés par des applications externes.

$ nmap --open 192.168.1.1
$ nmap --open localhost

16. Découvrez pourquoi un port se trouve dans un certain état

Nmap permet aux utilisateurs de rechercher pourquoi un certain port se trouve dans un état spécifique. Vous devrez utiliser l'option -reason pour obtenir de tels résultats. La commande suivante le démontre en action.

$ nmap --reason localhost
$ nmap --reason 192.168.1.1

Les commandes ci-dessus montreront les raisons de l'état actuel d'un port. Ces informations aident grandement au débogage et permettent aux experts de mieux visualiser leurs ports cibles.

17. Afficher les interfaces réseau et les itinéraires

Comprendre les configurations réseau est essentiel à la fois pour les analystes de sécurité et les utilisateurs malveillants. Les deux veulent savoir comment un hôte potentiel est connecté au Web mondial. Vous pouvez utiliser Nmap pour décrire facilement les interfaces et les routes d'un hôte sélectionné. La prochaine commande le montrera en action.

$ nmap --iflist

La commande ci-dessus affichera les routes et les interfaces avec des informations telles que le nom de l'appareil, l'adresse IP, la passerelle, etc.

18. Définir le modèle de synchronisation

L'une des fonctionnalités les plus utiles de Nmap est ses paramètres de synchronisation robustes. Vous pouvez facilement contrôler la durée de chaque analyse Nmap à l'aide de l'option -T. Les commandes suivantes le montrent en action.

$ nmap --top-ports 10 -T4 192.168.1.1

Cette commande prendra beaucoup moins de temps à se terminer par rapport à la syntaxe standard. Vous pouvez modifier la valeur de -T de 0 à 5, où 5 désigne l'analyse la plus agressive et 0 la plus polie. Des paramètres de synchronisation agressifs peuvent cependant faire planter Nmap sur les hôtes sous inspection. L'analyse Nmap par défaut utilise -T3.

19. Activer la détection du système d'exploitation

Bien que nous vous ayons montré comment obtenir des informations spécifiques au système d'exploitation à l'aide de l'option -A, il existe une autre façon de procéder. L'indicateur -O active la détection du système d'exploitation pour un hôte ou une plage d'hôtes.

$ nmap -v -O localhost
$ nmap -O 192.168.1.1/24

Ces commandes Nmap peuvent ne pas reconnaître certains systèmes d'exploitation, en particulier s'ils sont protégés par des pare-feu. L'exemple suivant vous montre comment utiliser la détection agressive du système d'exploitation pour surmonter cela.

$ nmap -O --osscan-guess 192.168.1.1/24

20. Détecter les informations de service et de version

Les commandes suivantes montrent comment vous pouvez utiliser Nmap pour détecter les informations de service et de version. Les utilisateurs malveillants l'utilisent généralement pour vérifier si un hôte exécute un service vulnérable ou non.

$ nmap -sV 192.168.1.1/24

L'ajout de -sV active la détection de version de Nmap. Il fournit des informations similaires à celles que vous avez obtenues précédemment en utilisant l'option -A. Étant donné que cette commande analyse tous les hôtes disponibles pour le sous-réseau 192.168.1.1/24, cela peut prendre plus de temps. L'exemple suivant accélère ce processus en utilisant l'option -T mentionnée précédemment.

$ nmap -T5 -sV 192.168.1.1/24

21. Analyser les hôtes à l'aide de TCP SYN

Souvent, vous trouverez les pare-feu du système distant bloquant les pings ICMP standard envoyés par vos analyses de port Nmap habituelles. Vous pouvez utiliser le scan TCP SYN pour sortir de cette situation.

$ sudo nmap -PS20-25,80,110,443 192.168.1.1/24

La commande ci-dessus permet à Nmap de découvrir si un hôte est actif et scanne ses ports sans terminer la communication TCP standard.

22. Analyser les hôtes à l'aide de TCP ACK

La méthode TCP ACK fonctionne presque comme la commande ci-dessus. Cependant, ils fonctionnent très bien pour trouver l'existence même des hôtes distants les plus protégés. Étant donné que les paquets TCP ACK envoient des données d'accusé de réception via des connexions TCP établies, les hôtes distants doivent leur faire connaître leur emplacement.

$ sudo nmap -PA20-25,80,110,443 192.168.1.1/24

Les deux commandes ci-dessus permettent aux utilisateurs de spécifier des ports comme ils le font avec -p. Cependant, ni -PS ni -PA n'autorisent d'espace après eux. Soyez donc conscient de cela, sinon vos recherches n'apporteront pas d'informations valides.

23. Obtenir les empreintes digitales du système d'exploitation

L'empreinte digitale du système d'exploitation fait référence à la collecte d'informations passives d'hôtes distants lors des communications réseau. Nmap permet aux administrateurs système de le faire, comme illustré ci-dessous facilement. Ceci est utile pour dissimuler la présence de votre analyse à partir du pare-feu du système distant tout en obtenant des informations pertinentes sur le système d'exploitation.

$ nmap -sT 192.168.1.1/24

Le schéma de connexion ci-dessus est connu sous le nom d'analyse de connexion TCP dans Nmap.

24. Numériser à l'aide de protocoles IP

Parfois, vous pouvez rencontrer des hôtes qui n'autorisent pas les protocoles IP que vous envoyez. Vous pouvez contourner ce problème en déterminant les protocoles IP autorisés par l'hôte à l'aide de la commande ci-dessous.

$ nmap -v -sO 192.168.1.1

Une fois que vous obtenez les protocoles pris en charge, vous pouvez utiliser la commande Nmap appropriée pour analyser cet hôte.

25. Rechercher les faiblesses du pare-feu/IDS

Il est très courant que les testeurs tombent sur des pare-feu ou des systèmes de détection d'intrusion qui rejettent les tentatives d'analyse de Nmap. Heureusement, les commandes Nmap robustes permettent aux utilisateurs de contourner ce problème en leur donnant des informations sur le pare-feu. Les commandes ci-dessous vous le démontreront.

$ nmap -sN 192.168.1.1
$ nmap -sF 192.168.1.1
$ nmap -sX 192.168.1.1

La première commande envoie un indicateur TCP nul, la seconde définit le bit FIN et la dernière définit les bits FIN, PSH et URG. Ils trompent les pare-feu sans état en donnant des informations sur l'état d'un port.

Commandes Nmap pour les pirates éthiques

Les pirates éthiques sont des professionnels qui recherchent les failles potentielles, y compris les failles de réseau dans les infrastructures informatiques. Ils utilisent des combinaisons avancées d'options de Nmap pour boucler les choses rapidement. La section suivante présente certaines de ces commandes.

26. Analyser les hôtes distants à l'aide de SCTP

L'analyse SCTP est une technique d'analyse silencieuse mais utile préférée par les testeurs en raison de son efficacité. Seuls les systèmes IDS hautement configurés peuvent détecter de telles analyses, ils fonctionnent donc très bien dans des scénarios réels.

$ sudo nmap -sZ --top-ports 20 -T4 192.168.1.1/24

La commande ci-dessus recherche les 20 premiers ports communs pour le sous-réseau spécifié. Vous pouvez omettre le paramètre de synchronisation si vous voulez être plus furtif et n'avez aucun problème à attendre quelques minutes de plus.

27. Analyser les hôtes distants à l'aide d'Idle Scan

Également connu sous le nom d'analyse d'hôte zombie, ce type d'analyse crée littéralement un hôte zombie sur le réseau et analyse d'autres hôtes à partir de cet hôte.

$ sudo nmap -sI 192.168.1.103 192.168.1.101

Dans la commande ci-dessus, 192.168.1.103 est l'hôte zombie et 192.168.1.101 est la machine distante cible.

28. Analyser les hôtes distants à l'aide de pings ARP

C'est la meilleure commande Nmap pour découvrir les hôtes distants à partir de maintenant. Étant donné qu'aucun pare-feu ne peut bloquer les requêtes ARP, il s'agit d'une technique utile pour les testeurs de réseau chevronnés.

$ sudo nmap -PR 192.168.1.1

Cependant, vous devrez avoir accès au réseau local si vous souhaitez utiliser cette commande. Mais cela ne devrait pas être un problème pour les testeurs d'intrusion professionnels.

29. Déterminer la route vers l'hôte distant

Si vous êtes un administrateur système chevronné, il est probable que vous ayez déjà travaillé avec traceroute. Il s'agit d'un outil UNIX convaincant qui mappe les routes vers les machines cibles d'un réseau. La commande ci-dessous montre comment vous pouvez utiliser traceroute à partir de Nmap.

$ sudo nmap --traceroute 192.168.1.1

Cette commande affichera les distances HOP et les temps pour atteindre la destination.

30. Désactiver la résolution DNS inversée pour tous les hôtes

Par défaut, Nmap effectue une résolution DNS inverse uniquement pour les hôtes découverts en ligne. Cependant, ils diminuent considérablement les performances de Nmap. Les pirates éthiques désactivent généralement cette option pour tous les hôtes, car ils peuvent obtenir légalement des informations DNS auprès de leurs clients.

$ nmap -n 192.168.1.1

Cela augmentera votre vitesse de recherche par une marge significative. J'utilise généralement ceci au lieu de -T pour maintenir ma vitesse de recherche tout en préservant l'anonymat.

31. Récupérer les informations de version

Auparavant, nous avons obtenu des informations sur la version du système d'exploitation et d'autres services. Le problème est que la plupart du temps, Nmap affiche les services par défaut associés à un port. Cela peut causer des problèmes aux testeurs puisque les hôtes peuvent utiliser n'importe quel autre service au lieu du service par défaut pour certains ports.

$ nmap -V 192.168.1.1

Cette commande affichera de nombreuses informations pertinentes telles que la plate-forme, les outils de compilation, etc.

32. Contrôler la détection de version

Nous vous avons montré comment détecter les informations de version des services distants à l'aide de l'indicateur standard -sV. La commande suivante montre comment contrôler la détection de version à l'aide de commandes Nmap similaires.

$ nmap -sV --version-intensity 5 192.168.1.1

Cela effectue une détection de version très agressive et est susceptible d'alarmer l'hôte distant. Vous pouvez diminuer la valeur de l'option –version-intensity pour augmenter l'anonymat. Cependant, cela limitera la détection de version. La commande suivante effectue une capture de bannière légère de l'hôte spécifié.

$ nmap -sV --version-intensity 1 192.168.1.1

33. Analyser les hôtes à l'aide de fragments IP

Nmap permet aux administrateurs système d'analyser les hôtes distants en utilisant des paquets IP fragmentés. Il décompose essentiellement les paquets IP en petites parties et les rend difficiles à détecter via des IDS/pare-feu externes.

$ sudo nmap -f 192.168.1.1

Les utilisateurs peuvent également définir des décalages personnalisés à l'aide de l'option –mtu, comme indiqué ci-dessous.

$ sudo nmap --mtu 16 192.168.1.1

34. Utiliser des adresses IP leurres

Étant donné que la plupart des systèmes commerciaux sont protégés par des pare-feu hautement configurés, ils détectent souvent très rapidement les analyses de ports distants. Cela est problématique à la fois pour les auditeurs de sécurité et les disjoncteurs intrusifs du système. Nmap permet aux utilisateurs d'utiliser des adresses IP leurres pour dissimuler leur identité à cette fin.

$ nmap --top-ports 10 -D10.1.1.2, 10.1.1.4, 10.1.1.6 192.168.1.1

Supposons que votre adresse IP soit la deuxième (10.1.1.4) et que vous numérisez 192.168.1.1. Désormais, l'hôte distant sera au courant de l'analyse, mais ne pourra pas connaître avec certitude son origine.

Exploitez le moteur de script Nmap (NSE)

Le moteur de script Nmap (NSE) est une fonctionnalité robuste qui permet aux utilisateurs d'utiliser un grand nombre de scripts robustes pour effectuer une reconnaissance efficace. La section suivante présente certaines commandes Nmap courantes exploitant les scripts NSE.

35. Utiliser les scripts sécurisés par défaut

NSE est livré pré-chargé avec un grand nombre de scripts sûrs qui font exceptionnellement bien leurs tâches. La commande suivante utilise le script sécurisé par défaut pour la détection de version.

$ nmap -sV -sC 192.168.1.1

Habituellement, l'analyse avec des scripts NSE plutôt qu'avec des options standard fournira des informations plus précises. La commande ci-dessus exécute le script de détection de version par défaut pour Nmap.

36. Utiliser des scripts NSE spécifiques

Vous pouvez localiser tous les scripts NSE disponibles dans votre système à l'aide de la commande $ locate *.nse. Ces scripts sont écrits en Lua et permettent aux utilisateurs de créer des scripts personnalisés que vous souhaitez. La commande suivante utilise un script NSE spécifique appelé whois-ip .

$ nmap --script=whois-ip.nse scanme.nmap.org

Vous pouvez facilement remplacer le nom d'hôte par votre adresse IP cible pour obtenir des informations whois pertinentes. Notez que l'extension .nse n'est pas obligatoire.

37. Rechercher les fichiers/répertoires communs

Le http-enum.nse Le script NSE envoie plus de 2000 requêtes pour les fichiers et répertoires communs. Vous pouvez utiliser ce script pour obtenir des informations critiques sur l'existence ou non de certains services connus sur un serveur distant.

$ nmap -n --script=http-enum.nse 192.168.1.1

Cette commande tentera d'obtenir des informations de service essentielles à l'aide dudit script.

38. Obtenir des titres de page HTTP

Vous pouvez utiliser le Nmap http-title script permettant d'obtenir les titres de pages Web distantes. Cela peut être extrêmement utile pour déduire le contenu des serveurs distants. Consultez la commande ci-dessous pour voir cela en action.

$ nmap --script=http-title 192.168.1.1

Cette commande va récupérer et afficher le titre HTTP.

39. Utiliser plusieurs catégories de script

Par défaut, les scripts NSE sont classés en fonction de leur utilisation, telle que brute, découverte, exploit et vuln. Vous pouvez demander à Nmap d'utiliser tous les scripts appartenant à certaines catégories, comme indiqué ci-dessous.

$ nmap --script discovery,brute 192.168.1.1

La commande ci-dessus utilisera tous les scripts NSE appartenant aux catégories découverte et brute. Ainsi, il essaiera de découvrir les hôtes disponibles et de les forcer brutalement.

40. Utiliser des caractères génériques pour la sélection de script

Nmap vous permet d'utiliser le caractère générique "*" pour sélectionner tous les scripts qui correspondent à certains critères. La commande suivante utilisera tous les scripts commençant par ssh.

$ nmap --script "ssh*" 192.168.1.1

Vous pouvez ajouter des options supplémentaires à ces types de commandes Nmap pour une plus grande flexibilité.

41. Utiliser des expressions booléennes pour la sélection de script

Nmap permet aux utilisateurs de sélectionner leurs scripts NSE à l'aide d'expressions booléennes telles que and, or, not. Les commandes ci-dessous en montreront quelques exemples.

$ nmap --script "not vuln" 192.168.1.1
$ nmap --script "default or broadcast" 192.168.1.1
$ nmap --script /path/to/scripts 192.168.1.1

Le premier exemple charge tous les scripts NSE sauf vuln. La deuxième commande charge les scripts à partir des catégories par défaut ou de diffusion. Le dernier exemple charge des scripts à partir d'un répertoire. Vous pouvez écrire des scripts NSE personnalisés et les charger de cette façon.

42. Obtenir la documentation du script

Étant donné que Nmap offre une abondance de scripts par défaut et personnalisés, il est difficile de se souvenir des détails à leur sujet. Heureusement, Nmap propose une excellente documentation pour ses scripts NSE. Les commandes ci-dessous vous montreront comment les invoquer pour obtenir des informations détaillées.

$ nmap --script-help "ssh-*"
$ nmap --script-help "ssh-*" and "discovery"

Le premier exemple montre l'aide pour tous les scripts qui commencent par ssh- et le second montre les scripts de découverte à côté de ceux ssh-.

Diverses commandes Nmap

Étant donné que les commandes Nmap permettent aux utilisateurs de combiner une pléthore d'options, vous pouvez facilement créer un nombre infini de commandes. Nous décrivons certaines commandes souvent utilisées dans la section ci-dessous.

43. Inspecter la vulnérabilité Heartbleed

La vulnérabilité SSL Heartbleed est une surface d'attaque bien connue pour lancer des attaquants malveillants. La commande suivante vérifie si un hôte contient cette vulnérabilité à l'aide du script NSE heartbleed.

$ nmap -sV -p 443 --script=ssl-heartbleed 192.168.1.1

La sortie de cette commande peut aider les administrateurs réseau à vérifier les services SSL obsolètes et à les corriger avant toute tentative d'intrusion.

44. Récupérer les informations IP

La recherche d'informations IP est l'une des premières tâches que les attaquants distants effectuent lorsqu'ils vérifient une cible. Certaines informations IP essentielles incluent les données whois, la géolocalisation, etc. La commande suivante illustre l'utilisation de Nmap dans une telle reconnaissance passive.

$ nmap --script=whois*,ip-geolocation-maxmind,asn-query 192.168.1.1

Cette commande trouve des informations sur l'entrée whois, la géolocalisation et les requêtes asn de l'hôte distant à l'aide de scripts NSE prêts à l'emploi.

45. Enregistrer les sorties Nmap

Bien que le format de sortie par défaut de Nmap soit excellent, vous souhaiterez souvent enregistrer la sortie de votre numérisation pour une utilisation ultérieure. C'est très simple, comme vous pouvez le voir dans les exemples ci-dessous.

$ nmap -oN scan-report -n 192.168.1.1
$ nmap -n 192.168.1.1 > scan-report

Le premier exemple analyse l'hôte distant et enregistre la sortie dans un fichier appelé scan-report dans le répertoire courant. Vous pouvez également le faire en utilisant l'opérateur de redirection Unix, comme le montre le deuxième exemple.

46. Formats de sortie supplémentaires

Il existe plusieurs commandes Nmap qui permettent aux utilisateurs de formater leur sortie plus facilement. Les exemples ci-dessous en montrent quelques-uns essentiels pour vous.

$ nmap -oX scan-report.xml -n 192.168.1.1
$ nmap -oG scan-report -n 192.168.1.1
$ nmap -oA scan-report -n 192.168.1.1

Le premier enregistre les résultats de l'analyse sous forme de fichier XML. Le deuxième exemple enregistre le résultat dans un format facilement accessible par grep. Le dernier exemple indique à Nmap d'enregistrer les résultats dans tous les formats.

47. Analyser les services UDP réfléchissants DDoS

Souvent, les attaquants tirent parti des attaques DDoS basées sur UDP pour éliminer des cibles distantes. La commande Nmap suivante analyse un réseau cible pour de tels services réfléchissants DDoS et fournit des conseils sur la façon de les bloquer complètement,

$ nmap –sU –A –PN –n –pU:19,53,161 –script=snmp-sysdescr,dns-recursion,ntp-monlist 192.168.1.1

Bien qu'apparemment complexe, ce n'est rien d'autre qu'une commande avec plusieurs options et scripts.

48. Envoyer les résultats de l'analyse Nmap à Nikto

Nikto est un scanner de vulnérabilité convaincant qui est utilisé pour détecter les fichiers dangereux, les CGI mal configurés, les serveurs hérités, etc. La commande suivante transmet les résultats de l'analyse Nmap à Nikto.

$ nmap --top-ports 10 192.168.1.1/24 -oG - | /path/of/nikto.pl -h -

Désormais, Nikto utilisera votre résultat Nmap pour effectuer son propre scan.

49. Saisissez la bannière à l'aide du script NSE

La capture de bannière est une technique de collecte d'informations largement utilisée qui révèle les informations de service des ports ouverts sur les hôtes distants. La commande ci-dessous saisit les bannières d'un réseau à l'aide du script de bannière NSE.

$ nmap --script=banner 192.168.1.1/24

50. Consulter la documentation Nmap

Étant donné que Nmap a largement grandi au fil du temps, il est assez difficile de se souvenir de toutes ses fonctions pour les débutants. Heureusement, la documentation Nmap fournit d'excellentes informations pour aider les utilisateurs à démarrer avec ce problème.

$ nmap --help
$ man nmap

La première commande vous fournira toutes les options disponibles pour Nmap. Vous pouvez consulter le manuel si vous recherchez des informations détaillées en utilisant le dernier.

Fin des pensées

Les commandes Nmap sont bien plus puissantes que beaucoup de gens ne le pensent. Les utilisateurs expérimentés peuvent facilement découvrir les serveurs Web vulnérables et les informations associées à l'aide de quelques commandes seulement. Les pirates s'appuient sur ces informations pour élaborer leurs exploits et compromettre les hôtes distants. Il est donc essentiel que les administrateurs réseau connaissent ces éléments et résolvent ces problèmes pour leurs infrastructures.

Une autre chose importante à garder à l'esprit lors de l'utilisation de telles techniques de numérisation est la légalité. La plupart des gens n'aimeront tout simplement pas que vous renifliez leur réseau. Donc, obtenez toujours des privilèges autorisés avant d'effectuer de telles tâches. Cependant, vous pouvez les pratiquer sur des machines virtuelles personnelles ou des plates-formes conteneurisées.


Linux
  1. 20 commandes Linux essentielles pour chaque utilisateur

  2. 3 feuilles de triche Linux essentielles pour la productivité

  3. Aide-mémoire pour les commandes Linux courantes

  4. 10 commandes Linux pour les diagnostics réseau

  5. 25 commandes Vim essentielles pour la navigation et l'édition

15 commandes Nmap les plus utilisées pour analyser les hôtes distants

8 commandes de navigation de fichiers Linux essentielles pour les nouveaux utilisateurs

25 commandes Nginx indispensables pour les développeurs et les administrateurs

40 commandes git utiles pour les administrateurs et les développeurs Linux

SystemD - A quoi sert SystemD ?

Commandes Nmap - 17 commandes de base pour le réseau Linux