Vous êtes ici : Accueil Wireless Wi-Fi : pour bien débuter Les buffers overflow en wifi
Actions sur le document

Les buffers overflow en wifi

Par bluetouff - Dernière modification 05/11/2006 18:39

les buffers overflow, ou débordement de tampon sont un véritable cauchemard. Les drivers wifi sont souvent la cible de ces vulnérabilités.


  • Comprendre les débordements de tampons
Un débordement de tampon survient quand une information tente de se loger dans un endroit où elle ne devrait pas.

  • Comment trouver des buffers overflow dans les drivers wireless ?

Il n'existe pas de recette miracle, débusquer des buffer overflow est compliqué et nécessite quelques bonnes connaissances en C, en assembleur, en ce qui me concerne, mon meilleur allié est la chance ;)

En revanche, vous trouverez sur le net certains outils et scripts d'injection qui pourront vous aider à placer le bon bit au bon endroit pour provoquer le buffer overflow visé.

La gestion du temps dans l'établissement des communications sans fil est souvent la principale cause des buffers overflow. Ainsi, les driver Centino que l'on ne présente plus en présente un joli. Voici l'expérience que vous pouvez mener :

- Installez un sniffer udp sur la machine que vous souhaitez "stresser" : un netcat fera parfaitement l'affaire. Sur une autre machine, celle qui va attaquer, configurez l'envoie de paquets de manière à ce que ce dernier idle 4000 microsecondes entre chaque envois. Très rapidement, vous allez voir apparaître sur la machine cible un bel éccran bleu que les afficionados de Windows connaissent bien, un Blue Screen of Death.

Blue screen of death

Le mal des buffer overflow provient du fait que les processeurs x86 dans certaines conditions, permettent l'exécution de données.
Quand on fait un appel de fonction sur cette architecure, l'adresse de retour est directement stockée sur la pile (la prédiction est donc possible). Pour couronner le tout, les segments de mémoire ne tiennent pas compte de la nature des informations : ils ne font pas la différence entre code et données, ce qui permet d'exécuter des données. En théorie toujours, sur des routeurs notamment (architecture non x86), les attaques des type Heap Overflow sont assez payantes, elles consistent en un transfert de données dans un bloc mémoire trop petit. Elles nécessitent la présence ou la de création des conditions nécessaires à la défaillance de la mémoire. Voilà pour la théorie, mais la pratique montre que l'exploitation est un peu plus coton, encore faut il connaitre l'emplacement du shellcode dans la pile et savoir déterminer sa taille.

Nous avions l'année dernière déjà mis la main sur une erreur de type invalid kernel handle permettant d'écrire des données dans un bloc mémoir non alloué, ceci provenait d'une faiblesse au niveau du client dhcp de Windows XP (SP2 inclu) dans sa manière de gérer des request dhcp simultanées avec 2 périphériques wifi. Chacune des cartes tentaient de s'attribuer une IP et Windows n'aimait pas du tout ça. Depuis, de nombreux autres buffers overflow ont été trouvés et demeurent non patchés.

Voici quelques outils pour débusquer ces buffer overflow

  • Hping3 : hping est un injecteur qui fera des merveilles pour stresser la machine cible
  • Macof permet d'inonder un réseau d'adresses mac, initialement utilisé pour faciliter une écoute avec dsniff pour intercepter des passwords, il provoque des saturations de tables de connexion dans certains routeurs. C'est redoutablement efficace.
  • Wep wedgie : cet injecteur a aussi un effet amusant sur certains routeurs, vous pouvez en quelques sessions simultanées paralyser complètement un routeur.

... en fait vous pouvez utiliser à peu prêt n'importe quoi. Soyez imaginatifs, il y a surement une combinaison d'outil qui devrait réveiller des horreurs sur un paquet de matériels. N'oubliez pas avant de bouriner bêtement d'IDENTIFIER le matériel cible. Pour identifier un matériel, reportez vous au premiers chiffres de l'adresse mac du routeur, faites quelques recherche sur le net pour voir s'il n'existe pas déjà des failles connues sur le matériel en question (matériels dont le firmware n'est pas à jour : c'est à dire dans 85% des cas)






Toonux is powered By FreeBSD, Zope & Plone and owned by Bluetouff ]-- Pilot Systems ring website

Toonux contents are copyleft under the WTFPL licence