
Framework para placas de desarrollo Digiduck que ejecutan procesadores ATTiny85 y el bootloader micronucleus!
Framework para placas de desarrollo Digiduck que ejecutan procesadores ATTiny85 y el bootloader micronucleus!
alt text Captura de pantalla de la pantalla de bienvenida de DDF
- ATTiny85 u otras placas de desarrollo "Digispark" compatibles
- Controladores DigiSpark (Si puedes usarlo con Arduino, deberías estar bien.)
- OSX o macOS
- ArduinoIDE con la librería Digispark instalada
DigiDuck Framework (referido como DDF) es muy sencillo de iniciar y configurar. No se requieren módulos de terceros para DDF. Todo lo que necesitas hacer es asegurarte de tener Python 3.6+ (yo usé esta versión para desarrollarlo, pero debería ser compatible hacia atrás, *espero*). Clona este repositorio y entra al directorio desde la línea de comandos. Una vez dentro del directorio, simplemente ejecuta:
python start.py
Esto iniciará el programa y mostrará la pantalla de bienvenida que se muestra arriba.
Hay tres comandos en este framework. Quise hacerlo lo más ligero posible, por lo que solo requiere un comando para cargar un payload en tu placa.
El comando help muestra este menú:
alt text
El comando show muestra este menú:
alt text
Todos tus payloads disponibles se mostrarán aquí. Sin embargo, si ejecutas el comando execute, se mostrarán de nuevo.
El tercer y último comando en DDF es execute. El comando execute mostrará el mismo menú que el comando show, sin embargo, desde este menú ingresarás el nombre del payload. Debes incluir .hex al final, de lo contrario no se cargará correctamente y te pedirá que lo ingreses de nuevo.
alt text
Visualización del comando execute.
Una vez que elijas tu payload, se te pedirá que insertes la placa deseada en la computadora. A partir de ahí, instalará el payload deseado y mostrará esto cuando termine:
alt text
¡Eso es todo! Ahora puedes conectar tu placa badUSB DigiSpark a una computadora y ejecutar el payload deseado.
Los payloads son archivos .hex de DigiSpark .ino que se instalan usando el bootloader micronucleus en tu ATTiny85 u otras placas.
Todos los payloads actuales provienen de los scripts RubberDucky de Hak5 disponibles aquí. Si no estás seguro de lo que hace un payload, este es el lugar para informarte. Intentaré mantener los payloads con nombres similares, pero no quiero que en Windows tengas que escribir demasiado ya que rlcompleter no funciona.
Dirígete a la página de GitHub de Duckyspark para ver cómo crear tu archivo .ino traducido a partir de un script RubberDucky. Después, carga tu archivo .ino en el IDE de Arduino. Asegúrate de que Verbose esté activado en Preferencias y compila tu código. Abre la salida del terminal debajo y busca la ubicación del archivo .hex. Debería estar en un directorio temporal en tu AppData o su equivalente en macOS. Aquí hay un ejemplo:
alt text Esto está justo encima de donde te indica que conectes tu placa.
Extrae el archivo payloadname.cpp.hex de esa carpeta y arrástralo a payloads dentro del framework DDF. Ejecuta el programa y tu payload se cargará en Payloads Disponibles.
Siéntete libre de contribuir añadiendo payloads personalizados o más payloads de los scripts Rubber Ducky anteriores. Haz un PR con los nuevos 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