Varonis debuts trailblazing features for securing Salesforce. Learn More

Introduction de l'automatisation du moindre privilège pour Microsoft 365, Google Drive et Box

En savoir plus

Scanner de ports : description et fonctionnement techniques de balayage de ports

Les scanners de ports sont des outils essentiels pour les Red Team comme pour les Blue Team. Dans cet article de blog, nous allons nous pencher sur leur fonctionnement.
Michael Buckbee
8 minute de lecture
Publié 21 mai 2021
Dernière mise à jour 6 octobre 2023

Scanner de ports : description et fonctionnement techniques de balayage de ports. Les scanners de ports sont des outils essentiels pour les Red Team comme pour les Blue Team. Dans cet article de blog, nous allons nous pencher sur leur fonctionnement.

Découvrez vos points faibles et renforcez votre résilience : Effectuez un Test de Préparation à la Ransomware Gratuit

Un scanner de ports est un programme informatique qui analyse les ports réseau pour déterminer leur statut : ouvert, fermé ou filtré. Ces outils sont très utiles pour diagnostiquer un problème de réseau ou de connectivité. Toutefois, ils permettent aussi aux attaquants de détecter des points d’infiltration possibles et d’identifier les appareils utilisés sur votre réseau, comme les pare-feu, serveurs proxy ou serveurs VPN. Cet article explique tout ce que vous devez savoir sur les scanners de ports. Il aborde notamment les sujets suivants :

Comment fonctionne un scanner de ports ?

Un scanner de ports envoie une demande de connexion à un port TCP ou UDP d’un ordinateur et enregistre la réponse. Il envoie donc un paquet de données réseau à un port pour en contrôler le statut. Par exemple, pour vérifier si votre serveur Web fonctionne correctement, vous devez contrôler le statut du port 80 de ce serveur pour vous assurer qu’il est ouvert et à l’écoute. Cette information permet aux ingénieurs réseau de diagnostiquer les problèmes de réseau et de connectivité applicative, mais aussi aux attaquants de localiser les ports pouvant leur permettre de s’infiltrer dans votre réseau.

Qu’est-ce qu’un port ?

Résumé grossièrement, un port est un emplacement virtuel au niveau duquel les communications commencent et se terminent. Avant d’entrer dans le détail, intéressons-nous au contexte dans lequel s’inscrivent les ports. Chaque ordinateur dispose de 131 082 ports, répartis en nombre égal entre deux catégories :

  • les ports TCP et UDP.

Chaque ordinateur dispose aussi d’une adresse IP (Internet Protocol) qui permet au réseau de savoir à quel ordinateur envoyer les paquets. Lorsque vous envoyez un paquet à une adresse IP, l’ordinateur sait vers quel port l’acheminer en fonction de l’application utilisée ou du contenu du paquet. Chaque service s’exécutant sur l’ordinateur doit « écouter » un port spécifique. Les 1 023 premiers ports TCP sont dédiés aux applications les plus connues comme FTP (21), HTTP (80) ou encore SSH (22). L’Internet Assigned Numbers Authority (IANA) a réservé ces ports pour normaliser leur utilisation. Les ports TCP 1024 à 49151 peuvent être utilisés par des services ou applications, et vous pouvez les enregistrer auprès de l’IANA pour qu’ils soient considérés comme semi-réservés. Les ports 49152 et suivants sont totalement libres.

Bases du balayage de ports

Un scanner de ports envoie un paquet réseau TCP ou UDP demandant à un port quel est son statut. Trois réponses sont possibles :

  1. Ouvert, accepté : l’ordinateur répond et demande s’il peut faire quelque chose pour vous.
  2. Fermé, n’écoute pas : l’ordinateur répond que le port est en cours d’utilisation et indisponible pour le moment.
  3. Filtré, ignoré, bloqué : l’ordinateur ne répond pas du tout.

Les balayages de ports interviennent en général tôt dans la chaîne du cybercrime, à savoir pendant la reconnaissance et l’intrusion. Ils permettent aux hackers de détecter des cibles disposant de ports ouverts et non utilisés qu’ils peuvent exploiter pour infiltrer le réseau, transmettre des informations de commande et contrôle, exfiltrer des données ou déterminer quelles applications sont exécutées sur l’ordinateur afin de tirer parti de leurs vulnérabilités.

