
Framework für Digiduck-Entwicklungsboards mit ATTiny85-Prozessoren und micronucleus-Bootloader!
Framework für Digiduck-Entwicklungsboards mit ATTiny85-Prozessoren und Micronucleus-Bootloader!
Screenshot des DDF-Begrüßungsbildschirms Screenshot des DDF-Begrüßungsbildschirms
- ATTiny85 oder andere kompatible „Digispark“-Entwicklungsboards
- DigiSpark-Treiber (Wenn du es mit Arduino verwenden kannst, solltest du keine Probleme haben.)
- OSX oder macOS
- ArduinoIDE mit installierter Digispark-Bibliothek
Das DigiDuck Framework (als DDF bezeichnet) ist wirklich einfach zu starten und einzurichten! Es werden keine Drittanbieter-Module für DDF benötigt! Alles, was du tun musst, ist sicherzustellen, dass du Python 3.6+ hast (ich habe es damit entwickelt, aber es sollte abwärtskompatibel sein, *hoffentlich*). Klone dieses Repository und wechsle über die Kommandozeile in das Verzeichnis. Sobald du im Verzeichnis bist, führe einfach aus:
python start.py
Dies startet das Programm und zeigt den oben gezeigten Begrüßungsbildschirm an.
Es gibt drei Befehle in diesem Framework! Ich wollte es so leichtgewichtig wie möglich halten, daher wird nur ein Befehl benötigt, um ein Payload auf dein Board zu bringen.
Der help-Befehl zeigt dieses Menü an:
alt text
Der show-Befehl zeigt dieses Menü an:
alt text
Alle deine verfügbaren Payloads werden hier angezeigt. Wenn du jedoch den execute-Befehl ausführst, werden sie erneut angezeigt.
Der dritte und letzte Befehl in DDF ist execute. Der execute-Befehl zeigt dasselbe Menü wie der show-Befehl an, jedoch wirst du von diesem Menü aus den Payload-Namen eingeben. Du musst .hex am Ende angeben, sonst wird es nicht korrekt geladen und du wirst aufgefordert, es erneut einzugeben.
alt text
execute-Befehl Anzeige.
Sobald du dein Payload ausgewählt hast, wirst du aufgefordert, dein gewünschtes Board in den Computer einzustecken. Von dort aus wird es das gewünschte Payload installieren und bei Abschluss Folgendes anzeigen:
alt text
Das war's! Du kannst jetzt dein BadUSB-DigiSpark-Board in einen Computer einstecken und das gewünschte Payload ausführen!
Payloads sind DigiSpark .ino Hex-Dateien, die mit dem Micronucleus-Bootloader auf deinem ATTiny85 oder anderen Boards installiert werden.
Alle aktuellen Payloads stammen von Hak5's RubberDucky-Skripten, die hier verfügbar sind. Wenn du dir unsicher bist, was ein Payload tut, ist dies der Ort, um darüber zu lesen. Ich werde versuchen, die Payloads nahe am gleichen Namen zu halten, aber ich möchte nicht, dass du unter Windows zu viel tippen musst, da rlcompleter nicht funktioniert.
Gehe zur Duckyspark GitHub-Seite, um zu sehen, wie du deine übersetzte .ino-Datei aus einem RubberDucky-Skript erstellst. Lade danach deine .ino-Datei in die Arduino IDE. Stelle sicher, dass „Verbose“ in den Einstellungen aktiviert ist, und kompiliere deinen Code. Öffne die Terminalausgabe unten und suche den Speicherort der .hex-Datei. Sie sollte sich in einem temporären Verzeichnis in deinem AppData oder einem entsprechenden Ordner unter macOS befinden. Hier ist ein Beispiel:
alt text Dies ist direkt über der Stelle, an der du aufgefordert wirst, dein Board einzustecken!
Ziehe die Datei payloadname.cpp.hex aus diesem Ordner und ziehe sie in den Payloads-Ordner innerhalb des DDF-Frameworks. Führe das Programm aus und dein Payload wird in die verfügbaren Payloads geladen!
Du kannst gerne beitragen, indem du benutzerdefinierte oder weitere Payloads aus den oben genannten Rubber Ducky-Skripten hinzufügst! Erstelle einen PR mit den neuen 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