Nmap, à la recherche des squatters de Wifi !

Il y a mille et une raison de faire la chasse aux voisins qui se tapent l’incruste sur votre Wifi. La sécurité de vos devices connectés, les problèmes de téléchargement… Mais avec la découverte récente d’une faille dans le WPA, vous avez une très bonne raison de vérifier ce qui se passe chez vous… On n’est jamais trop prudent n’est-ce pas ? C’est donc une bonne occasion de réviser les commandes pour ceux qui connaissent déjà, et une super occasion de le découvrir pour les autres.

Nmap, pour ceux qui ne connaissent pas, est un scanner de port:

Il est conçu pour détecter les ports ouverts, identifier les services hébergés et obtenir des informations sur le système d’exploitation d’un ordinateur distant. Ce logiciel est devenu une référence pour les administrateurs réseaux car l’audit des résultats de Nmap fournit des indications sur la sécurité d’un réseau. Il est disponible sous Windows, Mac OS X, Linux, BSD et Solaris.

Wikipedia

Il permet donc de faire un tas de truc (pour un aperçu global, RTFM! sinon, je vous laisse une petite cheat sheet à la fin du post). Dans notre cas, nous allons utiliser Nmap pour scanner toutes les adresses IP de notre réseau local et voir quelles sont les machines qui y sont connectées.

Nmap dispose d’une interface graphique, mais honnêtement, elle embrouille plus qu’autre chose… On va donc installer tout ça en ligne de commande. Pour ceux qui sont sous mac, il faudra passer par Macports. Pour ceux sous linux, sortez votre terminal, on y va !

sudo apt-get install nmap

Une fois l’installation terminée, si vous ne connaissez pas votre IP, faites un petit ifconfig :

ifconfig
eth0      Link encap:Ethernet  HWaddr 00:19:db:f8:b2:29  
          inet adr:192.168.0.12  Bcast:192.168.0.255  Masque:255.255.255.0
          adr inet6: fe80::217:dbff:fef4:b221/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:83608 erreurs:0 :0 overruns:0 frame:0
          TX packets:23819 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:18363857 (18.3 MB) Octets transmis:6721613 (6.7 MB)
          Interruption:25 

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          Packets reçus:304 erreurs:0 :0 overruns:0 frame:0
          TX packets:304 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:25004 (25.0 KB) Octets transmis:25004 (25.0 KB)

Mon IP est une IP privée et mon réseau est 192.168.0.0/24 (si tout ça ne vous parles pas trop, je vous invite à lire un tutoriel sur les masques de sous-réseau). Il est grand temps de lancer notre premier scan !

sudo nmap 192.168.0.* -O

Starting Nmap 5.51 ( http://nmap.org ) at 2012-01-08 00:21 CET
Nmap scan report for 192.168.0.12
Host is up (0.016s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 
1 closed port
Device type: phone
Running: Linux 2.6.X
OS details: Linux 2.6.24 (Palm Pre mobile phone)

Nmap scan report for 192.168.0.13
Host is up (0.000050s latency).
All 1000 scanned ports on 192.168.0.13 are closed (969) or filtered (31)
Device type: media device|phone|general purpose
Running: Apple iPhone OS 1.X|2.X|3.X, Apple Mac OS X 10.4.X|10.5.X|10.6.X
Too many fingerprints match this host to give specific OS details
Network Distance: 0 hops

Nmap scan report for 192.168.0.103
Host is up (0.0041s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
80/tcp open  http
Device type: specialized
Running: Wind River pSOSystem
OS details: Wind River pSOSystem
Network Distance: 0 hops

Nmap scan report for 192.168.0.254
Host is up (0.0045s latency).
Not shown: 996 filtered ports
PORT     STATE SERVICE
80/tcp   open  http
554/tcp  open  rtsp
5678/tcp open  rrac
9100/tcp open  jetdirect
MAC Address: 00:24:D4:BE:8F:DA (Freebox SA)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 
1 closed port
Device type: broadband router|general purpose
Running: Linux 2.6.X
OS details: DD-WRT v24 SP2 (Linux 2.6.24), Linux 2.6.13 - 2.6.31, Linux 2.6.18
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 256 IP addresses (4 hosts up) scanned in 333.04 seconds

Quelques explications d’abord :

  • Nmap doit être lancé en root pour beaucoup d’options, c’est donc un bon réflexe de le faire tout le temps
  • Vous noterez qu’on peut lui donner les intervalles à scanner de deux façons : 192.68.0.* ou 192.168.0.0/24
  • J’ai utilisé l’option -O, elle correspond à la détection de l’OS. Ce n’est pas toujours très fiable, mais ça ne coûte rien, et ça peut toujours donner un indice

Dernière ligne, quand Nmap a fini son scan, il nous donne le nombre d’hôtes détectés sur le total des IP scannées (ici 4 hôtes sur 256 IP). Alors ne vous affolez pas si vous voyez plus d’hôtes qu’il ne devrait. En plus de vos ordinateurs, smartphones et tous les bidules que vous avez peut-être oublié de prendre en compte, votre router est un hôte du réseau (dans mon cas la freebox).

Histoire d’être certain de n’oublier personne, on va compléter ce premier scan par un scan UDP, ça peut aider à dénicher les planqués :


sudo nmap 192.168.0.0/24 -sU
Password:

Starting Nmap 5.51 ( http://nmap.org ) at 2012-01-08 00:55 CET
Nmap scan report for buzeo.net (192.168.0.12)
Host is up (0.038s latency).
All 1000 scanned ports on buzeo.net (192.168.0.12) are open|filtered

Nmap scan report for 192.168.0.13
Host is up (0.000019s latency).
Not shown: 500 open|filtered ports, 499 closed ports
PORT    STATE SERVICE
123/udp open  ntp

Nmap scan report for 192.168.0.103
Host is up (0.0097s latency).
All 1000 scanned ports on 192.168.0.103 are closed

Nmap scan report for 192.168.0.254
Host is up (0.0072s latency).
Not shown: 992 open|filtered ports
PORT      STATE  SERVICE
68/udp    closed dhcpc
32769/udp closed filenet-rpc
32770/udp closed sometimes-rpc4
32772/udp closed sometimes-rpc8
32775/udp closed sometimes-rpc14
32776/udp closed sometimes-rpc16
32778/udp closed sometimes-rpc20
32780/udp closed sometimes-rpc24
MAC Address: 00:24:D4:BE:8F:DA (Freebox SA)

Dans la plupart des cas, vous retrouverez les mêmes copains, mais on ne sait jamais, ça peut toujours s’avérer judicieux de tenter une autre technique de scan.

Maintenant que vous avez trouvez l’intru (ou pas), il ne reste plus qu’à procéder par élimination avant de sortir, la batte de baseball… quoique le club de golf, je trouve que ça a vachement plus de classe :mrgreen: ! Notez qu’il existe aussi un outil dédié à la détection et la géolocalisation des intrus sur le réseau Wifi, ça s’appelle moocherhunter. Le soft se base cette fois non pas sur les pings ou les requêtes TCP/UDP, comme Nmap, mais sur le trafic des clients wifi, et c’est un live CD.

Pour en revenir à Nmap, vous aurez compris que cet outil est très polyvalent. Son but n’est pas de déterminer qui est présent ou pas sur le réseau, mais, comme son nom l’indique, de trouver les ports ouverts sur une machine. Ce petit exercice vous aura néanmoins permi de découvrir l’outil. Je vous laisse maintenant faire vos petites expériences et vous émerveiller de la puissance de la chose. Comme promis, ma sublime cheat sheet, plus utile qu’esthétique, c’est certain, hum…

mémo commandes nmap Télécharger en PDF.

Bon, alors, vous êtes arrivé à le choper ce salaud qui télécharge sur votre dos ?!

Déjà 2 réponses, rejoignez la discussion !

  • anth0

    dit :

    Salut !

    Merci pour ton blog que j’ai découvert récemment (via autourduweb)
    Pour répondre à ta question, oui j’ai trouvé des gens qui ne devraient pas être sur mon réseau, mais habitant dans un immeuble en centre ville, c’est une autre paire de manche pour trouver le pilleur ! Il pourrait être sur le même palier, comme à l’étage du dessus ou même l’immeuble juste en face… Ce qui finit par être une véritable enquête policière !!

    Donc un petit tuto pour moocherhunter c’est prévu ? :-P

    • buzut

      dit :

      hello !
      Désolé, j’ai mis du temps à répondre (et je n’ai aucune excuse :P !)
      Pour le tuto sur moocherhunter, c’est prévu pour un de ces 4, le problème c’est que pour que ça marche au mieux, il faut une antenne directionnelle, donc il faut déjà que je m’en procure une ou que j’en fabrique une (pourquoi pas un tuto là dessus aussi !?)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *