Im vorherigen Blog-Artikel habe ich verschiedene Hardware-Varianten behandelt, die einen BadUSB-Angriff durchführen können (z.B. Rubber Ducky, Digispark & MalDuino). Der nächste Schritt ist die Kombination eines typischen Chips, der die Methode für eine virtuelle Tastatur unterstützt und eine WiFi-Funktion hat. Damit kann ein Angreifer solch eine Hacking Hardware versteckt an einem Rechner anschließen und aus der Distanz den Angriff starten. Zum Beispiel kann gewartet werden, bis das Opfer wieder am Platz ist und dann mit einem Anruf gezielt ablenken. Währenddessen wird der Angriff gestartet. Ist für den Angreifer eine direkte Sicht auf den Bildschirm möglich, können auch je nach Szenario weitere Angriffsskripte bedarfsgerecht ausgeführt werden.
Der Cactus WHID besteht primär aus einem Atmega 32u4 Prozessor, der häufig in vielen Arduino-Boards verwendet wird, und dem WiFi-Modul ESP-12s, das ebenfalls sehr häufig in Arduino Projekten verwendet wird. WHID steht übrigens für WiFi HID (Human Interface Device). Der Cactus WHID kann in verschiedenen Online-Shops ab ca. 18 Euro bestellt werden, zum Beispiel bei tindie. Auf der Github Seite des Projektes WHID Injector sind noch weitere Händler verzeichnet. Durch den USB Typ-A-Stecker und dem Gehäuse eignet er sich sehr gut für Penetrationstests.
Auch hier gibt es ähnliche Boards wie den Cactus Micro oder Beetle Boards mit einem ESP (WiFi) Chip. Darüber hinaus gibt es auch Varianten, die zusätzlich noch über ein Micro SD-Kartenlesegerät verfügen, diese Boards werden zum Beispiel als CJMCU-3212 bezeichnet.
Funktionsweise
Um den Cactus WHID einzusetzen und einen BadUSB-Angriff durchzuführen, sind keine Kenntnisse der Programmierung erforderlich. Auf dem Stick ist das System ESPloitV2 vorinstalliert. Nachdem der Stick an einen Rechner angeschlossen worden ist, wird die WiFi-Funktion aktiviert und ein neues Netzwerk erscheint. In der Standardkonfiguration lautet der Name (SSID) „Exploit“ und das Passwort „DotAgency“. Mit einem anderen Rechner verbindet man sich mit dem Netzwerk und dann kann der Cactus WHID entweder per Webbrowser oder per Android App gesteuert werden.
Web-Browser
Jetzt kann in einem beliebigen Webbrowser die IP-Adresse „http://192.168.1.1“ des Cactus WHID aufgerufen werden. Danach erscheint die Startseite und es stehen verschiedene Optionen zur Verfügung.
Unter „Live Payload Mode“ kann über ein Eingabefeld ein Payload eingefügt und ausgeführt werden. Im nächsten Punkt „Input Mode“ können beliebige Eingaben per Buttons selbst durchgeführt werden. Mit „Duckuino Mode“ kann live die Konvertierung von Ducky Skripten vorgenommen werden.
Alternativ ist es möglich, vorbereitete Payloads auszuführen. Dazu können unter dem Punkt „Upload Payload“ Dateien im TXT-Format hochgeladen werden. Unter dem Menüpunkt „Choose Payload“ werden diese angezeigt und können per Klick ausgeführt werden.
Im Menüpunkt „List Exfiltrated Data“ können alle gespeicherten Daten angezeigt und heruntergeladen werden. Der Cactus WHID kann vom Zielrechner per serielle Kommunikation Daten empfangen oder, wenn er im selben WiFi Netzwerk ist, per HTTP GET und per FTP Daten empfangen. Im Punkt „Format File System“ kann der Speicher komplett gelöscht werden.
Mit „Configure ESPloit“ können die Einstellungen geändert werden. Dazu muss der Benutzernamen „admin“ und das Passwort „hacktheplanet“ eingegeben werden. Im letzten Punkt „Upgrade ESPloit Firmware“ kann ein Update eingespielt werden.
Android App
Alternativ steht die Android App WHID Mobile Connector zur Verfügung. Damit lassen sich dieselben Funktion ausführen. Zusätzlich sind aber schon viele weitere Payloads mit in der App integriert.
Cactus WHID Beispiele
Die Syntax für die Skripte des Cactus WHID unterscheidet sich von den bisherigen Beispielen der anderen Hardware Geräten. Es werden die Befehle „Press“, „Print“ und „PrintLine“ in Verbindung mit den Ascii-Codes verwendet. „Rem:“ steht dabei für ein Kommentar und wird nicht ausgeführt.
Mittels „Press:“ werden Tastkombinationen gedrückt. Es müssen die Zahlencodes der entsprechenden Tasten verwendet werden. Diese können hier nachgelesen werden. Als Beispiel werden die Tasten „a“ und „b“ gleichzeitig gedrückt:
Press:97+98
Mit „Print:“ erfolgt eine Textausgabe und mit „PrintLine:“ inklusive Enter am Ende.
Print:Hallo PrintLine:Welt
Ausführen-Dialog starten
Das nachfolgende Beispiel zeigt, wie mit dem Cactus WHID der Ausführen-Dialog unter Windows gestartet werden kann. 131 steht für die Windows-Taste und 114 für „r“.
Press:131+114
Notepad starten
Um nun Notepad zu starten, muss noch die Anweisung „PrintLine“ hinzugefügt werden.
Press:131+114 PrintLine:notepad
Weitere Beispiele
Weitere Beispiele für den Cactus WHID gibt es auf den Github-Seiten der Projekte WHID und ESPloitV2.
Fazit Cactus WHID
Der Cactus WHID ist eine ideale Plattform durch die Verwendung der Standardkomponenten und mit der WiFi-Funktion werden neue Möglichkeiten für das BadUSB-Angriffsszenario eröffnet. Durch eine einfache Änderung am Code kann das Tastaturlayout angepasst werden. Zusätzlich können die USB-IDs (VID & PID) modifiziert werden, so kann der Stick sich als eine weit verbreitete USB-Tastatur tarnen. Darüber hinaus gibt es weitere Softwareprojekte wie WiFi Ducky und USaBUSe, die die Hardware des Cactus WHID nutzen können.
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
- 21.05.2025 (Vortrag) VDI-Vortrag Hacking-Hardware, VDI Zollern-Baar, Albstadt (weitere Infos)
- 24.06.2025 (Workshop) Hacking- und Pentest-Hardware Workshop, Scheible UG, Mannheim (weitere Infos)
- 26.06.2025 (Workshop) Hacking- und Pentest-Hardware Workshop, Scheible UG, Zürich (weitere Infos)
- 10.07.2025 (Workshop) Hacking- und Pentest-Hardware Workshop, Scheible UG, Stuttgart (weitere Infos)
hallo,
ich bräuchte hilfe bei dem cactus whid, unzwar krieg ich es nicht hin die tastertur zu ändern,ich würde mich über hilfe sehr freuen
lg