Tobias Scheible Cyber Security & IT-Forensik Dozent
DSTIKE WIFI Duck

DSTIKE WIFI Duck – Keystroke Injection

Das DSTIKE WIFI Duck Tool verbindet die BadUSB-Fähigkeiten mit einer Funkverbindung per WLAN. Damit können Tastaturbefehle mit der Ducky-Skriptsprache, die Hak5 mit dem USB Rubber Ducky eingeführt hat, per Webbrowser ausgeführt werden.

Sonntag, 06. September 2020
1 Kommentar

Das Hardware Tool wird von DSTIKE hergestellt und vertrieben und mit der vorinstallierten WiFiDuck Firmware von Stefan Kremser (spacehuhn) ausgeliefert. Das Open-Source-Projekt WifiDuck zielt darauf ab, eine benutzerfreundliche Umgebung zur Verfügung zu stellen, mit der Keystroke-Injection-Angriffe untersucht und nachvollzogen werden können. Bei dieser Angriffsart fungiert ein Mikrocontroller als USB-Tastatur (BadUSB). Eine Tastatur wird von den meisten Betriebssystemen standardmäßig als vertrauenswürdig eingestuft, gleichzeitig kann heutzutage immer noch ein Rechner komplett mit Tastatureingaben gesteuert werden, was eine Vielzahl von Angriffen ermöglicht.

Der DSTIKE WIFI Duck verbindet nun die BadUSB-Angriffsart mit einer WLAN-Verbindung. Dazu wird ein Atmega32u4 Microcontroller mit einem ESP8266 WLAN-Chip verbunden. Die Komponenten sind auf einem Board mit USB-A-Anschluss untergebracht, welches mit einer RGB-LED und einem Dip-Schalter ausgestattet ist. Die RGB-LED kann beliebige Farben anzeigen und kann als Status-LED für Rückmeldungen genutzt werden.

DSTIKE WIFI Duck
WiFi Duck mit USB-A Stecker, ESP8266 ELAN-Modul, DIP-Schalter, RGB-LEDs und zusätzlichen Pins
DSTIKE WIFI Duck WiFi Duck mit USB-A Stecker, ESP8266 ELAN-Modul, DIP-Schalter, RGB-LEDs und zusätzlichen Pins

Einrichtung

Der Wifi Duck kann sehr einfach verwendet werden. Nachdem er an einem Rechner angeschlossen wurde, startet der Stick und aktiviert ein WLAN. Dieses neue WLAN-Netz, das den Namen „wifiduck“ (SSID) trägt, kann nun mit einem weiteren Rechner verbunden werden. Das Passwort lautet ebenfalls „wifiduck“. Nachdem die WLAN-Verbindung erfolgreich aufgebaut worden ist, wird mit der IP-Adresse 192.168.4.1 das Web-Interface des DSTIKE WIFI Duck aufgerufen. Die Oberfläche ist sehr einfach gehalten und weitgehend selbsterklärend.

Nutzung

Im ersten Reiter “WiFi Duck” können die eigentlichen Scripte erstellt werden. Im ersten Abschnitt „Status“ können mit dem Button „Format“ alle gespeicherten Scripte gelöscht werden. Direkt darüber wird der verfügbare Speicherplatz angezeigt. Im Abschnitt „Scripts“ werden alle gespeicherten Scripte angezeigt. Mit einem Klick auf den Button „RUN“ können einzelne Scripte ausgeführt werden. Mit dem Button „EDIT“ werden sie im darauf folgenden Editor geladen.

Im Abschnitt „Editor“ werden die Scripte erstellt. Im ersten Eingabefeld wird der Name mit einem führenden „/“ eingegeben. Um den WiFi Duck zu programmieren, wird Ducky Script verwendet, welches ich im Blog-Artikel „Rubber Ducky – BadUSB Klassiker“ bereits vorgestellt habe. Wird ein Script in der Textbox eingegeben und dann der Button „SAVE“ geklickt, wird es gespeichert und erscheint oben in der Liste.

RGB-LED

Der Rubber Ducky besitzt kein RGB-LED, daher gibt es für die Ansteuerung einen neuen Befehl. Dieser ist sehr einfach und lautet einfach RGB, gefolgt von drei Werten die für Rot, Grün und Blau stehen und jeweils von 0 bis 255 reichen. Um die LED rot leuchten zu lassen, wird der folgende Befehl verwendet:

LED 255 0 0

Und für Grün die folgende Kombination:

LED 0 255 0
WiFiDuck Oberfläche
Reiter „WiFi Duck“ des WiFi Duck Web-Interface
WiFiDuck Interface Reiter „WiFi Duck“ des WiFi Duck Web-Interface
Settings

Im nächsten Reiter “Settings” kann der WLAN-Namen, das WLAN-Passwort und der verwendete Kanal festgelegt werden. Zusätzlich kann hier ein Script ausgewählt werden, welches automatisch ausgeführt wird, sobald der DSTIKE WIFI Duck angeschlossen wird. Zusätzlich kann hier noch eine aktuelle Firmware über das Web-Interface eingespielt werden. Updates können über die Github-Seite heruntergeladen werden.

WiFiDuck Oberfläche
WiFiDuck Oberfläche – Reiter Settings / Einstellungen
WiFiDuck Interface WiFiDuck Oberfläche – Reiter Settings / Einstellungen
Terminal

Der dritte Reiter “Terminal” beinhaltet eine virtuelle Konsole für die erweiterte Konfiguration. In das Eingabefeld kann ein Befehl eingegeben werden und in der Textbox darunter erscheint die Ausgabe. Mit dem Befehl „help“ werden die möglichen Befehle aufgelistet.

WiFiDuck Web-Oberfläche
Reiter „Terminal“ des WiFi Duck Web-Interface
Interface WiFiDuck Reiter „Terminal“ des WiFi Duck Web-Interface
About

Der letzte Reiter “About” gibt eine Übersicht über die Lizenztexte.

WiFiDuck Interface
Reiter „About“ des WiFi Duck Web-Interface
WiFiDuck Oberfläche Reiter „About“ des WiFi Duck Web-Interface

Weitere Konfiguration

Sollte der WiFi Duck nicht mehr reagieren, kann er zurückgesetzt werden und über die USB-Schnittstelle die Firmware neu aufgespielt werden. Dazu müssen die einzelnen Schalter des DIP-Schalters in spezielle Positionen gebracht werden:

  • Arduino Flash Mode: 10101010
  • ESP8266 Flash Mode: 01011101
  • Work Mode: 10101101

Die offizielle Anleitung auf Github beschreibt die weiteren Schritte.

USB Artikelserie

Dieser Artikel ist Teil der Artikelserie Angriffe per USB, die dem Themenschwerpunkt Hacking Hardware angehört. In dieser Artikelserie beschreibe ich verschiedene Arten von Angriffsmethoden über die USB-Schnittstelle, damit diese erkannt und effektive Gegenmaßnahmen getroffen werden können.

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Flo am 24. Dezember 2021 um 11:24 Uhr

Habe das kleine Teil grad bei mir in der Schublade gefunden. Total vergessen, dass ich es bestellt habe. Weihnachten ist gerettet 😉

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.