Digispark – die USB Rubber Ducky Alternative (Teil1)

Ein USB Rubber Ducky sieht aus wie ein USB-Stick, ist aber eher mit einer  Tastatur zu vergleichen. Somit kann das Gerät das tun, was auch ein angemeldeter Nutzer über die Tastatur tun darf. Hiermit können Programme geöffnet, Text eingegeben und  beliebige Tastenfolgen auf dem Computer gespeichert werden.

Der originale Rubber Ducky kostet ca. 45 USD und kann hier erworben werden. Wer an einer preisgünstigen Alternative interessiert ist und etwas höheren Aufwand nicht schäut, der sollte diesen und den nachfolgenden Artikel lesen.

Hinter dem Digispark verbirgt sich eine Attiny85 Mikrocontroller-Entwicklungsplatine. Sie ähnelt einem Arduino ist aber wesentlich kleiner, billiger aber auch weniger leistungsstark. Man kann sie für 1 bis 3 USD bekommen und sie ist auch in Deutschland in vielen Online-Shops für wenig Geld erhältlich.

Im Gegensatz zum Rubber Ducky ist keine MicroSD-Karte verwendbar. Der verfügbare Speicherplatz beträgt außerdem nur 6 Kilobyte. Dies ist aber genug um kleine Skripte darauf zu speichern, die dann, in Tastaturbefehle umgewandelt, auf dem Zielsystem ausgeführt werden können.

Als “Entwicklungsumgebung” wird eine Arduino-Software genutzt, die man für Windows, Linux und MacOS hier herunterladen kann.

Um die erstellten Skripte  auf den Digispark zu übertragen, sind einige Vorbereitungen erforderlich. Hierzu müssen wir die  Software richtig einstellen und  zusätzliche Treiber heruntenladen. Folgende Anleitung zeigt dies Schritt für Schritt und Windows 7.

Zuerst laden wir uns die Arduino-Software von der oben angegebenen Webseite herunter und installieren diese auf unserem Windows-System:

Als nächstes benötigen wir die Digistump-Treiber. Das entsprechende Archiv (Digistump.Drivers.zip)  ist unter dieser URL verfügbar.

Nachdem die zip-Datei an einem beliebigen Ort entpackt wurde, kann die Installation der Datei DPinst64 erfolgen.

Hierzu werden einige Gerätetreiber  installiert, die nach Fertigstellung auf unserem Windows-PC verfügbar sind. Die Spalte “Status” gibt Auskunft über den erfolgreichen Abschluss. Sollte dies nicht der Fall sein, so empfehle ich die Prozedur zu wiederholen.

Im nächsten Schritt wird  eine URL für einen zusätzliche Boardverwalter eingestellt. Hierzu öffnet man folgendes Fenster unter Datei – Voreinstellungen und trägt dort folgende URL ein:

http://digistump.com/package_digistump_index.json

Jetzt können wir unter Werkzeuge – Board – Boardverwalter die möglichen Boardverwalter aufrufen und als Typ “Beigetragen” auswählen. Hier wird dann das “Digistump AVR Board” sichtbar, das dann über die Schaltfläche “Installieren” eingerichtet werden kann.

Danach lässt sich unter Werkzeuge – Board die Einstellung “Digispark (Default – 16,5mhz)” auswählen.

Um die Richtigkeit der Einstellungen zu testen, rufen wir nun unter Datei – Beispiele – DigisparkKeyboard die Datei Keyboard auf.

Optional wählen wir noch unter Werkzeuge – Programmer die Option USBtinyISP aus.

OK, das schliesst unsere Einstellungen ab. Ein erster Test soll zeigen, ob alles ordnungsgemäß funktioniert. Hier ist zunächst wichtig, dass der Digispark noch nicht in ein USB-Interface gesteckt ist. 

Die oben aufgerufene Beispieldatei  (Keyboard) wird nun durch Klick auf den Pfeil in der Menüleiste kompiliert. In diesem Fall werden 106 Bytes des dynamischen Speichers verwendet.

Ist alles ohne Fehler durchgelaufen, so wird man zum Einstecken aufgefordert, um danach die Daten auf den Digispark zu übertragen.

Im nächsten Teil des Tutorials werden einige Beispielskripte erstellt und getestet.

3 Gedanken zu “Digispark – die USB Rubber Ducky Alternative (Teil1)

  1. DigiKeyboard unterstützt keine deutschen Tastaturen. Die entsprechende Headerdatei muss hierfür auf die deutschen Keyboard Scan Codes abgestimmt werden, sonst ist der DigiSpark im deutschsprachigen Raum für Pentesting nahezu nutzlos.

Schreibe einen Kommentar