Dynamische Analyse von Android Apps
Ralph Meier
Flipper Zero ideal für Angriffe per eingesetzte kabellose Peripherie
Der Einsatz von kabellosen Tastaturen bringt eine erhöhte Angriffsfläche mit sich und je nach System sind öffentlich bekannte Schwachstellen vorhanden, zum Beispiel ist die Logitech Unify-Technologie von der Schwachstelle CVE-2019-13055 betroffen. Darin geht es um die Aufzeichnung des AES-Schlüsselmaterials bei der Erstkopplung eines Logitech Unify-Geräts mit einem Unify-Adapter und die Entschlüsselung der anschliessend getippten Zeichen.
MouseJack ist eine Sammlung von Schwachstellen, welche das Injizieren von Tastatureingaben und das Umgehen von Verschlüsselung beinhaltet. Offiziell wird MouseJack als CVE-2016-10761 gelistet. Eine Vielzahl von kabellosen Tastaturen und Mäusen, die über die Frequenz 2.4GHz kommunizieren, sind davon betroffen. Peripheriegeräte, die ausschliesslich über Bluetooth kommunizieren sind davon ausgeschlossen. Es liegt jedoch nicht primär an der eingsetzten Funkfrequenz, sondern am eingesetzten Chip im Empfänger, welcher an den Computer angeschlossen wird. Die Schwachstelle wurde von der Firma Bastille im Jahr 2016 entdeckt, sie listet auf ihrer Webseite auch betroffene Geräte mit Hersteller Statements und eine Behebung der Schwachstelle, wo es möglich ist, auf. Das Patchen des betroffenen Geräts ist jedoch nicht gerade einfach.
Jeder Hersteller ist selbst für die Kommunikation und die eingesetzte Security beim Pairing sowie der Übertragung zuständig. Bei einer Mausbewegung oder während dem Tippen werden die getätigten Bewegungen beziehungsweise Anschläge mittels Pakete, die genaue Umsetzung ist jedoch Hersteller abhängig, an den Wireless Empfänger am Computer übermittelt. Im Normalfall werden die getätigten Eingaben des Benutzers verschlüsselt Übertragen. Der Schlüssel wird dabei beim initialen Pairing zwischen Eingabegerät und Wireless Empfänger festgelegt. Die Verschlüsselte Übertragung verhindert das einfache Abhören von fremden Eingaben.
Die getesteten Unify-Adapter, welche von der oben genannten MouseJack Schwachstelle betroffen waren, wurden zwar initial gepairt geliefert, konnten aber selbständig mit neuen Mäusen oder Tastaturen verbunden werden. Demnach machte es keinen Unterschied, ob der Unify-Adapter ausschliesslich mit einer Maus, einer Tastatur oder mit beiden gepairt war. Dies lässt daraus schliessen, dass beim ausschliesslichen Einsatz einer Maus nicht überprüft wird, ob die erhaltenen Befehle auch ausschliesslich Mausbewegungen oder das Betätigen von Maustasten sind. Daher ist es auch möglich beim Einsatz einer Funkmaus ungewollte Tastatureingaben auf dem Zielsystem vorzunehmen.
Bei der ursprünglichen Entdeckung der MouseJack Schwachstellen von Bastille wurde festgehalten, dass die meisten Hersteller die getätigten Tastatureingaben verschlüsseln, die Unify-Adapter jedoch nicht überprüfen, ob alle empfangen Benutzereingaben verschlüsselt sind. Beziehungsweise die Eingaben auch in unverschlüsselter Form entgegengenommen werden. Dies vereinfacht den Vorgang für Angreifer enorm, da sie sich nicht um den eingesetzten Schlüssel kümmern müssen, sondern lediglich die genaue Unify-Adapter-Adresse benötigten, um den gewünschten Payload zu versenden. Ein Pairing zwischen dem Gerät vom Angreifer und dem Unify-Adapter ist ebenfalls nicht nötig.
Da im Inspirationsvideo, welches zu diesem Artikel führte, ein Flipper Zero eingesetzt wurde, war das Ziel diesen Angriff nachzubauen. Der eigentlich Angriff wird jedoch vom NRF24L01+ Wireless-Funkmodul durchgeführt, der Flipper Zero übernimmt lediglich die Steuerung des Funkmoduls.
Als Testsetup wurde ein Windows Notebook mit einem Logitech Unify-Adapter und einer Logitech M525 Maus sowie später einer Logitech K800 Tastatur eingesetzt. Um den Angriff auszuführen, wurde ein Flipper Zero mit einem NRF24L01+ Wireless-Funkmodul, das via GPIO-Pins verbunden war, eingesetzt. Als Firmware auf dem Flipper Zero kam ein Fork der Flipper Firmware von RogueMaster zum Einsatz, dies weil da die notwendigen Scripts für den Betrieb des NRF24L01+ Wireless-Funkmoduls über die GPIO-Pins bereits vorhanden sind.
Die Verkabelung zwischen Flipper Zero und NRF24L01+ Wireless-Funkmodul wurde nach dem verlinkten Schema umgesetzt. Nach der Verkabelung sah dies wie in der Darstellung abgebildet aus.
Nach dem Verbinden über die GPIO-Pins kann die Adresse des Unify-Adapters mit dem NRF24 Sniffer Script herausgefunden werden und danach mit dem NRF24 MouseJack Script angegriffen werden. Das MouseJack Script fragt beim Start um ein Ducky Script als Payload, welches ausgeführt wird und die Tastatureingaben unverschlüsselt an den Unfiy-Adapter schickt.
Es kann zum Beispiel folgendes Ducky Script verwendet werden:
DELAY 1000 GUI r DELAY 500 STRING http:\\www.scip.ch DELAY 500 ENTER
Ducky Scripts werden im Artikel Angriffe über Peripheriegeräte genauer erläutert.
Durch die geringe Grösse des Flipper Zeros ist ein Angriff auf kabellose Peripheriegeräte beziehungsweise deren angeschlossenen Computer oder andere Ziele, welche eine gewisse physische Nähe benötigen, einiges einfacher umzusetzen. Der Flipper Zero passt nämlich auch mit Zusatzmodul oder dem oben gezeigten Wireless-Funkmodul problemlos in eine Jacken- oder Umhängetasche. Dadurch ist er bei einem Angriff mit physischer Nähe deutlich unauffälliger. In einem Grossraumbüro, in welchem mehrere Personen kabellose Peripherie einsetzen, die von MouseJack Schwachstellen betroffen sind, ist die Wahrscheinlichkeit für einen unscheinbaren, erfolgreichen Angriff sehr hoch.
Kabellose Geräte bringen eine höhere Angriffsfläche mit sich, sollten daher stehts auf dem aktuellen Firmwarestand gehalten werden und in sensitiven Bereichen sollte für den Dauerbetrieb eine kabelgebundene Tastatur und Maus vorgezogen werden. Die MouseJack Schwachstellen sind zur Zeit dieses Artikels bereits über sieben Jahre alt und bei der Prüfung von Geräten im eigenen Umfeld stehts präsent und ausnutzbar. Ebenfalls werden zum Zeitpunkt dieses Artikels weiterhin neue Geräte mit verwundbarem Logitech Unify-Adapter verkauft. Durch den geringen Formfaktor des Flipper Zeros und die Unterstützung einer Vielzahl von Funkfrequenzen, sowie der einfachen Erweiterbarkeit über die GPIO-Pins, eignet sich das Gerät perfekt für Angriffe auf kabellose Ziele mit notwendiger physischer Nähe zum Zielgerät.
Unsere Spezialisten kontaktieren Sie gern!
Ralph Meier
Ralph Meier
Ralph Meier
Ralph Meier
Unsere Spezialisten kontaktieren Sie gern!