Flags Nmap et ce qu'ils font

Flags Nmap et ce qu'ils font

Ce tutoriel explique ce que sont les drapeaux NMAP et ce qu'ils font avec de vrais exemples de scénarios.

NMAP est probablement le réseau et l'outil de sécurité le plus important du marché. Parmi ses fonctionnalités, il y a la numérisation des ports, la numérisation de la vulnérabilité, la découverte des hôtes, les capacités d'empreinte et encore plus de fonctionnalités apportées par le moteur de script NMAP (NSE).

Après avoir lu ce tutoriel, vous pourrez devenir un utilisateur avancé NMAP, non seulement en utilisant des drapeaux, mais aussi en apprenant des conseils de syntaxe et le moteur de script NMAP avec des fonctions supplémentaires.

Tous les exemples indiqués dans cet article incluent des captures d'écran, ce qui permet à tous les utilisateurs de comprendre comment les appliquer.

La syntaxe NMAP

Lors de l'exécution d'un scan à l'aide de NMAP, nous devons d'abord appeler le programme, nous devons introduire des drapeaux (type d'analyse) et enfin la ou les cibles à analyser.

Un exemple de base de cela serait une analyse de port simple ciblant des ports spécifiques comme indiqué ci-dessous, où le port 80 de l'hôte Linuxhint.com est scanné pour apprendre son état.

nmap -p 80 Linuxhint.com


Le -P (port) Indicateur ou paramètre Illustré dans l'exemple ci-dessus est utilisé pour définir un ou plusieurs ports. Vous pouvez ajouter plus de ports en les séparant à l'aide de virgules, cela sera expliqué plus loin dans cet article.

Comprendre la sortie NMAP: états de port

Avant de continuer avec l'explication sur les drapeaux NMAP, il est important pour les lecteurs de comprendre les sorties NMAP. À ce sujet, il existe 6 États portuaires qui peuvent être signalés par NMAP:

  • Ouvrir: le port est ouvert et une application l'écoute.
  • Fermé: le port est fermé; Aucune application n'écoute.
  • Filtré: Un pare-feu empêche NMAP d'atteindre le port.
  • Non filtré: Le port est accessible mais NMAP n'est pas en mesure de vérifier son état.
  • Ouvert | filtré: NMAP n'est pas en mesure de déterminer si un port est ouvert ou filtré.
  • Fermé | filtré: NMAP n'est pas en mesure de déterminer si un port est fermé ou filtré.

Maintenant, vous connaissez la syntaxe NMAP et la sortie de base, ce qui signifie que nous pouvons procéder à l'apprentissage des drapeaux NMAP.

Indicateurs NMAP pour scanner les ports

La fonction NMAP la plus utilisée est la numérisation de port. Pour utiliser NMAP correctement, il est nécessaire de savoir comment ce drapeau peut être implémenté pour répondre aux besoins de l'utilisateur.

Comme indiqué dans la première section de ce didacticiel (la section syntaxe), pour spécifier un port, vous avez juste besoin de taper le -P (ports) drapeau suivi par le port que vous souhaitez être numérisé, comme indiqué ci-dessous.

NMAP -P 443 Linuxhint.com


Dans l'exemple ci-dessus, NMAP est invité à vérifier l'état du port 443 du Linuxhint.hôte com.

Vous pouvez également spécifier plus d'un port en implémentant une virgule. Dans l'exemple suivant, NMAP est invité à vérifier les ports 80 (HTTP), 443 (HTTPS), 21 (FTP) et 22 (SSH).

NMAP -P 80 443,21,22 Linuxhint.com


Comme vous pouvez le voir, tous les ports spécifiés ont été analysés. Les ports 80 et 443 sont ouverts tandis que les ports 21 et 22 sont filtrés par un pare-feu.

Bien sûr, avec NMAP, vous pouvez également définir des cibles à l'aide d'adresses IP, de sous-réseaux, etc.

NMAP -P 23 80 162.0.232.43


Vous pouvez également spécifier une gamme de ports en implémentant un trait d'union comme indiqué dans l'exemple suivant, dans lequel tous les ports du 79 à 90 sont analysés.

Note: Si la plage est trop grande, la sortie peut sauter les ports fermés / filtrés et afficher uniquement les ports ouverts.

NMAP -P 79-90 Linuxhint.com


Il est important de clarifier lors de l'utilisation du -drapeau p Vous pouvez également spécifier le service par son nom, non seulement par le numéro de port. Dans l'exemple ci-dessous, les ports HTTPS et SSH sont scannés.

nmap -p http, ssh linuxhint.com


Lorsque vous ne spécifiez pas les ports, par défaut NMAP scanne les 1000 ports les plus couramment utilisés. Si vous souhaitez scanner une cible et trouver uniquement des ports ouverts parmi ces 1000 ports, vous pouvez utiliser le -drapeau ouvert.

NMAP --Open Linuxhint.com

Comme vous pouvez le voir, les ports trouvés NMAP 80 443, 8080 et 8443 sont ouverts.

Facteurs NMAP pour la détection de version du système d'exploitation et du logiciel

Une autre fonctionnalité NMAP importante est la capacité de détecter les versions du système d'exploitation et des logiciels de notre cible. NMAP est un excellent outil pour l'empreinte. Nous pouvons utiliser différents drapeaux et les combiner pour de meilleurs résultats.

Le premier drapeau expliqué dans cette section est le -O (os) drapeau utilisé pour détecter le système d'exploitation cible.

Note: Vous avez besoin de privilèges racine pour utiliser le -O drapeau pour la détection du système d'exploitation. Utilisez le Sudo préfixe.

sudo nmap -o Donweb.com


Les conditions de rapports NMAP n'étaient pas idéales pour détecter le système d'exploitation de la cible. Pourtant, il est sûr de 86% qu'il utilise un système Linux avec le noyau 2.6.18 ou 2.6.22.

Pour détecter les versions de service, vous pouvez utiliser le -Indicateur SV (version du service) comme indiqué ci-dessous.

nmap -sv argexchanger.com

Dans la capture d'écran ci-dessus, NMAP a détecté le pur-FTPD pour le service FTP, Exim 4.94.2 et Dovecot pour le service de messagerie, ISC Bind 9.8.2RC1 pour DNS et LiteSpeed ​​en tant que serveur Web.

Le -drapeau SV prend en charge différents niveaux d'intensité, de 0 à 9, où 0 est une intensité légère, et 9 la plus agressive. Le niveau par défaut lors de l'utilisation du -drapeau SV, Si cela n'est pas spécifié, c'est 7.

Ci-dessous, vous pouvez voir un exemple de scan avec le niveau d'intensité inférieur. Comme vous le verrez, aucune version n'est détectée.

nmap -sv --version-intensité 0 Linuxhint.com


Maintenant, vous pouvez voir la sortie d'un -SV scanner avec une intensité maximale contre la même cible.

Maintenant, le résultat est différent, et bien que les versions n'aient pas été détectées, nous connaissons la raison. Linuxhint.com est protégé par Cloudflare. Avec cette sortie, nous avons appris que nous pouvons obtenir les versions en utilisant d'autres outils comme Cloudfail ou Shodan.

Drapeaux NMAP pour définir les cibles

D'autres indicateurs de base NMAP et des techniques de syntaxe sont utiles pour définir des cibles pour scanner. Cette section montre comment les exécuter.

Note: De plus, aux drapeaux, cette section couvre également certaines techniques de syntaxe.

Dans des exemples précédents, nous n'avons analysé qu'une seule cible. Vous pouvez également cibler de nombreux appareils.

L'exemple suivant montre comment cibler une plage IP en implémentant un trait d'union. L'analyse ciblera toutes les adresses IP entre 162.0.232.2 et 162.0.232.20. Bien sûr, la capture d'écran ne peut pas inclure tous les résultats que je vois dans la console.

NMAP 162.0.232.2-20


Vous pouvez spécifier des gammes dans plus d'un octet. L'exemple ci-dessous spécifie les plages dans le dernier aux octets en mettant en œuvre un trait d'union dans les deux.

NMAP 162.0.232-239.2-10


Si vous souhaitez scanner un octet entier, vous pouvez également utiliser un joker (*). Vous pouvez également utiliser les caractères génériques dans plus d'un octet et vous pouvez combiner des gammes IP avec des caractères génériques comme indiqué dans l'exemple suivant.

NMAP 162.0.232-234.*


Le -drapeau ir Demande à NMAP de trouver des hôtes au hasard, ce drapeau dépend d'un argument et des instructions numériques, il oblige l'utilisateur à définir le nombre d'hôtes ou de cibles NMAP devrait générer.

Dans l'exemple suivant, je demande à NMAP de générer 200 cibles aléatoires pour rechercher le port Netbios.

NMAP -P 139 -IR 200


Vous pouvez également utiliser NMAP pour charger des fichiers contenant autant d'hôtes ou d'adresses IP que vous le souhaitez. Les hôtes peuvent être répertoriés avec de nouvelles lignes comme indiqué dans la capture d'écran ci-dessous, ou séparés par virgule, espace ou onglet.

Pour appliquer l'exemple ci-dessous pour créer un fichier contenant des hôtes et des adresses IP, vous pouvez en ajouter beaucoup comme vous le souhaitez. Dans mon cas, j'ai nommé la liste d'hôtes du fichier.


Le drapeau pour charger la liste des hôtes / ips est -il. Ci-dessous, vous pouvez voir un exemple en utilisant la liste créée dans la capture d'écran ci-dessus.

NMAP -IL HOSTSLIST

Le -Exclure le drapeau est utile pour exclure les adresses IP ou les hôtes des analyses lorsque nous analysons les gammes IP ou les fichiers cibles. Dans l'exemple suivant, j'utiliserai à nouveau la liste hôte pour scanner les ports SSH, FTP et SFTP mais j'indique NMAP d'exclure Linuxhint.com de la liste. Comme vous le voyez en contraste avec le résultat montré dans le -IL FACLE Exemple Linuxhint.com n'était pas scanné.

NMAP -P SSH, FTP, SFTP -IL HOSTSLIST - EXCLUD LINUXHINT.com

Vous pouvez également utiliser le -Exclure le drapeau Lors de la numérisation des ports, comme indiqué dans l'exemple ci-dessous, dans lequel l'IP 162.0.233.34 est exclu, pas numérisé.

NMAP -P SSH, FTP, SFTP 162.0.232-236.34 - Exclude 162.0.233.34

Autres drapeaux NMAP communs

Ceci est la dernière section de ce tutoriel et explique des drapeaux non catégorisés supplémentaires.

-V: L'indicateur -v (verbosité) imprimera des informations sur le processus de numérisation. Par défaut, NMAP n'affiche pas le processus, ce paramètre demandera à NMAP de montrer ce qui se passe pendant le scan.


-E: Ce drapeau nous permet de spécifier une interface réseau (e.g. ETH0, WLAN0, ENP2S0, etc.), utile si nous sommes connectés à la fois par nos cartes câblées et sans fil. Dans mon cas, ma carte sans fil est WLP3S0, pour demander à NMAP d'utiliser cette interface pour scanner les ports 22 et 80 sur Linuxhint.

nmap -e wlp3s0 -p 22,80 Linuxhint.com


-F: Le -Fracture F (fragment de paquets) est également utilisé pour essayer de maintenir le processus de scan non détecté en fragmentant les paquets, ce qui rend plus difficile pour les pare-feu ou les identifiants pour détecter le scan. Cette option n'est pas compatible avec toutes les fonctionnalités NMAP. Il est important de clarifier pour utiliser cette fonctionnalité dont vous avez besoin de privilèges racine, utilisez le Sudo préfixe.

sudo nmap -p 80, ssh, 21,23,25 -f Linuxhint.com


-Source-Port / -g: Flags -Source-Port et -g sont équivalents et instruisent NMAP d'envoyer des paquets via un port spécifique. Cette option est utilisée pour essayer de tromper les pare-feu. L'exemple suivant scannera la cible du port 20 aux ports 80, 22, 21,23 et 25 Envoyant des paquets fragmentés à Linuxhint.

sudo nmap -g 20 -p 80, ssh, 21,23,25 -f Linuxhint.com


-Pn: Le paramètre -pn (pas de ping) scannera les ports du réseau ou la plage fournie sans vérifier si l'appareil est en ligne, il ne pingra pas et n'attendra pas les réponses. Pourtant, il est utile pour la découverte de l'hôte.

NMAP -PN 234.31.1.1-23

C'est tout sur les drapeaux NMAP dans ce tutoriel. Pourtant, avant de terminer, je veux vous présenter une autre excellente fonctionnalité NMAP, le moteur de script NMAP. Continuez à lire ci-dessous.

Introduction au moteur de script NMAP (NSE):

Le moteur de script NMAP (NSE) est l'une des fonctionnalités NMAP les plus utiles pour les tâches automatisées. Il contient également des scripts incroyables pour trouver des vulnérabilités sur les cibles. Les utilisateurs peuvent écrire leurs propres scripts ou utiliser une base de données avec des scripts existants.

La syntaxe pour utiliser NSE est la suivante:

NMAP - Scriptt --