Commençons par voir ce qu'il se passe sur une machine "propre", c'est-à-dire non infectée par des chevaux de Troie, ou toute application destinée à en prendre le contrôle à distance.
L'expérience est tentée sur deux postes Windows 98, l'un avec le partage de fichiers activé et l'autre non. Nous faisons un scan de ports TCP et UDP avec nmap depuis un poste Linux situé sur le réseau:
Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ ) Interesting ports on michele.maison.mrs (192.168.0.2): (The 1522 ports scanned but not shown below are in state: closed) Port State Service 139/tcp open netbios-ssn
TCP Sequence Prediction: Class=trivial time dependency Difficulty=2 (Trivial joke) Remote operating system guess: Windows NT4 / Win95 / Win98
Nmap run completed -- 1 IP address (1 host up) scanned in 1 second
Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ ) Warning: No TCP ports found open on this machine, OS detection will be MUCH less reliable Interesting ports on michele.maison.mrs (192.168.0.2): (The 1446 ports scanned but not shown below are in state: closed) Port State Service 137/udp open netbios-ns 138/udp open netbios-dgm
Too many fingerprints match this host for me to give an accurate OS guess Nmap run completed -- 1 IP address (1 host up) scanned in 8 seconds
Ce qu'il est intéressant de constater au premier abord, c'est que les mêmes ports sont ouverts, que l'on ait activé le partage des fichiers ou non. La seule chose qui diffère, c'est que le poste sur lequel le partage n'a pas été activé n'est pas visible dans le voisinage réseau.
Les seuls ports ouverts sont ceux utilisés par NetBIOS.
Prenons un autre exemple un peu plus compliqué, mon poste de travail sous Windows 2000. (Je vous rappelle qu'il n'est pas directement connecté à l'Internet, j'ai une passerelle Linux entre les deux :-)
Ce poste est considéré comme une station de travail et en aucun cas comme un serveur. Il ne doit donc théoriquement pas y avoir de ports à l'écoute sur l'Internet.
Sur ce poste, j'utilise Frontpage 2000, j'ai donc un serveur web personnel (proposé par Windows 2000). Voici ce que donne un scan de ports TCP avec Nmap depuis ma passerelle Linux:
Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ ) Interesting ports on chris.maison.mrs (192.168.0.10): (The 1517 ports scanned but not shown below are in state: closed) Port State Service 80/tcp open http 135/tcp open loc-srv 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds TCP Sequence Prediction: Class=random positive increments Difficulty=14803 (Worthy challenge) Remote operating system guess: Windows 2000 RC1 through final release
Nmap run completed -- 1 IP address (1 host up) scanned in 1 second
Comme vous le constatez, il y a 5 ports ouverts en écoute sur cette machine. Parmi ceux-ci, il y en a un bon nombre qui présentent des dangers.
C'est normal, PWS est actif (Personal Web Server). Ce serveur HTTP est utile pour la composition de sites avec Frontpage, pour la mise à disposition de documents sur le réseau privé, en revanche, il pourrait être dangereux de le laisser visible sur l'Internet...
Celui-ci doit présenter quelques dangers...
C'est le serveur RPC (Remote Procedure Call), c'est-à-dire le mécanisme qui permet à distance de déclencher l'exécution de procédures sur ma machine (par un administrateur uniquement). Il est clair que ce port ne doit pas être accessible depuis l'Internet.
Ah, celui là est bien connu! C'est un des mécanismes de service de noms NetBIOS (le voisinage réseau). Absolument rien à faire sur l'Internet...
HTTP "sécurisé" (HTTPS). Ouvert également par PWS.
Celui-ci, c'est une originalité de Windows 2000. Pour le service de noms, Microsoft a toujours utilisé son système WINS, basé sur NetBIOS. Depuis Windows 2000, il existe également un service de noms basé sur un DNS dynamique, qui n'utilise pas NetBIOS. Ce port est ouvert pour ce nouveau service et ne devrait se rencontrer que sur les machines Windows 2000 et suivants
Passons maintenant à un scan de ports UDP:
Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ ) Warning: No TCP ports found open on this machine, OS detection will be MUCH less reliable Interesting ports on chris.maison.mrs (192.168.0.10): (The 1442 ports scanned but not shown below are in state: closed) Port State Service 135/udp open loc-srv 137/udp open netbios-ns 138/udp open netbios-dgm 445/udp open microsoft-ds 500/udp open isakmp 3456/udp open vat
Too many fingerprints match this host for me to give an accurate OS guess Nmap run completed -- 1 IP address (1 host up) scanned in 9 seconds
Nous avons déjà vu le port 135. Les ports 137 et 138 sont des services NetBIOS toujours pour la résolution des noms et les ouvertures de sessions. Nous avons également déjà rencontré le port 445, spécifique à Windows 2000.
Le port 500 est utilisé par HTTPS, pour la négociation de clés de cryptage. Encore un port ouvert par PWS.
Il est clair qu'il y a toujours quelques ports ouverts sur un hôte. Si les ports UDP ne présentent pas trop de dangers encore que...), les ports TCP sont plus inquiétants.
Par ailleurs, certaines machines de marque comme Compaq ou Hewlett Packard installent des dispositifs d'administration distante qui ouvrent également des ports à l'écoute et l'utilisateur ne le sait pas forcément.
Il importe donc de savoir avec le plus de précision possible qu'est ce qui est installé sur sa machine, volontairement ou involontairement.