Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



[Trames et paquets de données avec Scapy – Partie 1] Présentation

Par Rédaction, secuobs.com
Le 01/10/2007


Résumé : Scapy est un utilitaire permettant de forger, de recevoir et d'envoyer des paquets ou des trames de données sur un réseau pour une multitude de protocoles. On retrouve pour cette introduction la présentation de cet utilitaire en Python qui permet entre autres de réaliser de la capture de trafic ainsi que du mapping réseau, de l'arp cache poisoning, du VLAN Hopping ou de la reconnaissance passive de système d'exploitation.



L'utilitaire Scapy ( lien ) est un programme développé en Python ( lien ), par Philippe Biondi (EADS CCR - lien ) ; il permet notamment de forger, de recevoir et d'emettre via un réseau des paquets et/ou des trames de données vers ou depuis une infrastructure informatique et cela pour une multitude de protocoles réseaux différents (IP, TCP, UDP, ARP, SNMP, ICMP, DNS, DHCP, ...) avec précision et rapidité.

Scapy se présente donc sous la forme d'un fichier unique de type script Python soit 13 342 lignes de code pour la version 1.1.1 que l'on va utiliser par la suite dans ce document ; parmi les autres fonctionnalités marquantes de Scapy on notera ses capacités à la dissection de paquets et/ou de trames de données ainsi que le décodage de certains protocoles.

En outre on peut aussi effectuer grâce à Scapy de la surveillance et de la capture de trafic réseau au même titre que de la lecture de captures au format pcap provenant d'un autre analyseur de trafic comme Wireshark ( lien ) par exemple.

Il est par ailleurs possible avec Scapy d'effectuer de la génération de graphiques en 2D et/ou en 3D à partir de paquets et/ou de trames de données ou bien encore du scan de ports à la NMAP like ( ( lien ) et de la reconnaissance passive de systèmes d'exploitation à distance à la PoF like ( lien ).

Selon son auteur, Scapy est capable à lui tout seul de remplacer l'ensemble des utilitaires suivants : - hping ( lien ), 85 % de NMAP, arpspoof ( lien ), arp-sk ( lien ), arping ( lien ), tcpdump ( lien ), tethereal ( lien ), p0f et encore bien d'autres commandes système (traceroute, ping, route, ...).

Pour l'équivalent d'une soixantaine de lignes de code en langage C, le couple composé de Python ( tutoriel Python - lien ) et Scapy ne nécessite que quelques lignes la plupart du temps afin de réaliser ces différentes opérations de manipulation de paquets et/ou de trames de données d'où un gain de temps considérable pour toutes personnes devant effectuer des manipulations de ce type sur un réseau.

Pour cela Scapy dispose de nombreuses fonctions pré-définies permettant de configurer l'injection d'un paquet (ou d'une trame) dans une connexion réseau donnée ; certaines fonctions spéciales de scapy permettent ainsi de réaliser avec une grande simplicité des attaques usuelles (liste non exhaustive) : - mapping d'infrasctures réseaux, ARP Cache Poisoning, Smurfing, VLAN Hopping ainsi que du spoofing IP et de la mise en place de rogue server DHCP.

Ces attaques peuvent être combinées les unes aux autres (ARP Cache Poisoning + VLAN Hopping par exemple) afin de réaliser des audits de sécurité spécifiquement adaptés à l'infrastructure en place dont on souhaite vérifier le niveau de sécurité.

On peut tout aussi bien si on le souhaite intercepter des communications de type VOIP (décodage des paquets/trames) et cela même sur une connexion sans-fil de type WIFI chiffrée à l'aide du protocole WEP et cela à partir du moment où on connait la clé de déchiffrement qui est associée à ces connexions ( sachant bien sur que le WEP est still secure - lien ).

Cette clé de chiffrement, on peut la configurer dans Scapy, toujours à partir du moment où on est en sa possession, afin que Scapy puisse s'en servir lors des opérations d'injection de paquets ou de trames de données dans le trafic d'un réseau sans-fil chiffré par le protocole WEP (cf. également l'utilitaire WIFITAP développé par Cédric Blancher [EADS CCR] pour l'injection de trafic dans des connexions WIFI - lien ).


Autres ressources dans ce dossier :

[Trames et paquets de données avec Scapy – Partie 2] Installation et configuration – lien

[Trames et paquets de données avec Scapy – Partie 3] Utilisation basique – lien

[Trames et paquets de données avec Scapy – Partie 4] Captures de données – lien

[Trames et paquets de données avec Scapy – Partie 5] Traceroute et visualisation 2D/3D – lien

[Trames et paquets de données avec Scapy – Partie 6] Manipulations de paquets et de trames – lien

[Trames et paquets de données avec Scapy – Partie 7] Orientation et représentation objet – lien

[Trames et paquets de données avec Scapy – Partie 8] Compléments et webographie – lien