Tobias Scheible Cyber Security & IT-Forensik Dozent
Angeschlossener InputStick

InputStick – drahtloser USB-Empfänger

Der InputStick ist ein drahtloser USB-Empfänger, der jedes Smartphone oder Tablet in eine kabellose USB-Tastatur und -Maus verwandelt. Damit kann ein Rechner per Bluetooth ferngesteuert werden. Gegenüber anderen Lösungen bietet der InputStick den Vorteil, dass er durch die gute Dokumentation eine breite Unterstützung bietet.

Sonntag, 06. Dezember 2020
0 Kommentare

Der InputStick ermöglicht es, Tastatur- und Mausaktionen direkt an einen PC (oder jeden anderen USB-Host) per Bluetooth zu senden. Durch die Verwendung von Standardtreibern wird er ohne weitere Installation automatisch erkannt und ist nach kurzer Zeit einsatzbereit. Der PC wird keinen Unterschied zwischen dem InputStick und einer „echten“ USB-Tastatur feststellen. Damit kann ein Angreifer einen entfernten BadUSB-Angriff durchführen. Jakub Zawadzki, der Entwickler des InputStick, legt den Fokus auf die Automatisierung per virtueller Tastatur. So gibt es Apps, die die Passworteingabe per Smartphone ermöglichen.

Die Hardware ist in Form eines normalen USB-Sticks gehalten. Das schwarze Kunststoffgehäuse wird von einer ebenfalls schwarzen beweglichen Klammer gehalten. Auf dieser befindet sich ein Druck mit dem InputStick Logo.

InputStick
USB InputStick mit Bluetooth
InputStick USB InputStick mit Bluetooth

Die Klammer kann abgenommen werden, indem sie leicht auseinandergebogen wird. Danach kann das Gehäuse in der Mitte geöffnet werden, es wird von drei Stiften zusammengehalten. Im Inneren befinden sich zwei Platinen, die miteinander verbunden sind. Auf der grünen Hauptplatine kommt der Mikrocontroller STM32F103T8 (Datenblatt) von STMicroelectronics zum Einsatz. Das blaue Board ist für die Bluetooth-Kommunikation zuständig und verwendet den Chip CSS2541(Datenblatt) von Texas Instruments (TI).

Geöffneter InputStick
Geöffneter InputStick
Geöffneter InputStick Geöffneter InputStick

Der InputStick fungiert als Proxy zwischen PC (oder einem anderen USB-Host) und einem Smartphone. Dabei werden die Tastatureingaben am Smartphone per Bluetooth an den Rechner übertragen. Der InputStick gibt vor, ein generisches USB-Tastatur- und Mausgerät zu sein, sodass der USB-Host keinen Unterschied zwischen InputStick und einer physischen USB-Tastatur und -Maus erkennen kann. Dadurch ist der InputStick mit fast jedem USB-Host kompatibel und so einfach zu benutzen wie eine klassische USB-Tastatur. Er wird einfach an den USB-Port angeschlossen und in wenigen Sekunden ist er betriebsbereit. Es ist nicht notwendig, spezifische Treiber oder zusätzliche Software zu installieren oder irgendeine Konfiguration vorzunehmen. Per Android- & iOS-Anwendungen können Tastatur- & Mausaktionen einfach an InputStick gesendet werden. Er übermittelt dann alle Aktionen an den Rechner per USB-Schnittstelle, indem dieser vorgibt, dass der Benutzer Tasten drückt oder die Maus bewegt.

InputStickUtility

Nachdem der InputStick an einem Rechner angeschlossen wurde und die App InputStickUtility (Android | iOS) auf dem Smartphone installiert wurde, kann der erste Test erfolgen. Dazu muss die App aufgerufen werden. Um einen neuen InputStick hinzuzufügen, muss rechts unten das runde Icon mit dem Plus angetippt werden und im nun erscheinenden Screen „Bluetooth LE scan“ ausgewählt werden. Kurz danach erscheint der InputStick in der Liste und kann ausgewählt werden. Nun erscheint der Infoscreen mit allen Informationen des Sticks.

Test

Um ihn zu testen, muss auf dem Rechner ein Texteditor geöffnet und in der App im Menü der Punkt „MORE“ und dort die Option „Test InputStick“ ausgewählt werden. Das Tastaturlayout muss noch auf Deutsch gestellt werden und mit der Aktivierung des Buttons „Type demo text (ASCII)“ wird am Rechner die Zeichenkette geschrieben.

Info

Im ersten Reiter „Info“ werden die Details zum aktuell verwendeten InputStick angezeigt. Dort kann der interne Namen geändert, die Version der Firmware und die MAC-Adresse eingesehen werden. Im Bereich Status wird angezeigt, ob der Stick verbunden ist, der USB-Status, ob die Konfiguration Änderung erlaubt und ob der Passwortschutz gesetzt ist.