Techniques de balayage de ports

Nmap compte parmi les outils de balayage de ports open source les plus populaires. Il propose différentes techniques de balayage adaptées à divers scénarios.

Scan par ping

Le plus simple des balayages de ports est le scan par ping. Un ping est une requête echo Internet Control Message Protocol (ICMP) permettant de rechercher n’importe quelle réponse ICMP indiquant que la cible est accessible. Un balayage par ping est un envoi massif de requêtes echo ICMP à différentes cibles permettant de voir qui répond. En réalité, il ne s’agit pas vraiment d’un balayage de ports, car le ping permet seulement de savoir si un ordinateur est effectivement présent derrière la combinaison d’adresse IP et de port que vous avez indiquée. Toutefois, il s’agit en général de la première tâche à effectuer avant un balayage en bonne et due forme. Généralement, les administrateurs désactivent la commande ping sur le pare-feu ou le routeur pour le trafic externe, mais la conservent pour le trafic interne. La désactivation de cette fonctionnalité est simple et rapide, et interdit l’utilisation de cette méthode pour explorer le réseau. Toutefois, le ping est un bon outil de dépannage et sa désactivation complique un peu la recherche des problèmes sur le réseau.

TCP Half Open

Une des techniques de balayage de ports les plus courantes et les plus prisées est le balayage de ports TCP Half-Open, parfois aussi appelée balayage SYN. Cette méthode rapide et rusée tente de trouver d’éventuels ports ouverts sur l’ordinateur cible. Les paquets SYN demandent une réponse à l’ordinateur, qui prend la forme d’un paquet ACK. Dans le cadre d’une transaction TCP classique, un paquet SYN est envoyé, le service renvoie un paquet ACK, puis un message de confirmation ACK est envoyé. Ce balayage est rapide et difficile à détecter, car il ne va jamais au bout du handshake TCP en 3 temps. Le scanner envoie un message SYN et note simplement les réponses SYN-ACK. Il n’établit jamais la communication en envoyant le paquet ACK final : la cible est laissée en suspens. Chaque réponse SYN-ACK correspond à un port potentiellement ouvert. Une réponse RST(reset) signifie que le port est fermé, mais qu’un ordinateur disposant de cette adresse est actif. L’absence de réponse signifie que les paquets SYN sont filtrés sur le réseau. L’absence de réponse ICMP (ping) est également considérée comme une réponse filtrée. Les balayages TCP Half-Open constituent le mode par défaut dans NMAP.

TCP Connect

Cette technique de balayage de ports est identique au balayage TCP Half-Open, mais au lieu de laisser la cible en suspens, le scanner de ports établit la connexion TCP. Cette méthode est moins utilisée que le balayage TCP Half-Open et ce, pour plusieurs raisons. Tout d’abord, vous devez envoyer plusieurs paquets par balayage, ce qui vous fait perdre en discrétion sur le réseau. Ensuite, vous allez jusqu’au bout de la connexion avec la cible, ce qui risque de déclencher une alerte que ne déclencherait pas un balayage Half-Open. Les systèmes cibles auront plus tendance à enregistrer une connexion TCP complète. De même, les systèmes de détection des intrusions ont plus de chances de générer une alerte lorsque plusieurs connexions TCP proviennent du même hôte. Cette méthode présente toutefois un avantage : un utilisateur n’a pas besoin du même niveau de privilèges que pour réaliser un balayage Half-Open Les balayages TCP Connect utilisent les protocoles de connexion dont doit disposer tout utilisateur qui a besoin de se connecter à d’autres systèmes.

UDP

Les balayages UDP sont plus lents que les balayages TCP, mais il existe de nombreux services UDP exploitables par les attaquants, notamment l’exfiltration DNS. Par conséquent, les ports UDP doivent être aussi bien protégés que leurs équivalents TCP. Les balayages UDP sont plus efficaces lorsqu’une charge utile spécifique est envoyée à la cible. Par exemple, pour savoir si un serveur DNS est actif, envoyez une demande DNS. Pour d’autres ports UDP, le paquet envoyé est vide. Une réponse de type « non atteignable » à un paquet ICMP signifie que le port est fermé ou filtré. Si un service est en cours d’exécution, vous pouvez recevoir une réponse UDP. Cela signifie que le port est ouvert. Une absence de réponse peut vouloir dire que le port est ouvert ou filtré. Une utilisation plus logique d’un balayage UDP consiste à envoyer une requête DNS au port UDP 53 pour voir si vous obtenez une réponse DNS. Dans l’affirmative, vous savez qu’un serveur DNS est présent sur cet ordinateur. Un balayage UDP peut être utile pour découvrir quels services sont actifs, et le scanner de ports Nmap est préconfiguré de manière à envoyer des requêtes à de nombreux services standard.

Différence entre TCP et UDP

TCP et UDP sont deux des protocoles les plus couramment utilisés sur les réseaux IP (Internet Protocol). TCP (Transmission Control Protocol) est un protocole de transaction bien ordonné : il envoie chaque paquet dans l’ordre en procédant à un contrôle d’erreur, à une vérification et à un handshake en 3 temps pour confirmer la réussite de chaque paquet. L’UDP n’intègre aucun contrôle d’erreur, mais est en général plus rapide : c’est la raison pour laquelle les jeux en ligne et la vidéo en streaming utilisent souvent ce protocole. UDP est un protocole sans connexion. Ainsi, les programmes qui utilisent UDP se contentent d’envoyer des données, et si vous manquez un paquet, vous ne le récupérerez jamais.

Balayage furtif

Certains ports sont plus faciles à détecter que les autres : il est donc important de connaître les flags TCP qui permettent aux attaquants de rendre difficile la détection de leurs balayages. Lorsque vous envoyez un balayage de ports avec un paquet et le flag FIN, vous envoyez le paquet sans attendre de réponse. Si vous recevez un paquet RST, vous pouvez supposer que le port est fermé. Si vous ne recevez rien en retour, cela signifie que le port est ouvert. Les pare-feux recherchant les paquets SYN, les paquets FIN ne sont pas détectés. Le balayage X-MAS envoie un paquet avec les flags FIN, URG et PUSH et attend un paquet RST ou aucune réponse, tout comme le balayage FIN. Ce balayage a peu d’applications pratiques, mais grâce à lui, le paquet ressemble à un arbre de Noël, alors c’est déjà ça. Vous pouvez aussi envoyer des paquets sans flag (un paquet NULL), et la réponse est soit un paquet RST, soit rien. L’avantage de ces balayages (pour le hacker), c’est qu’ils n’apparaissent généralement pas dans les journaux. Un logiciel de détection des intrusions (IDS) plus récent et, bien sûr, WireShark, pourront toutefois les intercepter. La mauvaise nouvelle, c’est que si l’ordinateur cible est équipé d’un système d’exploitation Microsoft, vous ne verrez que des ports fermés. En revanche, si vous trouvez un port ouvert, vous pouvez partir du principe qu’il ne s’agit pas d’une machine sous Windows. Le principal avantage de l’utilisation de ces flags est qu’ils peuvent franchir le pare-feu, ce qui rend les résultats plus fiables.

Autres techniques de balayage

Les balayages que nous avons évoqués sont les plus couramment utilisés, mais notre liste n’a rien d’exhaustif. En voici d’autres exemples, dont nous expliquons l’intérêt :

  • Balayage TCP ACK : pour cartographier les règles du pare-feu
  • Balayage TCP Window : permet de différencier les ports ouverts des ports fermés sur un nombre limité de systèmes
  • –scanflags : argument réservé aux utilisateurs avancés de Nmap qui souhaitent envoyer des flags TCP personnalisés lors d’un balayage

Outils de balayage de ports

  1. Nmap
  2. Solarwinds Port Scanner
  3. Netcat
  4. Advanced Port Scanner
  5. NetScanTools

Comment détecter un balayage de ports ?

