06 13 32 04 91

Sécurité TCP IP 5

PRECEDENT     SUITE…
  1. Sniffing

Dans le principe, rien de bien compliqué. C’est le fait d’espionner les paquets transitant par un réseau.

Un sniffer est un programme qui vérifie tout ce qui passe sur le réseau. On peut intercepter toutes les trames Ethernet qui transitent sur le réseau (même celles qui ne nous sont pas adressé).

Un sniffer, ça sert a quoi?

Cela peut servir a détecter des problèmes et à maintenir le réseau ou à tester des programmes. Mais sa principale utilité est d’intercepter des ports (sniffer les ports 21(FTP), 23(Telnet), 110(POP3)..)

ou des infos(sniffer le port 25(SMTP)..)

En temps normal, lorsque l’on crée une socket et qu’on lit dessus, on ne reçoit que les paquets qui nous sont adressé grâce à notre adresse IP.

Pour dire à la carte réseau de traiter tous les paquets qu’elle reçoit, il faut la mettre dans un mode

spécial, le mode “promiscuous”.

  1. Tunneling

Le tunneling est un terme générique utilisé très largement dans le monde des réseaux, qui n’est pas forcément caractéristique au protocole IP. Globalement, la technique de tunneling consiste en l’encapsulation de données d’un protocole dans un autre protocole.

Le protocole encapsulant, ou porteur, permet au protocole masqué de traverser de façon transparente un réseau sur lequel il n’est pas forcément autorisé. Cela peut être une façon de masquer le contenu afin d’interconnecter des réseaux privés par le biais d’un réseau public. Il s’agit dans ce cas de VPN (Virtual Private Network – RPV en français (Réseau Privé Virtuel)).
Il existe de nombreux protocoles spécialisés dans le tunneling, bien qu’il soit également possible de faire simplement de l’IP dans l’IP.

Les protocoles les plus utilisés pour le tunneling sont :

  • IPSec : IPv4 en mode sécurisé. IPSec est le protocole du VPN par excellence. Il fonctionne en deux modes, transport et tunnel.

  • MPLS : on peut considérer MPLS comme une façon de tunneler des paquets IP. Le LSP (Label Switched Path) établi par LDP (Label Distribution Protocol) est en définitive un tunnel possédant un point d’entrée et un point de sortie prédéfinis.

  • GRE (Generic Routing Encapsulation) : permet d’encapsuler toutes sortes de données (transportées par un protocole quelconque) afin de les acheminer de façon transparente au travers d’un réseau IP. La conception de GRE permet de construire des offres très élaborées, mais consomme de la ressource CPU au niveau des routeurs. Un tunneling malveillant utilisant GRE sera donc détectable par simple observation des ressources CPU utilisées.

  • L2TP (Layer-2 Tunneling Protocol) : protocole défini à l’IETF, qui permet de tunneler des sessions PPP (Point-to-Point Protocol) dans un réseau IP. Il est cependant envisagé de faire transporter à L2TP d’autres protocoles que PPP, mais toujours des protocoles de niveau 2 (Liaison).

Il existe encore d’autres protocoles de tunneling : le L2F (Layer 2 Forwarding) protocole propriétaire de Cisco, ou encore PPTP (Point-to-Point Tunneling Protocol) propriétaire Microsoft qui ont donné naissance à L2TP du fait de leur fusion.


De façon générale, la problématique du protocole de tunneling est simple : définir la signalisation nécessaire entre deux points du réseau afin de transporter dans le réseau porteur les données d’un protocole pouvant être de nature différente.

Pour plus d’informations, voir le site : http://www.securiteinfo.com/crypto/tunnel.shtml.

  1. Spoofing

    1. Principe

Le spoofing est le fait d’usurper un élément contenu dans les paquets transmis.

  • L’IP spoofing consiste à usurper l’adresse source au niveau des paquets réseaux (modification au niveau de l’adresse source).

            • Le MAC spoofing consiste à falsifier l’adresse MAC de la carte réseau.

  • L’ARP spoofing permet d’obtenir une connexion TCP active (blind spoofing). Il repose sur la couche 2 du modèle OSI (liaison). Sa faiblesse est qu’il ne peut s’appliquer qu’à des réseaux locaux du fait même du protocole ARP, mais c’est un type de spoofing très simple à mettre en œuvre.

Pour pouvoir réaliser un spoof ARP il faut avoir un accès root. La manipulation est très simple.

Il faut tout d’abord déterminer quelles machines ont une relation de confiance; par exemple

une machine peut exporter son home directory à une autre machine (showmount -e IP de la machine), ou autoriser les connexion au moyen des R- commandes(rusers -al).

Une fois les machines trouvées, on sait pour qui on doit se faire passer.

Exemple: On est sur la machine C et on a découvert que B fait confiance à A, il faut donc se

faire passer pour A. La procedure se déroule en 4 étapes :

  1. Mettre en vrac la machine de confiance(A): Il faut lancer une attaque par refus de service, du type flood, syn_flood.

  2. Configurer son PC: ifconfig eth0 adresse IP de la machine à spoofer(A)

  3. Désactiver ARP: ifconfig -arp

  4. Envoyer une fausse réponse ARP à la machine à spoofer(B): A partir de ce moment, B sera convaincu qu’il communique avec A.

Seul petit souci : les caches ARP s’effacent assez rapidement, à peu près toutes les 30 secondes. Il faudra donc envoyer une réponse ARP toutes les 25 secondes.

    1. Outils logiciels

Winject, téléchargeable sur http://big.badlink.net

NetCat, téléchargeable sur http://www.atstake.com/research/tools

    1. Prévention

Comment se protéger du spoofing ARP ?

Il existe une méthode très simple pour pouvoir se prémunir du spoofing ARP, il suffit

d’enregistrer de manière statique les adresse MAC des cartes réseaux.

Une autre méthode pour se prémunir, essentiellement si l’on se trouve dans un réseau hétérogène est d’utiliser le programme ARPWATCH. Cette utilitaire nous informe par e-mail dès qu’une adresse IP change d’adresse MAC.

On peut télécharger ARPWATCH à http://ftp.su.se/pub/security/tools/audit/arpwatch/arpwatch-1.7.tar.gz

PRECEDENT     SUITE…