1. Le Principe Fondamental du BadUSB : Pourquoi l’OS Fait Confiance aux Claviers
Inventé par Hak5 en 2010 et continuellement modernisé, l’USB Rubber Ducky a popularisé la classe d’attaque BadUSB / Keystroke Injection. Sous le boîtier d’une clé USB ordinaire se cache non pas une mémoire flash passive (USB Mass Storage : Class 08h), mais un microcontrôleur programmé pour s’annoncer auprès du système d’exploitation comme un clavier standard (USB HID : Human Interface Device, Class 03h).
Dès son insertion dans un port USB sur une session déverrouillée, il injecte des commandes à une vitesse surhumaine (plus de 1 000 mots par minute) via le langage DuckyScript 3.0.
2. DuckyScript 3.0 & Détection d’OS Passive
Les révisions modernes du Rubber Ducky analysent les requêtes d’énumération USB et l’état des voyants clavier (NumLock, CapsLock, ScrollLock) pour adapter automatiquement leur comportement :
| Fonction DuckyScript 3.0 | Mécanisme Technique | Usage Légitime en Administration IT & Audit |
|---|---|---|
| Fingerprinting d’OS | Analyse des descripteurs USB demandés par l’hôte (Windows, macOS, Linux, Android) | Exécuter le bon script de diagnostic selon l’OS détecté sans intervention manuelle |
Conditions sur LEDs ($_CAPSLOCK_ON) | Canal auxiliaire bidirectionnel via l’état des voyants HID | Vérifier qu’une commande s’est bien terminée avant de passer à l’étape suivante |
| Automatisation de Provisioning | Saisie rapide de configurations réseau ou d’enrôlement en atelier | Préparer 50 postes neufs hors réseau en quelques secondes chacun |
3. Contre-Mesures Blue Team : Bloquer l’Injection de Frappes HID
- Détection comportementale de la vitesse de frappe (EDR / Endpoint Protection) : Aucun être humain ne tape 60 caractères par seconde avec un intervalle inter-touches constant de
2 ms. Les agents EDR modernes bloquent et verrouillent immédiatement la session lorsqu’un flux HID dépasse le seuil biométrique humain. - Contrôle d’accès aux ports USB (
USBGuard/ Intune / GPO) : Exiger une validation explicite à la souris ou un code PIN avant d’autoriser tout nouveau périphérique de saisieClass 03h.
Sources
- Documentation officielle Hak5 : USB Rubber Ducky & DuckyScript 3.0
- Spécification officielle USB-IF : Device Class Definition for Human Interface Devices (HID)
Si vous voulez plus d’information sur l’infrastructure vous pouvez voir mon repo à ce sujet : https://github.com/ravindrajob/InfraAtHome
