
Framework per Digiduck Development Boards basate su processori ATTiny85 e bootloader micronucleus!
Framework per schede di sviluppo Digiduck basate su processori ATTiny85 e bootloader micronucleus!
alt text Schermata di benvenuto di DDF
- Scheda(e) di sviluppo ATTiny85 o altre "Digispark" compatibili
- Driver DigiSpark (Se riesci a usarla con Arduino dovresti essere a posto.)
- OSX o MacOS
- ArduinoIDE con libreria Digispark installata
DigiDuck Framework (indicato come DDF) è molto semplice da avviare e configurare! Non sono richiesti moduli di terze parti per DDF! Tutto ciò che devi fare è assicurarti di avere Python 3.6+ (l'ho usato per svilupparlo ma dovrebbe essere retrocompatibile si spera). Clona questo repository e accedi alla directory dalla riga di comando. Una volta dentro la directory, esegui semplicemente:
python start.py
Questo avvierà il programma e mostrerà la schermata di benvenuto come sopra.
Ci sono tre comandi in questo Framework! Volevo renderlo il più leggero possibile, quindi richiede un solo comando per caricare un payload sulla tua scheda.
Il comando help mostra questo menu:
alt text
Il comando show mostra questo menu:
alt text
Tutti i tuoi payload disponibili verranno mostrati qui. Tuttavia, se esegui il comando execute, verranno visualizzati di nuovo.
Il terzo e ultimo comando in DDF è execute. Il comando execute mostrerà lo stesso menu del comando show, tuttavia da questo menu inserirai il nome del payload. Devi includere .hex alla fine, altrimenti non verrà caricato correttamente e ti chiederà di reinserirlo.
alt text
Visualizzazione del comando execute.
Una volta scelto il payload, ti verrà chiesto di inserire la scheda desiderata nel computer. Da lì, installerà il payload desiderato e mostrerà questo messaggio al termine:
alt text
Questo è tutto! Ora puoi collegare la tua scheda badUSB DigiSpark a un computer ed eseguire il payload desiderato!
I payload sono file .hex di DigiSpark .ino che vengono installati utilizzando il bootloader micronucleus sulla tua ATTiny85 o altre schede.
Tutti i payload attuali provengono dagli script RubberDucky di Hak5 disponibili qui. Se non sei sicuro di cosa faccia un payload, questo è il posto giusto per leggere al riguardo. Cercherò di mantenere i nomi dei payload simili, ma non voglio che su Windows tu debba digitare troppo dato che rlcompleter non funziona.
Vai alla pagina GitHub di Duckyspark per vedere come creare il tuo file .ino tradotto da uno script RubberDucky. Dopo aver caricato il tuo file .ino nell'IDE Arduino. Assicurati che Verbose sia attivo nelle Preferenze e compila il codice. Apri l'output del terminale qui sotto e cerca la posizione del file .hex. Dovrebbe essere in una directory temporanea in AppData o equivalente su MacOS. Ecco un esempio:
alt text Questo è subito sopra il punto in cui ti dice di collegare la scheda!
Preleva il file payloadname.cpp.hex da quella cartella e trascinalo nella cartella payloads all'interno del framework DDF. Esegui il programma e il tuo payload sarà caricato tra i Payload Disponibili!
Sentiti libero di contribuire aggiungendo payload personalizzati o altri dagli script Rubber Ducky sopra! Fai una PR con i nuovi payload.
Duckyspark - https://github.com/toxydose/Duckyspark
Micronucleus - https://github.com/micronucleus/micronucleus
Payload Hak5 RubberDucky - https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads