Tutoriel NMAP Basics

Tutoriel NMAP Basics

«Ce tutoriel explique comment fonctionne NMAP et comment l'installer et l'utiliser à partir du terminal.

NMAP (Network Mapper) est probablement la numérisation réseau la plus utilisée, du moins parmi les utilisateurs de Linux."

NMAP permet d'exécuter les tâches suivantes:

  • Scan de port
  • Analyse de la plage IP
  • Hosts Discovery
  • SCANTS SUBNETS
  • Diagnostic de problème de réseau
  • Détection de vulnérabilité
  • Exploitation de vulnérabilité

Ce tutoriel couvre la numérisation de port, la découverte d'hôte et la numérisation des gammes et des sous-réseaux IP. En fin de compte, le lecteur peut continuer avec les liens axés sur NMAP pour la détection et l'exploitation de la vulnérabilité avec le NMAP NSE (NMAP Scripting Engine).

Le contenu est hautement optimisé pour les utilisateurs sans expérience préalable avec NMAP. En lisant ce didacticiel et en appliquant les exemples pratiques, le lecteur acquiert une connaissance suffisante du fonctionnement du NMAP, de son utilisation et de la compréhension des résultats pour continuer les lectures d'utilisation avancées recommandées après ce contenu.

Toutes les étapes décrites ci-dessous contiennent des captures d'écran, ce qui permet à chaque utilisateur Linux de les suivre indépendamment du niveau d'expérience.

Indice:

  • Installation de NMAP
  • Comment fonctionnent les types de balayage de base NMAP
  • Les états et les ports du port NMAP scanne
  • Définition des cibles dans NMAP
  • Découverte d'hôte avec NMAP

Installation de NMAP (à partir de Sources, Debian et Redhat Based Distros Repositaires)

Cette section explique comment installer NMAP sur les distributions Linux basées sur Debian comme Ubuntu, les distributions Linux basées sur Redhat comme CentOS et à partir de sources pour toutes les distributions Linux.

Pour installer NMAP sur les distributions Linux basées sur Debian, exécutez la commande suivante.

sudo apt install nmap

Pour les distributions basées sur Redhat, exécutez la commande indiquée dans la capture d'écran ci-dessous.

sudo yum install nmap

Pour compiler NMAP à partir de sources, visitez https: // nmap.org / téléchargement.HTML # Source et téléchargez la dernière version NMAP stable à partir du lien situé dans la section affichée dans la capture d'écran ci-dessous (Arrow).

Une fois téléchargé, extraire le goudron.Fichier Bze2 comme indiqué ci-dessous.

Note: Remplacer <7.93> Avec la version NMAP téléchargée.

TAR -XF NMAP-7.93.le goudron.bz2

Une fois extrait, déplacez-vous dans le répertoire NMAP.

cd nmap- /

Exécuter le script de configuration.

./ Configurer

Enfin, terminez la compilation en exécutant faire et faire l'installation.

Sudo Make && faire l'installation

Comment fonctionnent les types de balayage de base NMAP

Les analyses NMAP régulières sont effectuées à travers TCP et Syn scans. Lorsque le processus de scan est TCP, Une connexion est établie avec la cible. Avec un Syn scan, la connexion est annulée ou supprimée avant de s'établir.

La figure suivante montre comment les connexions sont établies: Premièrement, l'ordinateur (PC 1) essayant d'établir la connexion envoie un Syn paquet demandant le périphérique de destination à synchroniser. Si le périphérique de destination (PC 2) est disponible pour établir la connexion, il répond à la fois avec un autre paquet SYN permettant une synchronisation et avec un Ack (Reconnaître) Paquet confirmant la réception du premier Syn paquet envoyé par l'ordinateur qui a demandé la connexion, puis l'ordinateur qui a demandé la connexion (PC 1) envoie un Ack paquet confirmant la réception des deux Syn et Ack paquets envoyés par le périphérique de destination (PC 2).