quatre méthodes de détection des balayages de ports Les balayages de ports constituent potentiellement des recherches de vulnérabilités sur votre réseau, mais il existe plusieurs méthodes pour les détecter. La première est l’installation d’une application logicielle dédiée, comme PortSentry ou ScanlogdNetcat inclut quant à lui diverses fonctionnalités liées aux balayages de ports, ainsi que la possibilité de créer un serveur de chat simple ou de programmer divers paquets à des fins de test. Les systèmes de détection des intrusions permettent eux aussi de détecter les balayages de ports. Choisissez un système qui recourt à de nombreuses règles afin de pouvoir détecter les différents types de balayages. Ces règles ne doivent pas reposer uniquement sur des seuils.

Pourquoi effectuer un balayage de ports ?

Réalisez un balayage de ports de manière proactive afin de détecter et combler les vulnérabilités que les attaquants pourraient exploiter. Il s’agit d’une bonne habitude à prendre, qu’il convient de renouveler régulièrement. Passez en revue et auditez tous les ports ouverts pour vous assurer qu’ils sont utilisés correctement et que les applications qui ont besoin de ports ouverts sont sécurisées et protégées contre les vulnérabilités connues.

Implications de l’exécution d’un balayage de ports

Le balayage de ports peut poser certains problèmes. Il peut par exemple entraîner un dysfonctionnement de certains services ou ordinateurs. Ce souci concerne davantage les systèmes internes que ceux connectés à Internet, mais il existe néanmoins. L’exécution de balayages de ports sans autorisation peut être considérée comme une agression. Sur un réseau partagé, vous pouvez balayer les ports d’un système qui ne vous appartient pas, ce qui n’est pas correct. Les balayages de ports constituent une facette essentielle d’une stratégie efficace de défense contre les cyberattaques. Les attaquants ont toutefois eux aussi recours à cette technique. Vous devez les prendre de vitesse et éliminer un maximum de vecteurs d’attaque pour leur rendre la tâche aussi difficile que possible. La protection du périmètre ne suffit pas. Vous devez protéger et surveiller vos données avec la même vigilance que vos ports. La plateforme Varonis de sécurité des données vous aide à protéger vos données en créant des obstacles internes qui bloquent l’accès à vos données les plus sensibles et en surveillant toutes les activités pouvant concerner ces données. Découvrez notre atelier de cyberattaque en laboratoire pour découvrir en direct comment Varonis protège les données contre différents types d’attaques.

What you should do now

Below are three ways we can help you begin your journey to reducing data risk at your company:

  1. Schedule a demo session with us, where we can show you around, answer your questions, and help you see if Varonis is right for you.
  2. Download our free report and learn the risks associated with SaaS data exposure.
  3. Share this blog post with someone you know who'd enjoy reading it. Share it with them via email, LinkedIn, Reddit, or Facebook.
Testez Varonis gratuitement.
Un résumé détaillé des risques liés à la sécurité de vos données.
Stratégie claire vers une remédiation automatisée.
Déploiement rapide.
Keep reading
guide-de-l’acheteur-de-dspm
Guide de l’acheteur de DSPM
Comprenez les différents types de solutions DSPM, évitez les pièges les plus courants et posez les bonnes questions pour vous assurer que vous achetez une solution de sécurité des données qui répond à vos besoins spécifiques.
derrière-la-refonte-de-la-marque-varonis
Derrière la refonte de la marque Varonis
Découvrez la stratégie derrière la refonte de Varonis qui impliquait une transition complète vers un archétype de héros et l'introduction de Protector 22814.
tendances-en-matière-de-cybersécurité-pour 2024 :-ce-que-vous-devez-savoir
Tendances en matière de cybersécurité pour 2024 : ce que vous devez savoir
Apprenez-en davantage sur la gestion de la posture en matière de sécurité des données, les risques liés à la sécurité de l’IA, les changements en termes de conformité et bien plus encore pour préparer votre stratégie en matière de cybersécurité pour 2024.
trois façons-dont-varonis-vous-aide-à-lutter-contre-les-menaces-internes
Trois façons dont Varonis vous aide à lutter contre les menaces internes
Les entreprises ont du mal à lutter contre les menaces internes. Pour lutter contre elles, Varonis s’appuie sur la « triade de la sécurité des données » (sensibilité, accès et activité).