Config

Im nächsten Reiter „Config“ kann der Bluetooth-Name geändert werden. Eine Änderung ist aber nur 30 Sekunden, nachdem der InputStick abgeschlossen wurde, also mit Strom versorgt wurde, möglich. Darunter können die USB-Eigenschaften modifiziert werden. Dort kann bestimmt werden, welches USB-Gerät der InputStick simulieren soll. Zur Auswahl stehen Keyb. (Tastatur), Mouse (Maus), Media (Lautstärke- und Wiedergabesteuerung und Gamepad); Touch (Touchscreen) und RawHID (Datenübertragung). In den erweiterten Einstellungen können noch die USB-IDs (PID und VID) geändert werden.

Security & Firmware

Im Reiter Security kann der Passwortschutz des InputSticks aktiviert werden. Unter Firmware wird die aktuelle Firmware angezeigt und die Möglichkeit einer Aktualisierung angeboten.

Screenshots der InputStickUtility
Overview, More & Test InputStick – InputStickUtility App
Screenshots der InputStickUtility Overview, More & Test InputStick – InputStickUtility App

USB Remote

Mit der App InputStickUtility wird der InputStick konfiguriert. Um Tastatur- und Mauseingaben per Smartphone oder Tablet vorzunehmen, wird die App USB Remote, ebenfalls von den Machern des InputSticks, verwendet (Android | iOS). Nach dem Start der App muss noch das deutsche Tastaturlayout aufgerufen werden. Dazu müssen die „Settings“ aufgerufen werden und unter „Typing options“ die Option „Keyboard layout (primary)“ auf den Wert „German (Deutsch)[DE]“ gestellt werden. Sollte das Betriebssystem des Rechners, an dem der InputStick angeschlossen werden soll, auf eine andere Sprache eingestellt sein, muss diese entsprechend vorab ausgewählt werden.

Zurück auf der Hauptübersicht wird mit dem Button „Connect“ eine Verbindung zum InputStick aufgebaut werden. Sobald die Verknüpfung hergestellt wird, erscheint ein Icon in der Form des Sticks, in der Statusleiste von Android. Über das zweite Icon im Menü, die Tastatur, können Eingaben direkt mit der virtuellen Bildschirmtastatur getätigt werden. Die Stärke des InputSticks ist die Verwendung von Makros. Dabei handelt es sich um Aufzeichnungen von mehreren Befehlen. Die ersten drei Makros können direkt mit den Buttons (M1 bis M3) ausgewählt werden, über das blaue „M“ können bis zu neun verschiedene Makros abgerufen werden. Makros können selbst definiert werden. Dazu muss im Hauptmenü der letzte Punkt mit dem „M“ als Icon aufgerufen werden. Dort kann mit dem Button „New“ und nach der Eingabe eines Namens ein neues Makro angelegt werden. Danach können mit „Add new action here“ beliebige Aktionen hinzugefügt werden. Zusätzlich können auch verschiedene Sequenzen in Textdateien vorbereitet und geladen werden. Mit dem nachfolgenden Makro wird meine Website im Edge Web-Browser geöffnet:

<name>webbrowser
<keyboard>GUI + R
<delay>300
<type>microsoft-edge:https://scheible.it
<keyboard>Enter 

Über den dritten Menüpunkt mit der „Maus“ als Icon kann der Touchscreen des Smartphones als virtuelles Touchpad für die Maussteuerung verwendet werden. Unterhalb befinden sich drei virtuelle Maustasten und rechts an der Seite kann gescrollt werden. Im vierten Menüpunkt kann ein Touchpad aufgerufen werden. Danach erfolgt im vierten Menüpunkt die Steuerung für die Multimediawiedergabe.

Damit kann ein Angreifer den InputStick nutzen, um einen entfernten BadUSB-Angriff durchzuführen. Die Hardware wird schnell und ohne Treiberinstallation erkannt und durch die Steuerung per APP über Bluetooth ist kein tiefgreifenderes Know-how notwendig.

USB Remote App
InputStick – USB Remote App
USB Remote App InputStick – USB Remote App

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.

Interesse am Thema Hacking Hardware?
  • 12.11.2021 (Vortrag) Innentäter: Bedrohungen durch Hacking Hardware, BSI - European Cyber Security Month (ECSM) 2021, Online (weitere Infos)
  • 11.12.2021 (Workshop) Hacking Hardware - Cyber Security Workshop, VDI Zollern-Baar, Albstadt (weitere Infos)

Ü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. 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

Es wurde noch kein Kommentar abgegeben.

Schreibe einen Kommentar!

Hilfe zum Kommentieren

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 oder eine Gefährdung anderer Besucher darstellen, 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 sie haben die Möglichkeit, ein Avatar-Bild zu verwenden. Dazu müssen Sie mit Ihrer E-Mail Adresse bei Gravatar angemeldet sein. 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.