Cet outil[1] analyse les trames réseau[2] afin de reconnaître le système d'une machine uniquement en l'écoutant (c'est du fingerprinting passif). Voilà ce que cela donne chez moi :

$ sudo p0f -i eth1 -U -t -p
Password:
p0f - passive os fingerprinting utility, version 2.0.5
(C) M. Zalewski <lcamtuf@dione.cc>, W. Stearns <wstearns@pobox.com>
p0f: listening (SYN) on 'eth1', 231 sigs (13 generic), rule: 'all'.
<Sat Aug 26 23:46:08 2006> 82.231.xxx.19:4991 - Windows 2000 SP4, XP SP1
 -> 82.231.xxx.xxx:445 (distance 3, link: ethernet/modem)
<Sat Aug 26 23:46:27 2006> 82.231.xxx.5:4085 - Windows XP Pro SP1, 2000 SP3
 -> 82.231.xxx.xxx:445 (distance 6, link: ethernet/modem)
<Sat Aug 26 23:46:30 2006> 82.231.xxx.5:4085 - Windows XP/2000 while downloading (leak!)
 -> 82.231.xxx.xxx:445 (distance 6, link: ethernet/modem)
<Sat Aug 26 23:46:54 2006> 82.231.xxx.212:48803 - Windows 2000 SP2+, XP SP1 (seldom 98 4.10.2222)
 -> 82.231.xxx.xxx:445 (distance 6, link: ethernet/modem)
etc.

Désolé, mais je ne pourrai pas montrer de paquet venant d'autre chose que Windows, en 2 heures d'analyse, seuls des Windows sont apparus - à la cadence habituelle de 1 toutes les 10 secondes... De là à en conclure que seul Windows héberge des logiciels malveillants, il n'y a qu'un pas que je vous laisse franchir seul ! Néanmoins je sens que je vais construire un petit script pour faire des statistiques plus solides, ce serait bien intéressant...

Après on peut essayer de savoir quels serveurs sont hébergés sur ces machines. Facile, nmap sert à cela :

$ nmap 82.231.xxx.145

Starting Nmap 4.03 ( http://www.insecure.org/nmap/ ) at 2006-08-26 22:39 CEST
Interesting ports on 82.231.xxx.145:
(The 1671 ports scanned but not shown below are in state: closed)
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
5000/tcp open  UPnP

$ nmap -P0 82.230.xxx.12

Starting Nmap 4.03 ( http://www.insecure.org/nmap/ ) at 2006-08-26 22:44 CEST
Interesting ports on 82.230.xxx.12:
(The 1669 ports scanned but not shown below are in state: closed)
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
5000/tcp open  UPnP

$ nmap -P0 82.231.xxx.37

Starting Nmap 4.03 ( http://www.insecure.org/nmap/ ) at 2006-08-26 22:51 CEST
All 1674 scanned ports on 82.231.xxx.37 are: filtered

Nmap finished: 1 IP address (1 host up) scanned in 133.496 seconds

Ici plusieurs enseignements :

  • il y a des ports ouverts qui ne devraient pas l'être, notamment
    • msrpc : RPC = remote procedure call, lancement des tâches à distance
    • microsoft-ds : DS = data share, les répertoires partagés
    • UPnP : universal plug-and-play, connu pour ouvrir la porte aux virus depuis 2005
  • même avec un pare-feu on peut attraper des logiciels malveillants
    • All 1674 scanned ports on 82.231.xxx.37 are: filtered signifie qu'il y a un parefeu qui bloque mes tentatives de découverte des ports ouverts

Donc chers Windoziens, méfiez-vous 100 fois plus que les autres et n'oubliez pas de vous informer sur la sécurité informatique...

Notes

[1] inutile de dire que c'est un paquet Debian

[2] données brutes arrivant à la carte réseau