Page cover image

👁️‍🗨️Nmap

🌐 Introduction à Nmap

Nmap (Network Mapper) est un outil de scan de réseau puissant et polyvalent utilisé pour découvrir, auditer et cartographier les réseaux informatiques. Il est largement utilisé par les professionnels de la sécurité informatique pour comprendre la topologie du réseau, découvrir les hôtes actifs, les services en cours d'exécution et même détecter les vulnérabilités.

🔍 Commandes Nmap Couramment Utilisées

Scan Rapide

nmap IP

Effectue un scan rapide des ports les plus courants sur l'adresse IP spécifiée.

Détection de Version, OS et Services

nmap -sC -sV -O IP

Détecte la version des services, le système d'exploitation (OS) et exécute les scripts par défaut pour fournir une analyse détaillée de l'hôte cible.

Scan Agressif

nmap -A IP

Effectue un scan agressif qui inclut la détection de versions, l'OS, les scripts par défaut, et d'autres techniques pour fournir une analyse exhaustive de l'hôte.

📚 Options Nmap Utiles

Mode Verbeux

nmap -v IP

Exécute Nmap en mode verbeux pour afficher des informations détaillées pendant le scan.

Scan de Tous les Ports

nmap -p- IP

Scan tous les ports de 1 à 65535 sur l'adresse IP spécifiée.

ou

nmap -p1000-5000 IP

Scan une plage spécifique de ports de 1000 à 5000 sur l'adresse IP spécifiée.

Timing

nmap -T4 IP # -T<0-5>

Ajuste la vitesse et la furtivité du scan en utilisant les options de timing de Nmap. L'option -T4 spécifie un timing agressif, tandis que -T0 spécifie un timing paranoïaque. Les valeurs de timing vont de 0


📌 Autres options intéressante

Découverte d'hôtes

nmap -sP IP

Effectue une découverte d'hôtes sur le réseau en utilisant diverses méthodes telles que les requêtes ARP, les requêtes ICMP et les scans de ports TCP. Cette option peut être utilisée pour trouver tous les hôtes actifs sur un réseau.

Taille des données

nmap --data-length NUM IP

Ajoute NUM octets de données aléatoires aux paquets envoyés pendant le scan. Cette option peut être utilisée pour contourner certains types de filtrage de paquets ou pour éviter la détection par des systèmes IDS/IPS.

Scan furtif SYN

nmap -sS IP

Effectue un scan furtif en utilisant des paquets TCP SYN pour déterminer l'état des ports sur l'hôte cible. Cette option est utile pour éviter la détection par des systèmes de détection d'intrusion (IDS) ou des pare-feux.

Scan UDP

nmap -sU IP

Effectue un scan des ports UDP sur l'hôte cible. Les scans UDP peuvent prendre plus de temps que les scans TCP et peuvent être moins fiables, mais ils peuvent aider à découvrir des services qui ne répondent pas aux requêtes TCP.

Scan de Sous-réseau

nmap IP/CIDR

Scan un sous-réseau entier en utilisant la notation CIDR pour spécifier la plage d'adresses IP à scanner. Par exemple, nmap 192.168.1.0/24 scannera toutes les adresses IP de 192.168.1.1 à 192.168.1.255.

Sortie de Fichier

nmap IP > fichier.txt

🕵️‍♂️ Options de Balayage TCP

Lorsqu'il s'agit de découvrir et d'analyser les ports d'un hôte sur un réseau, les options de balayage TCP de Nmap offrent une gamme de techniques puissantes. Chaque option utilise différents drapeaux TCP (Transmission Control Protocol) pour envoyer des paquets et interpréter les réponses, fournissant ainsi des informations précieuses sur la disponibilité des services et les configurations réseau.

💡 Rappel Signification des Drapeaux TCP et du 3-Way Handshake💡

🌱 Les drapeaux TCP sont des indicateurs dans l'en-tête des paquets TCP, utilisés pour contrôler et signaler différentes fonctions lors de la communication réseau. Voici un rappel des principaux drapeaux TCP et leur signification :

  • SYN (Synchronize) : Utilisé pour initier une connexion. Lorsqu'un hôte reçoit un paquet avec le drapeau SYN, il répond généralement avec un SYN-ACK.

  • ACK (Acknowledgment) : Confirme la réception de données. Les paquets ACK sont souvent utilisés pour confirmer la réception de paquets de données.

  • FIN (Finish) : Indique la fin d'une connexion. Lorsqu'un hôte envoie un paquet avec le drapeau FIN, il indique qu'il a terminé l'envoi de données.

  • RST (Reset) : Réinitialise une connexion. Un paquet avec le drapeau RST est envoyé en réponse à une demande non valide ou lorsqu'une connexion doit être fermée de force.

  • URG (Urgent) : Signale des données urgentes. Le drapeau URG est utilisé pour indiquer que les données contenues dans le paquet sont prioritaires.

  • PSH (Push) : Demande l'envoi immédiat des données en mémoire tampon. Lorsqu'un hôte envoie un paquet avec le drapeau PSH, il demande à l'hôte distant de vider sa mémoire tampon.

