USB Rubber Ducky: Introduction

Date de publication: 22/09/2016

ATTENTION: Je ne suis en aucun cas responsable de vos actes. Cet article est purement à but informatif et éducatif. Merci.

Bonjour à tous et à toutes, bande de geeks! BadUSB, StealerUSB, RubberDucky, ces termes devraient paraître familiers aux plus bidouilleurs d’entre vous. Tous ces noms désignent tous la même chose: Un vecteur d’attaque USB. Le vecteur d’attaque par USB est sûrement le plus facile à mettre en place, car il exploite la confiance qu’à un ordinateur envers un clavier. Je m’explique. Quand vous branchez un clavier sur n’importe quel ordinateur, la machine va directement reconnaître le périphérique et se dire “Oh génial! Un nouveau périphérique de contrôle! Fais comme chez toi mon gars!” ( je caricature à peine ). L’ordinateur va donc faire totalement confiance au périphérique, puisqu’il apparaît comme inoffensif. Dans le cas des clés USB de stockage, l’ordinateur se méfiera un peu plus, puisqu’il sait qu’elle peut contenir tout et n’importe quoi. Ce qui n’est -normalement- pas le cas d’un clavier ou d’une souris. Et c’est là que notre BadUSB intervient. Le principe est très simple à comprendre.

Le BadUSB se fait passer pour un clavier aux yeux de l’ordinateur, ce qui lui permet d’avoir un accès plus rapide et direct. Ce que la machine ne sait pas, c’est que nous avons configuré notre BadUSB pour écrire plus de 300 mots à la seconde. Inhabituel non? Pas pour l’ordinateur. Nous avons donc un accès en tant que “clavier” à l’ordinateur. Oui mais ensuite? Un certain type de virus (RAT: Remote Administration Tool) permet d’avoir un accès en mode “clavier” sur une machine distante. Dans la plupart des cas, le méchant pirate est derrière son écran à taper ses commandes à la main, une à une, lentement. Et si on automatisait tout ça? Prise de contrôle, et exploitation? Lançons -nous! Vous l’aurez compris, le BadUSB est une sorte de “Clavier Automatique”, ce qui nous permet de taper ce que l’on veut sur l’ordinateur ciblé.

Tous les OS disponibles peuvent être totalement contrôlés par clavier, une aubaine non? Dans ce premier article, je vais vous introduire à l’attaque par vecteur USB accompagné de mon fidèle compagnon, l’USB Rubber Ducky!

Ce petit bijou est donc un BadUSB distribué par Hak5 (Huge fan btw). Il ne coûte pas très cher et est extrêmement puissant. Sa plus grande qualité est la facilité de mise en place. L’équipe de Hak5 a fait un travail monstrueux sur la documentation et le développement du Firmware. Dites vous que en seulement 15 secondes nous sommes capables d’avoir accès à tous les mots de passes d’un ordinateur, sans laisser aucune traces, et sans être détectés par un antivirus. Incroyable non?

“Oui mais Tom tu nous vend du rêve là, mais comment on le programme? Ca doit être super compliqué…” Détrompes-toi mon ami, c’est un vrai jeu d’enfant que de programmer ce Canard USB! Comme je le disais, l’équipe de Hak5 a fait un boulot fantastique et a créé un langage de scripts spécialement conçu pour leur Ducky. Les commandes sont simples:

REM: insère une remarque, un commentaire dans le code

STRING: commande pour taper du texte

DELAY: commande pour dire au Ducky d'attendre avant d’exécuter la prochaine instruction

SHIFT / ALT / CTRL / GUI / ENTER: Touches spéciales du clavier

Avec ces 4 premières commandes, vous pouvez quasiment déjà tout faire! Sachant que le clavier est commun à tous types d’OS, l’attaque est sûre de fonctionner à 100% sur n’importe quelle plateforme. D’autres commandes plus avancées sont disponibles sur le wiki du Ducky.

Allez, comme je sens que je vous ai mis l’eau à la bouche, je vais vous donner un premier script original: Afficher Hello world sur Notepad.exe C’est parti! IMPORTANT: Avant de lancer n’importe quel script avec le Ducky, il faut laisser le temps à Windows de le détecter. Le Ducky lance son script directement une fois branché. Il faut donc mettre un délais à chaque début de script. Commencons par ouvrir Notepad. Pour ce faire, nous allons utliser la combinaison Windows + R pour afficher la boite de commandes. Ensuite, nous allons ouvrir notepad, puis simplement marquer “Hello World”.

REM On attend 2 secondes
DELAY 2000

REM On appuye sur Windows + R
GUI r

DELAY 1000

REM On tape la commande pour lancer notepad
STRING notepad.exe
ENTER

DELAY 1000

REM On tape notre texte
STRING Hello world!!!

Et voilà! Votre premier script est prêt à être déployé! Facile n’est-ce pas? Cet exemple est simplement pour vous montrer le principe de fonctionnement. Dans mon prochain article, je vous apprendrai sérieusement comment faire un script de A à Z. D’içi là, Stay Tuned! :D