Qu'est-ce qu'un scan de port ?
Un scanner de port est une application conçue pour sonder un hôte ou un serveur afin d'identifier les ports ouverts. Des acteurs malveillants peuvent utiliser des scanners de ports pour exploiter des vulnérabilités en trouvant des services réseau fonctionnant sur un hôte. Ils peuvent également être utilisés par les analystes de la sécurité pour confirmer les politiques de sécurité du réseau.
Comment fonctionne le balayage des ports
L'exécution d'un balayage de ports sur un réseau ou un serveur révèle les ports ouverts et en écoute (recevant des informations) ainsi que la présence de dispositifs de sécurité, tels que les firewalls, qui sont présents entre l'expéditeur et la cible. Cette technique est connue sous le nom d'empreinte digitale.
Il est également précieux pour tester la sécurité du réseau et la solidité du pare-feu du système. En raison de cette fonctionnalité, il s'agit également d'un outil de reconnaissance populaire pour les attaquants à la recherche d'un point d'accès faible pour pénétrer dans un ordinateur.
Les services offerts par les ports varient. Ils sont numérotés de 0 à 65535, mais certaines plages sont plus fréquemment utilisées. Les ports 0 à 1023 sont identifiés comme les "ports bien connus" ou ports standard et des services leur ont été attribués par l'IANA (Internet Assigned Numbers Authority). Parmi les ports les plus importants et les services qui leur sont attribués, on peut citer
- Port 20 (UDP) - File Transfer Protocol (FTP) pour le transfert de fichiers
- Port 22 (TCP) - Protocole Secure Shell (SSH) pour les connexions sécurisées, le FTP et le transfert de port
- Port 23 (TCP) - Protocole Telnet pour les communications textuelles non cryptées
- Port 53 (UDP) - Le système de noms de domaine (DNS) traduit les noms de tous les ordinateurs sur Internet en adresses IP.
- Port 80 (TCP) - World Wide Web HTTP
Il existe également des services standard offerts sur les ports postérieurs à 1023 et des ports qui, s'ils sont ouverts, indiquent un système infecté en raison de leur popularité auprès de certains chevaux de Troie et virus de grande envergure.
Types de balayages portuaires
Un balayage de port envoie un paquet soigneusement préparé à chaque numéro de port de destination. Les techniques de base que les logiciels de balayage de ports sont capables de mettre en œuvre sont les suivantes :
- Vanilla - le balayage le plus basique ; une tentative de connexion aux 65 536 ports, un par un. Un scan vanille est un scan à connexion complète, c'est-à-dire qu'il envoie un drapeau SYN (demande de connexion) et, après avoir reçu une réponse SYN-ACK (accusé de réception de la connexion), il renvoie un drapeau ACK. Cet échange SYN, SYN-ACK, ACK constitue une poignée de main TCP. Les analyses de connexions complètes sont précises mais très facilement détectées car les connexions complètes sont toujours enregistrées par les pare-feux.
- SYN Scan - également appelé scan semi-ouvert, il n'envoie qu'un SYN et attend une réponse SYN-ACK de la part de la cible. Si une réponse est reçue, le scanner ne répond jamais. La connexion TCP n'étant pas terminée, le système n'enregistre pas l'interaction, mais l'expéditeur sait si le port est ouvert ou non.
- Scans de Noël et de FIN - un exemple de suite de scans utilisés pour recueillir des informations sans être enregistrés par le système cible. Lors d'un balayage FIN, un drapeau FIN non sollicité (utilisé normalement pour mettre fin à une session établie) est envoyé à un port. La réponse du système à ce drapeau aléatoire peut révéler l'état du port ou des informations sur le pare-feu. Par exemple, un port fermé qui reçoit un paquet FIN non sollicité répondra par un paquet RST (abandon instantané), mais un port ouvert l'ignorera. Un balayage de Noël envoie simplement un ensemble de tous les drapeaux, ce qui crée une interaction absurde. La réponse du système peut être interprétée pour mieux comprendre les ports et le pare-feu du système.
- FTP Bounce Scan - permet de dissimuler l'emplacement de l'expéditeur en faisant rebondir le paquet sur un serveur FTP. Cela permet également à l'expéditeur de ne pas être détecté.
- Sweep scan - envoie des pings sur le même port à travers un certain nombre d'ordinateurs afin d'identifier les ordinateurs actifs sur le réseau. Cela ne révèle pas d'informations sur l'état du port, mais indique à l'expéditeur quels sont les systèmes actifs sur un réseau. Il peut donc être utilisé comme un examen préliminaire.
Résultats du balayage des ports
Un scanner de port envoie un paquet réseau UDP ou TCP qui interroge le port sur son état. Les résultats révèlent l'état du réseau ou du serveur, qui peut être l'un des suivants : ouvert, fermé et filtré.
1. Ouvert - Accepté
Un port ouvert indique ce qui suit :
- Le réseau/service cible accepte les datagrammes/connexions.
- Le réseau/service cible a répondu par un paquet TCP SYN pour indiquer qu'il est à l'écoute.
- Le service utilisé pour le balayage du port est en cours d'utilisation (généralement UDP ou TCP).
Pour les acteurs malveillants, la mission consiste à localiser les ports ouverts. Cela représente un défi pour le personnel de sécurité qui doit bloquer les ports ouverts à l'aide de pare-feu (tout en évitant de couper l'accès aux utilisateurs autorisés).
2. Fermé - N'écoute pas
Un port fermé indique ce qui suit :
- Le réseau/serveur cible a reçu la demande, mais aucun service n'est à l'écoute
Bien que le port soit fermé, il est toujours accessible et donc utile pour confirmer qu'un hôte est présent sur une adresse IP. Le personnel de sécurité doit constamment surveiller les ports fermés et envisager de les barricader à l'aide de pare-feu (en en faisant des ports filtrés).
3. Filtrée - Abandonnée/Bloquée
Un port filtré indique ce qui suit :
- Un paquet de demande a été envoyé. L'hôte n'écoute pas et ne répond pas.
- Le paquet de requêtes a probablement été bloqué par un pare-feu ou un système de prévention des intrusions.
Tant que les paquets n'atteignent pas la cible, les acteurs malveillants n'ont aucun moyen de découvrir d'autres informations. En règle générale, les paquets envoyés aux ports filtrés ne reçoivent pas de réponse, mais lorsqu'ils en reçoivent une, le message d'erreur est généralement "communication interdite" ou "destination inaccessible".
Comment les mauvais acteurs utilisent le balayage de ports comme méthode d'attaque
Selon le SANS Institute, le balayage des ports est l'une des tactiques les plus populaires utilisées par les acteurs malveillants lorsqu'ils sont à la recherche d'un serveur vulnérable. Lorsque l'on cible des réseaux, l'analyse des ports est généralement la première étape. L'analyse des ports fournit des informations utiles sur l'environnement du réseau, telles que
- les défenses existantes, telles que les pare-feux
- Détails sur le système ciblé
- Machines en ligne
- Applications en cours d'exécution
- Qui pourrait avoir un réseau ou un serveur vulnérable ?
Ce type d'informations est très précieux pour les acteurs malveillants qui recherchent des failles dans les logiciels. Le fait de pouvoir identifier qu'une organisation utilise un DNS ou un serveur web spécifique facilite grandement la recherche de ces vulnérabilités. Il existe plusieurs techniques de protocole TCP qui permettent aux acteurs malveillants d'utiliser un trafic de leurre pour les balayages de ports, en dissimulant entièrement leur adresse réseau et leur emplacement.
Les analyses développées pour que l'expéditeur ne soit pas détecté par le journal du système récepteur sont connues sous le nom d'analyses furtives et présentent un intérêt particulier pour les attaquants. Malgré sa popularité dans ce domaine, le balayage des ports est un outil précieux pour établir l'empreinte digitale d'un réseau et pour permettre à un testeur de pénétration d'évaluer la solidité de la sécurité du réseau.
FAQ sur le balayage des ports
Il existe plusieurs méthodes pour effectuer des balayages de ports :
- SYN Scan (Scan semi-ouvert) : Il s'agit d'envoyer un paquet SYN et d'attendre une réponse SYN-ACK sans achever la poignée de main TCP, ce qui le rend plus difficile à détecter.
- FIN Scan : La technique envoie un paquet FIN aux ports fermés, ce qui déclenche une réponse de réinitialisation (RST). Il est couramment utilisé pour contourner la détection des pare-feux.
- Scan XMAS : Transmet un paquet avec tous les drapeaux activés, ressemblant à un arbre de Noël "illuminé", et permet d'identifier la présence du pare-feu et l'état des ports.
- UDP Scan : Détermine les ports UDP ouverts en envoyant des paquets UDP et en attendant une réponse, car ce protocole ne nécessite pas de poignée de main.
Le balayage des ports sert souvent de prélude à divers types de cyberattaques. Par exemple, il peut être utilisé pour :
- Détecter les ports ouverts susceptibles d'être exploités pour une entrée non autorisée.
- Servir d'étape initiale pour lancer des attaques plus spécifiques, telles que des Attaques de déni de service (DoS) ou des atteintes à la protection des données.
- Fournir aux attaquants des informations critiques nécessaires pour injecter des logiciels malveillants ou exécuter des codes malveillants en exposant les vulnérabilités du réseau.