Lorsqu'une connexion est établie, elle est détectée par des pare-feu et enregistrée; c'est pourquoi le Syn Le scan a été implémenté, le Syn ou le scan furtif envoie un Syn paquet, et après avoir reçu les réponses de destination au lieu de répondre avec un Ack paquet, il envoie un Premier (réinitialiser) Paquet pour annuler la connexion avant son établissement comme indiqué dans l'image suivante:

De cette façon, la connexion n'est pas enregistrée, mais vous devez toujours faire face aux systèmes de détection d'intrusion avec Syn Capacités de détection des paquets. Pour éviter la détection, vous pouvez utiliser des techniques de balayage furtif.

Phases de scan NMAP

NMAP passe par 11 étapes pendant le processus de balayage en fonction des indicateurs passés; Certains d'entre eux sont facultatifs selon les paramètres spécifiés. Par exemple, les scripts pré et post-scan ne sont exécutés que si l'utilisateur implémente NSE pour la détection ou l'exploitation de la vulnérabilité.

Les 11 phases possibles sont répertoriées ci-dessous:

  1. Script pré-scanning: L'option «Script pré-scanning» appelle les scripts du moteur de script NMAP (NSE) pour la phase de pré-scanning; Cette étape ne se déroule que lorsque le NSE est utilisé.
  2. Énumération cible: Dans cette phase, NMAP traite les informations sur les cibles à numériser, telles que les adresses IP, les hôtes, les gammes IP, etc.
  3. Découverte d'hôte (ping Scanning): NMAP apprend quelles cibles sont en ligne ou sont accessibles.
  4. Résolution inversée-DNS: NMAP recherche les noms d'hôte pour les adresses IP.
  5. Analyse du port: NMAP découvrira les ports et leur statut: ouvert, fermé ou filtré.
  6. Détection de version: Dans cette phase, NMAP essaiera d'apprendre la version du logiciel exécuté dans des ports ouverts découverts dans la phase précédente, comme quelle version d'Apache ou FTP.
  7. Détection du système d'exploitation: NMAP essaie de détecter le système d'exploitation de la cible.
  8. Traceroute: NMAP découvrira l'itinéraire de la cible sur le réseau ou toutes les routes du réseau.
  9. Scintillement de script: Cette phase est facultative; Dans cette phase, les scripts NSE sont exécutés; Les scripts NSE peuvent être exécutés avant le scan, pendant le scan et après, mais ils sont facultatifs.
  10. Sortir: NMAP nous montre des informations sur les données recueillies.
  11. Script post-scanning: Phase facultative si les scripts étaient définis pour s'exécuter après le scan.

Une simple numérisation NMAP sans indicateur autre que -V (Verbosité) affichera certaines des phases précédemment répertoriées.

Note: Lorsqu'aucun port n'est spécifié, par défaut, NMAP scanne les 1000 ports les plus utilisés, y compris tous les protocoles.

nmap -v Linuxhint.com

États de port et types de balayage de port avec NMAP

L'une des principales fonctionnalités de NMAP est la capacité de scanner des ports apprenant leur état, la version logicielle qui écoute derrière eux et même en utilisant des ports comme conditions pour des analyses IP massives ou multiples.

Lors de la numérisation des services, NMAP peut signaler jusqu'à 6 états ou conditions des ports numérisés:

  • Ouvrir: Le port est ouvert et une application l'écoute.
  • Fermé: Le port est fermé, et 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.
  • Ouver | 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é.

Comme dit dans la section précédente. Lorsque l'utilisateur ne spécifie pas les ports, par défaut, NMAP analyse les 1000 ports les plus populaires et les plus utilisés.

L'indicateur NMAP le plus basique pour spécifier un port est -p, suivi du numéro de port ou du protocole.

Dans l'exemple pratique ci-dessous, l'utilisateur scanne le port 22 sur la cible linuxhint.com.

NMAP -P 22 Linuxhint.com

Comme vous pouvez le voir dans la capture d'écran ci-dessus, le port 22 est filtré par un pare-feu.

Au lieu du numéro de port, l'utilisateur peut également définir le nom du protocole. Sous l'utilisateur exécute le même scan mais spécifie le nom du protocole ssh au lieu du numéro de port 22.

nmap -p ssh linuxhint.com

Il y a des drapeaux et des caractères pour définir plus d'un port spécifique pour scanner. La virgule (,) permet de définir différents ports à partir de différentes gammes.

Dans la capture d'écran ci-dessous, l'utilisateur utilise des virgules pour scanner les ports 22, 80 et 179. Comme vous pouvez le voir, le port 80 a été défini par son nom de protocole, http.

NMAP -P 22, HTTP, 179 Linuxhint.com

Comme vous pouvez le voir, le port 80 a été retrouvé ouvert tandis que les autres ont été filtrés par un pare-feu.

Le trait d'union est un caractère important lors de la numérisation des plages de port ou IP.

Dans l'exemple suivant, un trait d'union est mis en œuvre pour définir une plage de port entre 21 et 30.

NMAP -P 20-30 Linuxhint.com

NMAP permet de définir plus que la gamme des ports en implémentant à la fois des virgules et des traits de traits, comme indiqué ci-dessous, où le port varie de 70 à 90 et de 20 à 40.

NMAP -P 70-90,20-40 Linuxhint.com

Lors de la numérisation des gammes de ports, l'utilisateur peut exclure des ports ou des plages spécifiques du processus de numérisation en implémentant le -exclure des ports drapeau.

Dans l'exemple ci-dessous, l'utilisateur scanne la plage de port du port 20 au port 80 mais exclut les ports 30 à 40. L'utilisateur peut également exclure un seul port ou différents ports séparés par une virgule.

NMAP -P 20-80 Linuxhint.com - exclude-ports 30-40

Si l'utilisateur souhaite scanner tous les ports sur la cible, il a deux options. Il peut définir toute la gamme de 1 à 65535, comme indiqué ci-dessous.

NMAP -P0-65535 192.168.0.1

L'option la plus pratique pour scanner tous les ports est de mettre en œuvre deux tirets, avant et après le p, comme indiqué ci-dessous.

NMAP -P- 192.168.0.1

Définition des cibles dans NMAP

Cette section décrit différentes techniques pour définir des cibles de numérisation, y compris plusieurs cibles.

Dans la section précédente, des traits de main ont été utilisés pour définir les plages de ports.

Les tirets peuvent également être utilisés pour définir des gammes IP, comme le montre la capture d'écran ci-dessous, où l'utilisateur définit une plage IP à partir de 192.168.0.1 et se terminant à 192.168.0.120.

NMAP 192.168.0.1-120

Dans l'exemple ci-dessous, deux gammes sont définies dans les deux derniers octets (200-210 et 80-90).

NMAP -P80,22,443 186.33.200-210.80-90

Les utilisateurs peuvent utiliser le Cière format. Dans l'exemple ci-dessous, le sous-réseau / 24 est scanné.

Le -SS Le drapeau demande à NMAP d'exécuter un Syn scan non détecté par des pare-feu.

Note: Syn Le scan nécessite des privilèges racine.

Sudo Nmap -SS 192.168.0.0/24

Dans l'exemple ci-dessous, le wildcard (*) est implémenté pour demander à NMAP de scanner l'ensemble de l'octet d'adresse IP, de 0 à 255.

Le -sn (Ping Sweep) Le drapeau demande à NMAP d'omettre le scan de port, limitant la découverte de l'hôte.

NMAP -SN 192.168.0.*

Dans la capture d'écran suivante, l'utilisateur met en œuvre deux jokers pour scanner les deux derniers octets. Le -sp (Ping sweep) Le drapeau équivaut à ce qui précède (le -sn Le drapeau remplace -sp),

NMAP -SP 192.168.*.*

Les caractères génériques et les traits de volonté peuvent être combinés pour la définition des cibles personnalisées.

NMAP -SP 186.33.205-210.*

Les cibles peuvent également être chargées à partir de la liste de texte brut d'une cible.

La liste suivante est nommée indigne.SMS et contient un nom de domaine, une adresse IP, un sous-réseau et des gammes IP définies à la fois avec un trait d'union et un joker.

Le -il (Liste) Flag, suivi du chemin d'accès à la liste des cibles, lancera l'analyse par rapport aux cibles répertoriées dans le fichier.

Nmap -Sn -il Scantargets.SMS

L'utilisateur peut scanner des cibles définies dans une liste tout en excluant des cibles spécifiques.

Dans l'exemple ci-dessous, l'utilisateur analyse les cibles définies dans le indigne.SMS dossier, omettant la cible 192.168.0.0/24 avec le -exclure option.

Nmap -Sn -il Scantargets.TXT - EXCLUD 192.168.0.0/24

Le -IR (Aléatoire) Indicateur Demande à NMAP de scanner des cibles aléatoires. Avec ce drapeau, NMAP scanne des cibles générées au hasard, dont beaucoup peuvent être des hôtes morts.

Cet drapeau doit être suivi par le nombre de cibles aléatoires que l'utilisateur veut être généré.

Dans l'exemple ci-dessous, le -IR Le drapeau est utilisé pour scanner 100 cibles aléatoires.

nmap -ir 100

Découverte d'hôte avec NMAP

Certaines options de découverte d'hôtes ont déjà été implémentées dans la section précédente avec des drapeaux -sn et -sp, qui demande à NMAP d'omettre le processus de balayage du port, se limitant à la découverte des hôtes vivants.

Il y a des drapeaux supplémentaires pour exécuter des tâches de découverte avec NMAP.

Le -Ps (Syn Ping) Le drapeau envoie un vide TCP paquet avec le Syn jeu de drapeaux. Dans le cas où le port distant est ouvert lorsque la cible répond à un Syn / ack paquet, NMAP annulera la connexion en envoyant un Premier paquet au lieu d'un Ack un.

NMAP -PS 192.168.0.0/24

Le Pennsylvanie (Ack ping) envoie un TCP paquet avec le Ack jeu de drapeaux. Ce paquet envoie des messages de reconnaissance à des connexions inexistantes générant Premier paquets par l'hôte éloigné, révélant son existence.

nmap -pn -pa50-100 nic.ardente

Le -Puan (UDP Ping) Flag UDP paquets aux adresses distantes. Si les ports ne sont pas spécifiés, les paquets sont envoyés aux ports 40 et 125.

sudo nmap -pu 192.168.0.0/24

Envoie des paquets IP avec les en-têtes d'un autre protocole. S'il n'est pas spécifié, par défaut, les en-têtes sont ICMP, IGMP, et Ip-in-ip protocoles.

sudo nmap -po 192.168.0.0/24

La prochaine lecture recommandée pour continuer avec NMAP est les drapeaux NMAP et ce qu'ils font, qui décrit des drapeaux supplémentaires et présente le lecteur au NSE (NMAP Scripting Engine).

Conclusion

Comme vous pouvez le voir, NMAP est un outil très puissant mais facile à apprendre. Chaque utilisateur de réseau traitant d'un terminal peut commencer par des exemples suivants comme celui proposé ci-dessus.

D'autres fonctionnalités NMAP comme Traceroute peuvent être utilisées pour diagnostiquer les problèmes de réseau, ou la suite NSE peut être utilisée pour détecter et exploiter les vulnérabilités.

Les instructions de ce tutoriel sont valables pour toutes les distributions Linux. Il est fortement recommandé d'appliquer tous les exemples donnés afin d'incorporer les connaissances.

Merci d'avoir lu notre tutoriel NMAP Basics. Continuez à suivre l'astuce Linux pour plus de contenu Linux et de mise en réseau professionnel.