«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:
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 (à 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 nmapPour les distributions basées sur Redhat, exécutez la commande indiquée dans la capture d'écran ci-dessous.
sudo yum install nmapPour 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.bz2Une fois extrait, déplacez-vous dans le répertoire NMAP.
cd nmap- /Exécuter le script de configuration.
./ ConfigurerEnfin, terminez la compilation en exécutant faire et faire l'installation.
Sudo Make && faire l'installationComment 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:
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:
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.comComme 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.comIl 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.comComme 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.comNMAP 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.comLors 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-40Si 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.1L'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.1Dé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-120Dans 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-90Les 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/24Dans 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.SMSL'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/24Le -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 100Dé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/24Le 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.ardenteLe -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/24Envoie 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/24La 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.