Publié le 06-07-2020
Wifi HID Injector
Si vous avez fait l’acquisition d’une WHID Injector, vous avez pu être surpris lors de vos premiers test de remarquer que le payload que vous aviez préparé ne s’exécute pas comme prévu. Si vous êtes sur une station avec un clavier AZERTY, c’est tout à fait normal.
En effet, la WHID Injector est configurée, par défaut, pour fonctionner avec un layout QWERTY. Par conséquent, tous vos scripts de bon frenchy ne fonctionnent pas correctement. Pour gérer ce problème, il existe deux solutions :
- Écrire un script qui convertit l’ensemble de vos payloads d’AZERTY vers QWERTY.
- Flasher le firmware de la WHID Injector afin qu’elle gère nativement le layout AZERTY.
Pour la première solution, allez voir du côté du WHID Injector Toolkit qui convertit automatiquement les payloads vers le layout de Molière, plus particulièrement ce fichier. Ça fonctionne, c’est rapide et ça permet de passer rapidement d’un layout à l’autre.
Si vous n’avez que des cibles en AZERTY, autant passer par la deuxième solution, plus durable et plus instructive. En plus ça tombe bien, c’est cette solution qu’on couvre dans l’article.
Flash du firmware
Pourquoi flasher le firmware ?
Tout d’abord pourquoi ?
- Parce que c’est plus drôle ;
- Parce qu’on ne sait pas ce qu’il y a dans le firmware fournit par défaut ;
- Parce que c’est comme ça.
Configuration de l’editeur ARDUINO
La WHID Injector est basée sur un chip ATMEGA 32u4 et peut donc être programmée à l’aide de l’éditeur Arduino. Il faut donc tout d’abord l’installer, si comme moi, vous utilisez ArchLinux :
pacman -S arduino
Il suffit ensuite d’ajouter le support de la board ESP8266 dans l’IDE. Pour ce faire, il suffit d’aller dans les préferences de l’IDE (Fichier > Préférences), puis d’entrer l’adresse https://github.com/esp8266/Arduino/releases/download/2.3.0/package_esp8266com_index.json
dans le champ ‘URL de gestionnaire de cartes supplémentaires’.
Il est ensuite possible d’installer la carte ‘esp8266’ dans le gestionnaire de carte (Outils > Type de carte > Gestionnaire de carte).
Compilation
Une fois l’éditeur configuré correctement, il est maintenant nécessaire de récupérer le code d’ESPloitV2, de changer le layout de la librairie Keyboard , puis de mettre à jour l’équipement.
Keyboard library
Tout d’abord, il faut modifier la librairie Arduino afin de passer le layout de QWERTY à AZERTY.
cd /home/<user>/Arduino/libraries
git clone https://github.com/arduino-libraries/Keyboard
Une fois cloné, il suffit de modifier le fichier /home/<user>/Arduino/libraries/Keyboard/src/Keyboard.cpp
en le remplaçant par le contenu de celui-ci.
Il est possible de gérer d’autres “keymap” que le français. Pour cela, il suffit de se rendre sur ce dépôt et de copier la variable _asciimap correspondant à la langue que l’on veut.
ESPloitV2
ESPloitV2 est le “logiciel” qui fait fonctionner la WHID Injector, c’est notamment lui qui fournit l’interface web de la clé. Pour récupérer le code, il faut le cloner depuis le dépôt Github suivant :
git clone https://github.com/exploitagency/ESPloitV2
Il suffit ensuite d’ouvrir le fichier ESPloitV2/source/Arduino_32u4_Code/Arduino_32u4_Code.ino
dans l’éditeur Arduino, de le compiler, puis de l’envoyer sur la clé.
Pour ce faire, dans l’IDE Arduino, il est nécessaire de sélectionner le type de carte “LilyPad Arduino USB”, de cliquer sur “Téléverser” et voilà.