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.
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.
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
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.
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.
Der letzte Reiter “About” gibt eine Übersicht über die Lizenztexte.
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.
- Rubber Ducky – BadUSB Klassiker
- Digispark – günstiges BadUSB Device
- MalDuino – BadUSB mit Schalter
- Teensy – BadUSB mit Arduino
- DSTIKE WIFI Duck – Keystroke Injection
- Cactus WHID – BadUSB mit WiFi
- USBNinja – getarnter BadUSB
- Bash Bunny – BadUSB Multitool
- P4wnP1 A.L.O.A. – BadUSB Supertool
- USB Killer – Rechner zerstören
- 12.11.2024 (Workshop) Hacking- und Pentest-Hardware Workshop, scheible.it, Böblingen (weitere Infos)
Habe das kleine Teil grad bei mir in der Schublade gefunden. Total vergessen, dass ich es bestellt habe. Weihnachten ist gerettet 😉