Hack.lu 2011 - Abusing the Windows WiFi native API to create a Covert Channel

Abusing the Windows WiFi native API to create a Covert Channel

par
Ezequiel Gutesman & Andres Blanco

Un covert channel, c’est un canal de communication caché, dont le but est d’éviter toute forme de détection. On est pas vraiment dans du tunneling traditionnel, mais plus dans de la fuite de données d’une façon ou d’une autre (bien que les deux concepts puissent être intimement liés).

L’idée est de franchir les frontières numériques imposées par l’infrastructure réseau. Dans une époque lointaine, il suffisait de débrancher le câble pour isoler une machine. De nos jours, les réseaux wifis sont partout, et nombreuses sont les machines équipés de cartes wifi ou un dongle wifi malicieux peut être pluggué dans la machine pour casser l’isolation réseau. En utilisant l’API native de windows, il est plus simple de créer une connexion qu’avec le soft AP windows, car il suffit d’avoir un driver wifi compatible windows, et ça fonctionne avec n’importe quelle carte wifi ! La limitation se situe sur la version de windows (Vista minimum). En plus ça ne nécessite pas de privilèges élèvés (les droits utilisateurs suffisent) et c’est transparent.

L’auteur nous fait un rappel de la 802.11 et de quelques séquences clefs de la négociation pour la connexion à un réseau wifi. Pour monter le covert channel, nul besoin d’établir la connexion, il suffit juste d’envoyer des paquets. Ici, les auteurs utilisent les probe request pour sortir les données, et les probe response vont ramener les données en réponse. Vu que l’authentification n’a pas lieu, il n’y a pas de problèmes de connexion ou de routage (essayez chez vous d’activer wifi ET ethernet 😉 ). Sur la machine, seul le SSID est sous contrôle de l’utilisateur, tandis que pour le probe response, il y a beaucoup plus de champs utilisables.

Bref un covert channel bête et méchant dont les conditions d’utilisation limitent le scénario d’exploitation.