🌟 Le "TCP 3-Way Handshake" est un processus de connexion entre deux appareils sur un réseau

  1. SYN (Synchronize) : L'appareil initiant envoie un "Hey, je veux me connecter!".

  2. SYN-ACK (Synchronize-Acknowledgment) : L'appareil distant répond "D'accord, je suis prêt!".

  3. ACK (Acknowledgment) : L'appareil initial confirme "Oui, commençons à échanger des données!"

C'est comme se dire "Salut!", "Salut, prêt!" et "D'accord, commençons!" avant de discuter. Le TCP 3-Way Handshake est la manière par laquelle deux appareils établissent une connexion fiable et sécurisée avant de commencer à échanger des données sur un réseau.

Balayages de Drapeaux TCP

Les balayages TCP sont des techniques pour découvrir les ports ouverts et déterminer l'état des services.

Commande
Description

sudo nmap -sN IP

TCP Null Scan - Envoie des paquets sans drapeau TCP. Les hôtes ouverts ignoreront ces paquets, tandis que les hôtes fermés répondront avec un paquet RST (reset). Utile pour contourner les pare-feu.

sudo nmap -sF IP

TCP FIN Scan - Envoie des paquets avec le drapeau FIN actif. Les réponses peuvent indiquer si un port est ouvert (silence) ou fermé (RST). Peut contourner les pare-feu.

sudo nmap -sX IP

TCP Xmas Scan - Envoie des paquets avec les drapeaux URG, PSH et FIN actifs. La réponse peut varier selon l'implémentation de l'hôte. Peut aider à détecter des systèmes spécifiques.

sudo nmap -sM IP

TCP Maimon Scan - Utilise des paquets ACK pour tester les pare-feu. Certains pare-feu peuvent laisser passer ces paquets ACK, d'autres les bloqueront.

sudo nmap -sA IP

TCP ACK Scan - Envoie des paquets ACK pour détecter les ports filtrés. Les réponses peuvent indiquer si un port est filtré par un pare-feu.

sudo nmap -sW IP

TCP Window Scan - Utilise la taille de la fenêtre TCP pour détecter les ports ouverts. Une fenêtre TCP pleine peut indiquer un port ouvert.

sudo nmap --scanflags URGACKPSHRSTSYNFIN IP

Balayage TCP personnalisé avec des drapeaux spécifiques. Permet de spécifier des drapeaux TCP personnalisés pour des analyses précises.

sudo nmap -S SPOOFED_IP IP

Spoofed Source IP - Utilise une adresse IP source falsifiée. Peut être utilisé pour masquer l'origine du scan, mais peut être détecté par certains dispositifs de sécurité.

sudo nmap -D DECOY_IP,ME IP

Decoy Scan - Utilise des leurres pour masquer l'origine du balayage. Envoie des paquets en apparence provenant d'autres adresses IP, pour dérouter les défenses réseau.

sudo nmap -sI ZOMBIE_IP IP

Idle (Zombie) Scan - Utilise des hôtes zombies pour cacher l'attaquant. Les hôtes zombies reçoivent les réponses des cibles, masquant l'origine du scan. Utilisé pour éviter la détection.


Type de Scripts

  • --script <nom_du_script> : Utiliser un script spécifique.

  • -script-help <nom_du_script> : Obtenir de l'aide sur un script spécifique.

  • -sC : Utiliser les scripts par défaut.

Catégorie de script
Description

auth

Scripts liés à l'authentification

broadcast

Découvrez les hôtes en voyant des messages diffusés

brute

Effectuer un audit de mot de passe par force brute par rapport aux connexions

default

Scripts par défaut, identiques à -sC

discovery

Récupérer les informations accessibles, telles que les tables de base de données et les noms DNS

dos

Détecte les serveurs vulnérables au déni de service (DoS))

exploit

Tentatives d'exploitation de divers services vulnérables

external

Vérifications à l'aide d'un service tiers, tel que Geoplugin et Virustotal

fuzzer

Lancez des attaques fuzzing

intrusive

Scripts intrusifs tels que les attaques par force brute et l'exploitation

malware

Recherche de portes dérobées

safe

Des scripts sécurisés qui ne feront pas planter la cible

version

Récupérer les versions du service

vuln

Vérifie les vulnérabilités ou exploite les services vulnérables

Script intéressant

Nom du script
Description

http-enum

Recherche des fichiers et répertoires spécifiques aux applications web populaires en envoyant plusieurs requêtes au serveur web. Identifie si ces ressources sont disponibles en vérifiant les codes de réponse comme "200 OK" ou "401 Authentication Required", et retourne le nom de l'application si elles sont trouvées.

http-grep

Explore une page web donnée à la recherche d'informations utiles telles que des adresses e-mail, des adresses IP et d'autres motifs spécifiés par l'utilisateur.

