
Framework pour les cartes de développement Digiduck fonctionnant avec des processeurs ATTiny85 et le bootloader micronucleus !
Framework pour les cartes de développement Digiduck utilisant des processeurs ATTiny85 et le bootloader micronucleus !
alt text Capture d'écran de l'écran d'accueil de DDF
- ATTiny85 ou autre(s) carte(s) de développement "Digispark" compatible(s)
- Pilotes DigiSpark (Si vous pouvez l'utiliser avec Arduino, cela devrait fonctionner.)
- OSX ou macOS
- ArduinoIDE avec la bibliothèque Digispark installée
DigiDuck Framework (appelé DDF) est très simple à démarrer et à configurer ! Aucun module tiers n'est requis pour DDF ! Tout ce que vous avez à faire est de vous assurer que vous avez Python 3.6+ (j'ai utilisé cette version pour le développer mais il devrait être rétrocompatible *espérons-le*). Clonez ce dépôt et entrez dans le répertoire depuis la ligne de commande. Une fois dans le répertoire, exécutez simplement :
python start.py
Il y a trois commandes dans ce Framework ! Je voulais le rendre aussi léger que possible, donc il ne nécessite qu'une seule commande pour mettre un payload sur votre carte.
La commande help affiche ce menu :
alt text
La commande show affiche ce menu :
alt text
Tous vos payloads disponibles seront affichés ici. Cependant, si vous exécutez la commande execute, ils s'affichent à nouveau.
La troisième et dernière commande de DDF est execute. La commande execute affichera le même menu que la commande show, mais à partir de ce menu, vous entrerez le nom du payload. Vous devez inclure .hex à la fin, sinon il ne se chargera pas correctement et vous demandera de le saisir à nouveau.
alt text
Affichage de la commande execute.
Une fois que vous avez choisi votre payload, il vous sera demandé d'insérer la carte souhaitée dans l'ordinateur. Ensuite, il installera le payload désiré et affichera ceci une fois terminé :
alt text
C'est tout ! Vous pouvez maintenant brancher votre carte badUSB DigiSpark dans un ordinateur et exécuter le payload souhaité !
Les payloads sont des fichiers hex .ino DigiSpark qui sont installés via le bootloader micronucleus sur votre ATTiny85 ou d'autres cartes.
Tous les payloads actuels proviennent des scripts RubberDucky de Hak5 disponibles ici. Si vous n'êtes pas sûr de ce que fait un payload, c'est l'endroit où aller pour lire à ce sujet. Je vais essayer de garder les payloads avec des noms similaires, mais je ne veux pas que vous ayez à taper trop de caractères sous Windows car rlcompleter ne fonctionne pas.
Rendez-vous sur la page GitHub Duckyspark pour voir comment créer votre fichier .ino traduit à partir d'un script RubberDucky. Ensuite, chargez votre fichier .ino dans Arduino IDE. Assurez-vous que le mode verbose est activé dans les Préférences et compilez votre code. Ouvrez la sortie du terminal ci-dessous et cherchez l'emplacement du fichier .hex. Il devrait se trouver dans un répertoire temporaire dans votre AppData ou équivalent sur macOS. Voici un exemple :
alt text C'est juste au-dessus de l'endroit où il vous dit de brancher votre carte !
Extrayez le fichier payloadname.cpp.hex de ce dossier et glissez-le dans le dossier payloads du framework DDF. Exécutez le programme et votre payload sera chargé dans les payloads disponibles !
N'hésitez pas à contribuer en ajoutant des payloads personnalisés ou supplémentaires à partir des scripts Rubber Ducky ci-dessus ! Faites une PR avec les nouveaux payloads.
Duckyspark - https://github.com/toxydose/Duckyspark
Micronucleus - https://github.com/micronucleus/micronucleus
Hak5 RubberDucky Payloads - https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads