Les différents types de scannings de ports
Il existe différents types de scans pour déterminer les "portes ouvertes" sur un PC, chacun produisant une information différente, chacun ayant ses point forts et ses faiblesses. Voici les plus courants :
TCP SYN Scan
C'est la manière moderne typique de scanner un hôte à la
recherche de ports TCP ouverts : envoyer des packets TCP SYN vers les ports. Un
packet SYN est le premier packet envoyé lors d'une connexion TCP. Le but est de
déterminer si l'hôte répond sur ce port sans devoir initier une connexion
complète. Il fournit la même information sans se surcharger d'une connexion
complète et offre un meilleur degré de contrôle de la vitesse et du contenu du
scan. Il permet aussi de faire la différence entre les ports filtrés (stealth ou
blocked) et les ports fermés (closed).
TCP Connect Scan
C'est la façon traditionnelle de chercher les ports ouverts.
Cela implique d'utiliser le réseau natif APIpour un système afin d'établir une
connexion avec chacun des ports de l'hôte distant. Si la connexion réussi, le
port est considéré comme ouvert, si elle échoue, le port est considéré comme
fermé. Méthode plus lente et consommant plus de ressources qu'un SYN scan mais
fonctione dans diverses situations et est souvent utilisé comme alternative si
aucun autre de type de scan n'est disponible.
TCP FIN Scan
Ce type de scan utilise des packets spécialement conçus avec
un FIN flag plutôt qu'un SYN flag, ce type de packet est normalement produit
lors de la fermeture d'une connexion. Envoyer ce type de packet à un PC (auquel
vous n'avez pourtant pas envoyer un packet SYN correspondant) a pour résultat
une réponse de la machine par un packet RST si le port est fermé ou rien si le
port est ouvert. Malheureusement beaucoup d'applications TCP/IP ne respectent
pas le standard RFC, il se peut donc que ce type de scan ne donne pas des
résultats corrects concernant certains types d'hôtes, notamment sur certaines
machines Windows.
TCP XMAS Scan
Ce type de scan est similaire aux scan FIN et SYN mais plutôt
qu'un SYN ou FIN flag, il utilise une séquence de flags connue sous le nom de
"Christmas tree packet". C'est une combinaison de flags FIN, URG et PUSH dans un
packet pour essayer d'obtenir le même résultat qu'un scan FIN. Il peut permettre
de contourner certains mécanismes de détection et de firewalls qu'un scan FIN
ne peut pas. malheureusement il y a les mêmes problèmes que le scan FIN
classique et peut souvent donner des résultats incorrects.
TCP NULL Scan
A nouveau, ce type de scan est juste un changement dans les
flags de chaque packet envoyé vers l'hôte. Dans ce cas, tous les flags sont
abandonnés complètement. En fait, ce n'est pas un packet répondant aux normes
RFC, certains firewalls peuvent l'ignorer avant qu'il n'atteigne la machine
ciblée. Il est quelque peu inefficace et est souvent utilisé quand aucun autre
scan ne fournit d'information utile.
UDP Scan
Ce type de scan se concentre sur le protocole UDP.
Contrairement au protocole TCP, l'UDP ne requiert pas d'informations attachées
assurant la transmission sans erreur à la destination correcte. Cela en fait un
protocole plus léger mais peut causer des problèmes avec les scans du fait qu'il
ne nécessite pas de réponse à un packet particulier ayant été envoyé, comme pour
les scans SYN. Normalement il y a un message ICMP en réponse à un packet UDP
envoyé à un port fermé. A nouveau, des problèmes de respect RFC avec certaines
couches IP peuvent le perturber. Des recherches sont en cours actuellement pour
améliorer sa fiabilité.