Effectuer un scan TCP ACK avec Nmap

NmapNmapBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à effectuer un balayage TCP ACK à l'aide de Nmap. Le laboratoire couvre divers aspects du balayage ACK, notamment l'exécution d'un balayage ACK de base, le balayage d'une plage de ports spécifique, l'ajout de verbeux au balayage, la sauvegarde des résultats du balayage, l'analyse des ports filtrés et la comparaison des balayages ACK avec les balayages SYN dans le terminal Xfce. Vous allez comprendre comment fonctionnent les balayages ACK en envoyant des paquets TCP ACK à un hôte cible et en analysant les réponses pour déterminer si les ports sont filtrés ou non.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") subgraph Lab Skills nmap/output_formats -.-> lab-547092{{"Effectuer un scan TCP ACK avec Nmap"}} nmap/save_output -.-> lab-547092{{"Effectuer un scan TCP ACK avec Nmap"}} nmap/port_scanning -.-> lab-547092{{"Effectuer un scan TCP ACK avec Nmap"}} nmap/scan_types -.-> lab-547092{{"Effectuer un scan TCP ACK avec Nmap"}} nmap/target_specification -.-> lab-547092{{"Effectuer un scan TCP ACK avec Nmap"}} nmap/verbosity -.-> lab-547092{{"Effectuer un scan TCP ACK avec Nmap"}} end

Exécuter un balayage ACK avec nmap -sA 192.168.1.1

Dans cette étape, vous allez apprendre à effectuer un balayage ACK à l'aide de Nmap. Un balayage ACK est un type de balayage TCP qui envoie des paquets TCP ACK à un hôte cible. Contrairement à d'autres types de balayage, un balayage ACK ne crée pas une connexion TCP complète. Au lieu de cela, il analyse les réponses (ou leur absence) pour déterminer si un port est filtré ou non filtré.

Comprendre les bases du balayage ACK

  • Paquet ACK : Un paquet TCP ACK (Acknolwedgment) est généralement utilisé pour confirmer la réception de données dans une connexion TCP établie.
  • Comportement du pare-feu : Les pare-feu ont souvent des règles pour bloquer les connexions TCP entrantes non sollicitées. Les balayages ACK exploitent ce comportement pour cartographier les ensembles de règles de pare-feu.
  • Filtré vs. Non filtré :
    • Non filtré : Si le port cible n'est pas filtré, Nmap recevra un paquet RST (Reset) en réponse à la sonde ACK. Cela indique qu'aucun pare-feu n'empêche la connexion.
    • Filtré : Si le port cible est filtré, Nmap ne recevra aucune réponse, ou un message d'erreur ICMP. Cela suggère qu'un pare-feu bloque la connexion.

Effectuer un balayage ACK

  1. Ouvrir le terminal Xfce : Si celui-ci n'est pas déjà ouvert, lancez le terminal Xfce à partir de l'environnement de bureau.

  2. Exécuter la commande de balayage ACK : Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

    nmap -sA 192.168.1.1
    • nmap : Le scanner de ligne de commande Nmap.
    • -sA : Spécifie le type de balayage ACK.
    • 192.168.1.1 : L'adresse IP cible. Remplacez cela par l'adresse IP réelle que vous souhaitez scanner. Si vous exécutez cela dans un environnement virtuel, vous pouvez vouloir scanner votre passerelle ou un autre ordinateur sur votre réseau. Si vous n'avez pas un autre ordinateur, vous pouvez scanner l'adresse IP de votre localhost 127.0.0.1.
    nmap -sA 127.0.0.1
  3. Analyser les résultats : Nmap affichera les résultats du balayage. Recherchez les ports marqués comme "Non filtré" ou "Filtré".

    Exemple de sortie (peut varier selon la cible) :

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
    Nmap scan report for 127.0.0.1
    Host is up (0.00020s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

    Dans cet exemple, les ports 22, 80, 111 et 631 ne sont pas filtrés, ce qui signifie qu'un paquet ACK envoyé à ces ports recevrait probablement une réponse RST.

Considérations importantes :

  • Les balayages ACK ne sont pas toujours fiables pour déterminer l'état exact d'un port. Les pare-feu et les dispositifs de réseau peuvent parfois produire des résultats trompeurs.
  • Les balayages ACK sont principalement utilisés pour cartographier les règles de pare-feu et identifier les points d'entrée potentiels dans un réseau.

Balayer une plage de ports avec nmap -sA -p 1-100 127.0.0.1

Dans cette étape, vous allez approfondir vos connaissances sur les balayages ACK en balayant une plage de ports spécifique. Cela est utile pour resserrer votre investigation sur les ports les plus couramment utilisés ou les ports d'intérêt.

Comprendre les plages de ports

Une plage de ports spécifie un ensemble de ports à balayer, au lieu de balayer tous les 65535 ports. Cela peut réduire considérablement le temps de balayage et concentrer votre analyse. Les plages de ports courantes incluent :

  • 1-1024 : Ports bien connus, souvent utilisés par les services système.
  • 1-100 : Une plage plus petite pour des vérifications rapides.
  • 80,443,8080 : Ports spécifiques d'intérêt (HTTP, HTTPS, HTTP alternatif).

Balayer une plage de ports avec Nmap

  1. Ouvrir le terminal Xfce : Si celui-ci n'est pas déjà ouvert, lancez le terminal Xfce à partir de l'environnement de bureau.

  2. Exécuter la commande de balayage ACK avec une plage de ports : Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

    nmap -sA -p 1-100 127.0.0.1
    • nmap : Le scanner de ligne de commande Nmap.
    • -sA : Spécifie le type de balayage ACK.
    • -p 1-100 : Spécifie la plage de ports à balayer (ports 1 à 100).
    • 127.0.0.1 : L'adresse IP cible (localhost dans ce cas).
  3. Analyser les résultats : Nmap affichera les résultats du balayage, en se concentrant uniquement sur les ports dans la plage spécifiée (1-100).

    Exemple de sortie (peut varier selon la cible) :

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00018s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT    STATE      SERVICE
    21/tcp  unfiltered ftp
    22/tcp  unfiltered ssh
    25/tcp  unfiltered smtp
    53/tcp  unfiltered domain
    80/tcp  unfiltered http
    
    Nmap done: 1 IP address (1 host up) scanned in 0.85 seconds

    Cette sortie montre l'état des ports 21, 22, 25, 53 et 80 sur le localhost. Tous sont non filtrés.

Avantages des balayages de plages de ports :

  • Efficacité : Réduit le temps de balayage en se concentrant sur des ports spécifiques.
  • Analyse ciblée : Vous permet d'investiguer des services ou des applications spécifiques exécutés sur la cible.
  • Bruit réduit : Filtre les informations inutiles, facilitant l'identification de vulnérabilités potentielles.

Ajouter la détaillement avec nmap -v -sA 192.168.1.1

Dans cette étape, vous allez apprendre à augmenter le détaillement des balayages Nmap. Le détaillement fournit des informations plus détaillées sur le processus de balayage, ce qui peut être utile pour le dépannage ou pour comprendre plus profondément les résultats.

Comprendre les niveaux de détaillement

Nmap propose différents niveaux de détaillement, contrôlés par l'option -v. Utiliser -v une fois augmente le niveau de détaillement, et l'utiliser plusieurs fois (par exemple, -vv) l'augmente encore plus. Les niveaux de détaillement plus élevés fournissent une sortie plus détaillée.

Ajouter le détaillement à un balayage ACK

  1. Ouvrir le terminal Xfce : Si celui-ci n'est pas déjà ouvert, lancez le terminal Xfce à partir de l'environnement de bureau.

  2. Exécuter la commande de balayage ACK avec détaillement : Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

    nmap -v -sA 192.168.1.1
    • nmap : Le scanner de ligne de commande Nmap.
    • -v : Active la sortie détaillée.
    • -sA : Spécifie le type de balayage ACK.
    • 192.168.1.1 : L'adresse IP cible. Remplacez cela par l'adresse IP réelle que vous souhaitez scanner. Si vous exécutez cela dans un environnement virtuel, vous pouvez vouloir scanner votre passerelle ou un autre ordinateur sur votre réseau. Si vous n'avez pas un autre ordinateur, vous pouvez scanner l'adresse IP de votre localhost 127.0.0.1.
    nmap -v -sA 127.0.0.1
  3. Analyser les résultats : Nmap affichera les résultats du balayage avec des informations plus détaillées. Vous verrez plus de sortie sur le processus de balayage, tels que les sondes envoyées et les réponses reçues.

    Exemple de sortie (peut varier selon la cible) :

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
    Initiating Ping Scan at 10:10
    Scanning 127.0.0.1 [4 ports]
    Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
    Initiating ACK Scan at 10:10
    Scanning localhost (127.0.0.1) [1000 ports]
    Discovered open port 22/tcp on 127.0.0.1
    Discovered open port 80/tcp on 127.0.0.1
    Discovered open port 111/tcp on 127.0.0.1
    Discovered open port 631/tcp on 127.0.0.1
    Completed ACK Scan at 10:10, 0.15s elapsed (1000 total ports)
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00016s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds

    La sortie détaillée montre les différents stades du balayage, y compris le balayage Ping et le balayage ACK, ainsi que les ports découverts.

Avantages du détaillement :

  • Dépannage : Aide à identifier les problèmes pendant le processus de balayage, tels que des problèmes de connectivité réseau ou des interférences de pare-feu.
  • Compréhension approfondie : Fournit plus de renseignements sur la manière dont Nmap fonctionne et sur la manière dont il détermine l'état des ports.
  • Rapport détaillé : Offre des informations plus complètes pour la rédaction de rapports et l'analyse.

Sauvegarder les résultats d'un balayage ACK avec nmap -sA -oN ack.txt 127.0.0.1

Dans cette étape, vous allez apprendre à sauvegarder les résultats d'un balayage ACK Nmap dans un fichier. Cela est utile pour une analyse ultérieure, la rédaction de rapports ou la comparaison avec d'autres balayages.

Comprendre les options de sortie de Nmap

Nmap propose plusieurs options pour sauvegarder les résultats du balayage dans différents formats. L'option -oN sauvegarde les résultats au format "normal" lisible par l'homme. Les autres options incluent -oX pour le format XML et -oS pour le format "script kiddie" (moins lisible).

Sauvegarder les résultats du balayage ACK dans un fichier

  1. Ouvrir le terminal Xfce : Si celui-ci n'est pas déjà ouvert, lancez le terminal Xfce à partir de l'environnement de bureau.

  2. Exécuter la commande de balayage ACK avec sortie vers un fichier : Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

    nmap -sA -oN ack.txt 127.0.0.1
    • nmap : Le scanner de ligne de commande Nmap.
    • -sA : Spécifie le type de balayage ACK.
    • -oN ack.txt : Spécifie que la sortie doit être sauvegardée au format normal dans un fichier nommé ack.txt. Le fichier sera sauvegardé dans votre répertoire actuel (~/projet).
    • 127.0.0.1 : L'adresse IP cible (localhost dans ce cas).
  3. Vérifier la création du fichier : Après la fin du balayage, vérifiez que le fichier ack.txt a été créé dans votre répertoire ~/projet. Vous pouvez utiliser la commande ls pour lister les fichiers dans le répertoire :

    ls ~/projet

    Vous devriez voir ack.txt dans la liste des fichiers.

  4. Voir le contenu du fichier : Vous pouvez voir le contenu du fichier ack.txt à l'aide de la commande cat ou d'un éditeur de texte comme nano :

    cat ~/projet/ack.txt

    ou

    nano ~/projet/ack.txt

    Le fichier contiendra les résultats du balayage Nmap au format lisible par l'homme.

    Exemple de contenu de ack.txt (peut varier selon la cible) :

    ## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00016s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    ## Nmap done at Fri Oct 27 10:15:01 2023 -- 1 IP address (1 host up) scanned in 0.85 seconds

Avantages de la sauvegarde des résultats du balayage :

  • Documentation : Fournit une trace des résultats du balayage pour référence ultérieure.
  • Analyse : Vous permet d'analyser les résultats plus en détail à l'aide d'outils de traitement de texte ou de scripts.
  • Rédaction de rapports : Facilite la création de rapports basés sur les résultats du balayage.
  • Comparaison : Vous permet de comparer les résultats de différents balayages au fil du temps pour suivre les changements dans le réseau.

Analyser les ports filtrés dans le terminal Xfce

Dans cette étape, vous allez apprendre à analyser les ports filtrés identifiés lors d'un balayage ACK Nmap. Comprendre pourquoi les ports sont filtrés est crucial pour évaluer la sécurité du réseau et identifier les vulnérabilités potentielles.

Comprendre les ports filtrés

Dans Nmap, un port "filtré" signifie que Nmap ne peut pas déterminer si le port est ouvert ou fermé car le filtrage des paquets empêche les sondes de Nmap d'atteindre le port. Cela est souvent dû à une règle de pare-feu qui bloque le type de trafic spécifique que Nmap utilise pour le balayage. Avec le balayage ACK, les ports filtrés indiquent généralement la présence d'un pare-feu ou d'un autre dispositif réseau qui bloque les paquets ACK.

Analyser les ports filtrés à partir du balayage ACK

  1. Ouvrir le terminal Xfce : Si celui-ci n'est pas déjà ouvert, lancez le terminal Xfce à partir de l'environnement de bureau.

  2. Revoir le fichier ack.txt : Dans l'étape précédente, vous avez sauvegardé les résultats du balayage ACK dans le fichier ack.txt. Utilisez la commande cat ou nano pour voir le contenu du fichier :

    cat ~/projet/ack.txt

    ou

    nano ~/projet/ack.txt
  3. Identifier les ports filtrés : Recherchez les lignes dans la sortie qui indiquent qu'un port est dans l'état "filtré". Par exemple :

    PORT      STATE      SERVICE
    21/tcp    filtered  ftp
    23/tcp    filtered  telnet

    Cela indique que les ports 21 (FTP) et 23 (Telnet) sont filtrés.

  4. Investiguer la cause du filtrage : Le fait que les ports soient filtrés suggère qu'un pare-feu ou un autre dispositif réseau bloque les paquets ACK envoyés vers ces ports. Pour enquêter plus avant, vous pouvez considérer les points suivants :

    • Règles de pare-feu : Vérifiez la configuration du pare-feu sur la machine cible ou le réseau pour voir s'il y a des règles bloquant les paquets ACK vers des ports spécifiques. Puisque vous balayez 127.0.0.1, vous pouvez vérifier les règles de pare-feu locales. Cependant, dans l'environnement LabEx, vous n'aurez probablement pas accès pour modifier les règles de pare-feu.
    • Topologie du réseau : Considérez la topologie du réseau entre votre machine de balayage et la cible. Y a-t-il des dispositifs intermédiaires (par exemple, routeurs, pare-feu) qui pourraient filtrer le trafic?
    • Autres types de balayage : Utilisez d'autres types de balayage Nmap (par exemple, balayage SYN, balayage de connexion TCP) pour voir s'ils fournissent plus d'informations sur l'état des ports. Vous le ferez dans l'étape suivante.
  5. Exemple d'analyse :

    Si vous constatez que des ports courants comme 21 (FTP), 23 (Telnet) et 80 (HTTP) sont filtrés, il est probable qu'un pare-feu est configuré pour bloquer les connexions entrantes non sollicitées vers ces ports. C'est une pratique de sécurité courante pour empêcher l'accès non autorisé aux services exécutés sur la machine cible.

Considérations importantes :

  • Les balayages ACK sont souvent utilisés pour cartographier les ensembles de règles de pare-feu. En envoyant des paquets ACK à différents ports, vous pouvez déterminer quels ports sont filtrés et lesquels ne le sont pas.
  • Les résultats d'un balayage ACK peuvent être affectés par la configuration du réseau et la présence de pare-feu.
  • Les ports filtrés ne signifient pas nécessairement que le service n'est pas en cours d'exécution. Cela signifie simplement que Nmap ne peut pas déterminer son état en raison du filtrage.

#Comparer un balayage ACK avec un balayage SYN dans le terminal Xfce

Dans cette étape, vous allez comparer les résultats d'un balayage ACK Nmap avec un balayage SYN. Cette comparaison vous aidera à comprendre les différences entre ces types de balayage et comment ils peuvent être utilisés pour recueillir différentes informations sur une cible.

Comprendre les balayages ACK et SYN

  • Balayage ACK (-sA) : Envoie des paquets TCP ACK à la cible. Il est principalement utilisé pour cartographier les ensembles de règles de pare-feu. Si un port est non filtré, cela signifie généralement que le pare-feu permet aux paquets ACK de passer. Si un port est filtré, cela signifie que le pare-feu bloque probablement les paquets ACK. Le balayage ACK ne détermine pas si un port est ouvert ou fermé.
  • Balayage SYN (-sS) : Envoie des paquets TCP SYN à la cible. C'est un balayage plus discrètement que le balayage de connexion TCP complet car il ne termine pas la mainmise TCP. Si un paquet SYN/ACK est reçu, le port est considéré ouvert. Si un paquet RST est reçu, le port est considéré fermé.

Effectuer un balayage SYN

  1. Ouvrir le terminal Xfce : Si celui-ci n'est pas déjà ouvert, lancez le terminal Xfce à partir de l'environnement de bureau.

  2. Exécuter la commande de balayage SYN : Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

    nmap -sS 127.0.0.1
    • nmap : Le scanner de ligne de commande Nmap.
    • -sS : Spécifie le type de balayage SYN.
    • 127.0.0.1 : L'adresse IP cible (localhost dans ce cas).
  3. Exécuter la commande de balayage SYN avec sortie vers un fichier : Dans le terminal, tapez la commande suivante et appuyez sur Entrée :

    nmap -sS -oN syn.txt 127.0.0.1
    • nmap : Le scanner de ligne de commande Nmap.
    • -sS : Spécifie le type de balayage SYN.
    • -oN syn.txt : Spécifie que la sortie doit être sauvegardée au format normal dans un fichier nommé syn.txt. Le fichier sera sauvegardé dans votre répertoire actuel (~/projet).
    • 127.0.0.1 : L'adresse IP cible (localhost dans ce cas).

Comparer les résultats

  1. Voir les résultats du balayage SYN : Après la fin du balayage SYN, voir les résultats dans le terminal. Vous devriez voir une liste de ports ouverts, fermés et filtrés.

  2. Voir le contenu du fichier : Vous pouvez voir le contenu du fichier syn.txt à l'aide de la commande cat ou d'un éditeur de texte comme nano :

    cat ~/projet/syn.txt

    ou

    nano ~/projet/syn.txt

    Le fichier contiendra les résultats du balayage Nmap au format lisible par l'homme.

  3. Comparer avec les résultats du balayage ACK : Comparez les résultats du balayage SYN avec les résultats du balayage ACK que vous avez obtenus dans les étapes précédentes (soit à partir de la sortie du terminal ou du fichier ack.txt).

  4. Analyser les différences :

    • Ports ouverts : Le balayage SYN vous montrera quels ports sont effectivement ouverts sur la cible. Le balayage ACK ne révèlera pas directement les ports ouverts.
    • Ports filtrés : Si un port est filtré dans le balayage ACK mais ouvert dans le balayage SYN, cela suggère que le pare-feu bloque les paquets ACK mais permet les paquets SYN à ce port. C'est un scénario courant.
    • Ports fermés : Le balayage SYN vous montrera quels ports sont fermés. Le balayage ACK ne révèlera pas directement les ports fermés.

Exemple de comparaison :

Disons que le balayage ACK montre que le port 80 (HTTP) est filtré, tandis que le balayage SYN montre que le port 80 est ouvert. Cela indique que le pare-feu bloque probablement les paquets ACK au port 80, mais permet les paquets SYN. C'est une configuration typique pour un serveur web, où les paquets SYN entrants sont autorisés à établir des connexions, mais les paquets ACK non sollicités sont bloqués.

Points clés à retenir :

  • Les balayages ACK et SYN fournissent différents types d'informations sur une cible.
  • Les balayages ACK sont utiles pour cartographier les ensembles de règles de pare-feu.
  • Les balayages SYN sont utiles pour identifier les ports ouverts.
  • En comparant les résultats de ces balayages, vous pouvez mieux comprendre la posture de sécurité de la cible.

Sommaire

Dans ce laboratoire, vous allez apprendre à effectuer un balayage TCP ACK à l'aide de Nmap. Vous commencerez par effectuer un balayage ACK de base avec la commande nmap -sA <target_ip>, en comprenant comment fonctionnent les paquets ACK et comment déterminer si un port est filtré ou non filtré en fonction des réponses. Vous allez également apprendre à balayer une plage de ports spécifique, à ajouter de la verbeosité au balayage et à enregistrer les résultats dans un fichier. En outre, vous analyserez les ports filtrés et comparerez les balayages ACK avec les balayages SYN dans le terminal Xfce.