ssh-brute

Tente de deviner les mots de passe SSH en utilisant une liste prédéfinie de combinaisons de noms d'utilisateur et de mots de passe.

dns-brute

Cherche à découvrir des sous-domaines en utilisant des noms de sous-domaine courants pour un hôte donné.

http-config-backup

Cherche des fichiers de sauvegarde de configuration sur les serveurs web, potentiellement laissés par des CMS ou des éditeurs de texte, pouvant contenir des informations sensibles.

vulscan

Ajoute des capacités de balayage de vulnérabilités à Nmap, en suggérant des vulnérabilités possibles basées sur les versions de logiciels détectées pendant le scan.

smb-enum-users

Énumère tous les utilisateurs disponibles sur un système Windows en utilisant les protocoles SAMR et LSA.

http-wordpress-enum

Vérifie les installations WordPress pour les thèmes et plugins installés en utilis

🕶️ Évasion

Nmap offre plusieurs options pour éviter la détection par les systèmes IDS/IPS. Voici quelques commandes pour être plus discret lors de vos scans :

Désactivation du ping

-Pn

Désactiver le ping, scanner les hôtes sans les pinguer au préalable.

Fragmentation IP

-f

Fragmentation IP en 8 octets.

-ff

Fragmentation IP en 16 octets.

Modification de la taille des paquets

--mtu <valeur>

Modifier la taille des paquets pour évasion.

Ajout de données supplémentaires

--data-length <longueur>

Ajouter des données supplémentaires aux paquets pour évasion.

Utilisation d'options IP

--ip-options

Utiliser des options IP pour le routage source.

Modification de la durée de vie des paquets

--ttl <valeur>

Modifier la durée de vie des paquets (Time To Live) pour contourner les filtres.

Badsum

nmap --badsum IP

Effectue un scan sur l'adresse IP spécifiée en utilisant une somme de contrôle incorrecte intentionnelle pour les paquets envoyés. Certains systèmes ignorent les paquets avec une somme de contrôle incorrecte, tandis que d'autres les rejettent. Cette option peut être utilisée pour découvrir des informations supplémentaires sur les systèmes du réseau.

📊 Evasion avancé

Décoy(s)

nmap -sS -Pn -D 10.10.10.1,10.10.10.2,ME -F 10.10.1.210
  • Utilisation de fausses adresses IP (10.10.10.1, 10.10.10.2) et une vraie adresse IP (ME) pour brouiller les pistes. Nmap envoie des paquets depuis les adresses IP spécifiées, rendant plus difficile la détection de l'adresse réelle.

Proxy

nmap -sS -Pn --proxies PROXY_URL -F 10.10.1.210
  • Utilisation d'un proxy HTTP/SOCKS4 (PROXY_URL) pour relayer les connexions. Les paquets Nmap passeront par le proxy, cachant ainsi votre adresse IP réelle au destinataire.

MAC Adresse Spoofing

nmap -sS -Pn --spoof-mac MAC_ADDRESS -F 10.10.1.210
  • Spoofing de l'adresse MAC source (MAC_ADDRESS) pour masquer l'origine réelle des paquets envoyés par Nmap. Cette technique est efficace lorsque le scanner et la cible sont sur le même segment réseau.

Spoofed Source IP Address

map -sS -Pn -S IP_ADDRESS -F 10.10.1.210
  • Spoofing de l'adresse IP source (IP_ADDRESS) pour faire croire à la cible que les paquets proviennent d'une autre source. Utile pour brouiller les pistes lorsque vous contrôlez le système avec cette adresse IP.

Numéro de Port Source Fixe

nmap -sS -Pn -g PORT_NUM -F 10.10.1.210
  • Utilisation d'un numéro de port source spécifique (PORT_NUM) pour éviter la détection. Certains pare-feu autorisent les paquets entrants à partir de ports source particuliers sans inspecter leur contenu.

Décoys Aléatoires

nmap -sS -Pn -D RND,RND,ME -F 10.10.1.210
  • Utilisation de décoys aléatoires (RND,RND,ME) pour rendre plus difficile la traçabilité de l'origine du scan. Nmap choisit des adresses IP aléatoires en plus de l'adresse réelle (ME) à chaque exécution de la commande.


🛡️ Conseils de Sécurité

  • Évitez l'utilisation abusive : Nmap est un outil puissant, mais son utilisation abusive peut être illégale.

  • Respectez les lois locales : Vérifiez les lois locales avant de scanner un réseau qui n'est pas le vôtre.

  • Documentation officielle : Consultez la documentation officielle de Nmap pour une utilisation sécurisée et efficace.

Nmap est un outil indispensable pour les professionnels de la sécurité, mais son utilisation nécessite une compréhension approfondie pour éviter les abus et garantir la légalité de son utilisation. Utilisez-le de manière responsable et respectueuse de la vie privée.

Last updated