Aller au contenu

USB RUBBER DUCKY

L’USB Rubber Ducky est un périphérique fabriqué par Hak5 servant d’outil de pen-test pour les attaques HID.

Il est proposé au prix moyen de 60€ sur leur site https://www.hak5.com .

I. Présentation de la Ducky

La clé Rubber Ducky se présente comme une clé USB normale de type promotionnelle, comme celles qui sont parfois offertes par les entreprises ou fournies pour installer un programme en replacement des CD par exemple. Elle se compose de 4 parties, le boitier, la cover, la carte micro SD pour stocker des informations et enfin la carte mère. 

Capture décran 2022 01 12 à 11.37.50
Capture décran 2022 01 12 à 11.38.06 e1643877014776

Les Rubber Ducky sont maintenant vendues en noir, celle un peu plus grosse au dessus est une Bash Bunny, elle n’a pas les mêmes fonctionnalités ce sera surement le sujet d’un autre article.

II. Télécharger l'encodeur Ducky

La première étape consiste à télécharger les fichiers qui vont nous permettre d’encoder nos scripts. En effet, pour créer les scripts nous partons d’un bête fichier texte en .txt, et le programme développé par Hak5 va nous l’encoder en fichier .bin, pour qu’il puisse être lu par la Ducky, et stocké sur sa carte micro SD. Il est également possible de le faire en ligne via les sites https://ducktoolkit.com/encode , ou https://hak5.org/pages/ducky-encoder , ou encore en ligne de commandes.
1. Pour télécharger l’encodeur, rendez vous sur Github à l’adresse suivante : https://github.com/hak5darren/USB-Rubber-Ducky/tree/master/Encoder

2. Télécharger et installer Java ici : https://www.java.com/fr/

III. Préparation de la carte SD

Par défaut, un script est présent sur la Rubber Ducky, il ouvre un bloc notes si vous êtes sur Windows et fait un peu n’importe quoi si vous êtes sous un autre OS. Si vous voulez éditer les scripts de la carte SD, il va falloir passer par un adaptateur, il y en à un de fourni avec. Apres ça, l’ordinateur va détecter la carte comme une micro SD banale. 

IV. Création de votre premier payload !

Comme dit précédemment, il existe plusieurs façons de créer un payload, soit en ligne, soit à la main, je vous propose de commencer par en créer un à la main pour vous la faire (la main !). Pour vous aider un peu dans la création du script, j’ai fait une page qui explique les différentes commandes que vous pouvez faire et surtout comment faire tapper certain caractères à la Ducky → https://ldugrain.xyz/ducky-script/

Pour commencer, ouvrir un bloc notes si vous êtes sous Windows, ou text editor si vous êtes sur macOS. Vous pouvez ensuite commencer à écrire un premier script basique, je vais donner un exemple.

REM Rappel de verrouillage de l'ordinateur
DELAY 500
GUI r 
STRING notepad.exe
DELAY 200
ENTER
DELAY 300
STRING N'oubliez pas de verrouiller votre ordinateur !
GUI l

V. Compilation de votre payload

Pour compiler votre payload il faudra télécharger le compileur de Hak5 (il faut avoir Java). 

Lancer le programme, sélectionner votre fichier texte avec votre script en tant qu’input, choisir FR dans le layout pour que le clavier ait la bonne langue, et enfin choisir le chemin de sortie pour le fichier en .bin qui sera généré après compilation. 

Le programme permet également de créer votre script directement à l’intérieur sans avoir besoin de créer un fichier texte en amont

Il faut bien lui spécifier un emplacement existant et nommer votre fichier en .bin avant de cliquer sur Exporter

Une fois votre fichier généré, il faut le déplacer sur la partition de la carte SD de la Rubber Ducky, et réinsérer la carte dans la Ducky.

Capture décran 2022 04 29 à 09.24.01

Une fois le fichier correctement compilé, vous devriez avoir ce message de confirmation

Capture d’écran 2022-04-29 à 09.23.57

VI. Phase de test

Pour la phase de test il va falloir brancher sa clé soit sur une machine virtuelle, soit sur un ordinateur quelconque (qui vous appartient). Parfois il faudra augmenter les délais pour les machines qui ne sont pas très réactives, ou au contraire les réduire si vous êtes sur une machine performante pour accélérer le script. 

Quelques astuces

Vous pouvez directement mettre le dossier de la partition de la carte SD de la Ducky en tant que dossier de sortie pour le fichier en .bin afin de gagner du temps lors de la phase de teste et d’optimisation du script.