Einleitung
Trotz der steigenden Verbreitung von Cloud-Diensten sind USB-Sticks und andere externe Speichermedien immer noch weit verbreitet. Gerade für größere Datensätze bieten sich u.a. USB-Sticks an, um schnell einfach Dateien zu speichern und weiterzugeben. Der Universal Serial Bus (USB) hat sich derweil als Standard etabliert. Somit sind auch USB-Schnittstellen auf einer Vielzahl von Geräten weitverbreitet, leicht zugänglich und können für unzählige Gerätearten, wie z.B. Tastaturen, Webcams sowie Speichermedien, genutzt werden. Meist sind dafür nicht spezielle Treiber notwendig. Sofern jedoch trotzdem Treiber benötigt werden, werden diese meist automatisch installiert und geladen. Eine Useraktion ist somit nicht zwingend erforderlich und falls doch, relativ gewöhnlich. Wie auffällig kann es schon sein, wenn ein USB-Stick an einen Rechner angeschlossen wird? Oder die Bilder der letzten Weihnachtsfeier per USB-Stick weitergegeben werden?
All diese Umstände machen USB-Sticks und USB-Schnittstellen zu einem attraktiven Angriffsziel. Nicht selten konnten Angreifer durch manipulierte USB-Sticks einen initialen Zugang zu z.B. privaten Geräten oder internen Firmennetzwerken erlangen. Die mögliche Gefahren für die Sicherheit von internen Systemen sind dabei unzählig. Ein Bewusstsein über solche Angriffe ist somit sowohl für Privatpersonen, als auch Unternehmen unerlässlich.
Übersicht BadUSB
Angriffe auf USB-Schnittstellen und die Hardware, welche für diese Angriffe verwendet wird, werden häufig unter dem Begriff „BadUSB" zusammengefasst.
Dabei ist für die Durchführung solcher Angriffe nicht zwingend spezielle Hardware erforderlich. Derartige Angriffe sind allein durch Manipulation der Firmware eines USB-Sticks möglich, sofern keine weiteren Schutzmaßnahmen (z.B. Authentisierung der Hardware) getroffen worden sind. Generell können somit alle USB-Geräte betroffen sein, bei welchen es einem Nutzer möglich ist, auf die Firmware schreibend zuzugreifen. Anhand bisher veröffentlichter Dokumente sind jedoch speziell Geräte, welche einen Phison 2251-03 Controller verbaut haben, betroffen. Der USB-Stick wird dabei nicht nur als Speichermedium, sondern auch als HID (Human Interface Device) erkannt. Somit können auf dem PC, an dem der vermeintlich harmlose USB-Stick angesteckt wurde, beliebige Aktionen ausgeführt werden. Von außen ist dabei nicht erkennbar, ob der USB-Stick manipuliert wurde oder nicht oder ob es sich überhaupt um einen “normalen” USB-Stick handelt. Diese sind meist nicht von herkömmlichen Speichermedien zu unterscheiden. Auch ist es für den Benutzer teilweise nur schwer erkennbar, dass ein solcher Angriff erfolgte. In den meisten Fällen zeigt der Computer im Falle einer Kompromittierung keine unmittelbaren Auffälligkeiten. Grund dafür ist die Multifunktionalität von USB-Geräten: Eine Webcam fungiert beispielsweise gleichzeitig als Audioaufnahmegerät über das integrierte Mikrofon und als Bildaufnahmegerät, wobei beide Funktionen über dieselbe USB-Schnittstelle kommunizieren.
Die Internetseite SRLabs stellt eine Auflistung der bekannten Geräte, die zu BadUSBs Umfunktioniert werden können, zur Verfügung (https://opensource.srlabs.de/projects/badusb - aktuell nicht erreichbar. Für die aktuellste Liste siehe den letzten mittels Webarchive gesicherten Stand.).
Während kein klares Gesetz gegen den Besitz oder die explizite Nutzung eines Gerätes mit der “Klassifizierung” BadUSB existiert, ist zu beachten, dass eine (bösartige) Nutzung solcher Geräte, die nicht im Sinne von wissenschaftlichen oder forensischen Untersuchungen, bzw. IT-administrativen Tätigkeiten durchgeführt wird, schnell gegen den Paragrafen §202c StGB verstoßen kann.
Warum und wie sind Angriffe möglich?
Angriffe über USB-Schnittstellen werden ermöglicht, da die Identifikation, um welche Art von USB-Gerät es sich handelt, durch den Host (z.B. PC oder Serversystem) über den Controller des USB-Gerätes vorgenommen wird. Da der Angreifer vor Durchführung des Angriffes die volle Kontrolle über den USB-Stick hat, kann er auch beliebige Änderungen am Controller des USB-Gerätes vornehmen bzw. beliebige Hardwarekomponenten für den Angriff zusammenstellen, sodass dieser als HID erkannt wird.
Abbildung 1: BadUSB
Häufig funktionieren solche Angriffe aufgrund der fehlenden Sensibilisierung der Endnutzer. Die Verwendung von USB-Geräten, gerade USB-Sticks und USB-Daten/Ladekabel, ist für viele Menschen Bestandteil ihresTages- oder Wochenablaufs. Die einfache Handhabung und weitläufige Verbreitung von USB-Geräten macht diese für Angreifer zu einem attraktiven Angriffsziel. Des Weiteren werden Angriffe durch ein Nichtbewusstsein über die Existenz und der potentiellen Gefahren von BadUSB-Angriffen seitens unterschiedlichster Nutzer begünstigt.
Neben manipulierbaren USB-Geräten, die zu BadUSBs umfunktioniert werden können, sind aber auch die explizit für diese Zwecke erstellten BadUSB-Geräte teilweise über gängige und legale Verkaufsportale erhältlich. Speziell für derartige Angriffe konzipierte Hardware bietet neben einer vereinfachten Konfiguration des BadUSBs auch Funktionen wie z.B. eine direkte Interaktion mit dem PC des Opfers über das Remote Desktop Protocol (RDP) an. Bad-USBs können dabei in sämtlichen Formen vorkommen. So gibt es nicht mehr nur spezielle BadUSB-Sticks, sondern unterschiedlichste Geräte, die nun als BadUSB einsetzbar sind (darunter auch Promo-Mäuse, Datenkabel, etc.).
Aufgrund dieser Weiterentwicklungen von BadUSB-Geräten oder dem durch Neugier motiviertem Interesse besteht auch weiterhin die Möglichkeit, dass auch Nutzer, die eine Kenntnis über die Existenz und potentielle Gefahren von BadUSB-Geräten haben, Opfer eines solchen Angriffs werden.
Gadgets
Von BadUSBs, welche speziell für derartige Angriffe entwickelt worden sind, gibt es unterschiedlichste Variationen und Ausprägungen. Jede dieser Varianten hat einen eigenen vordefinierten Funktionsumfang bzw. kann zur Erreichung unterschiedlichster Ziele eingesetzt werden. Diese können sich aber auch mit anderen Varianten teilweise bis vollständig überschneiden. Nicht nur die Funktionen der BadUSBs kann sich komplett unterscheiden, sondern auch das Aussehen. Dabei sind einige BadUSB-Geräte meist kaum bis gar nicht von normalen USB-Geräten unterscheidbar.
Was für Variationen gibt es?
Neben der Möglichkeit, selbst BadUSB-Geräte zu erstellen, gibt es auch Anbieter, die vorgefertigte Variationen an BadUSB-Geräten mit unterschiedlichsten Funktionalitäten anbieten.
Abbildung 2: Rubber Ducky (1) und Bash Bunny (2) von hak5
Rubber Ducky
“To a human it’s a flash drive. To a computer it’s a keyboard, typing at superhuman speeds.”
Mit diesem Spruch bewirbt der Anbieter und Entwickler des Gerätes Hak5 seine “Rubber Ducky” getaufte BadUSB-Variation (siehe Abbildung 2 - Punkt 1).
Mithilfe von diesem Gerät wird es dem Nutzer ermöglicht, an dem angeschlossenen System vorab durch den Besitzer des Rubber Duckys festgelegte Keystrokes bzw. Keystroke-Injections durchzuführen. Indem sich das Gerät als HID präsentiert, wird dieses als solches eingerichtet und wie eine Tastatur eingesetzt.
Mittels der eigens für dieses Gerät entworfenen Scriptsprache “DuckyScript™” kann der Besitzer des Rubber Duckys mit einem beliebigen Texteditor ein durchzuführendes Script erstellen und als .bin-Datei auf dem Rubber Ducky ablegen.
Im Folgenden (siehe Code-Ausschnitt 1) ist ein beispielhafter Script-Code für das Öffnen der Eingabeaufforderung und das anschließende Aufrufen der CMD abgebildet.
1REM Die nächsten drei Zeilen führen einen Befehl aus 2GUI r 3STRING cmd 4ENTER
BashBunny
“When the light turns green, it’s a hacked machine.”
Mittels des sogenannten Bash Bunny’s (siehe Abbildung 2 - Punkt 2) wird es dem Nutzer ermöglicht, unterschiedlichste Payloads, Scans oder andere Angriffe etc. durchzuführen.
Im Gegensatz zu dem RubberDucky bietet der Bashbunny erweiterte Soft- und Hardware-Funktionen an, die über das bloße Ausführen von Scripten und das Imitieren von einem HID (z.B. einer Tastatur) hinausgeht. Je nach Version des Geräts werden dem Nutzer unterschiedlichste Funktionalitäten geboten. Darunter können Optionen, wie ein micro-SD Anschluss zum einfachen Extrahieren von Daten oder Verbindungserweiterungen, die das remote Auslösen von unterschiedlichen (Angriffs-)Schritten u.a. mittels Mobiltelefon ermöglichen, gehören. Auch das Imitieren von mehreren Geräten wie z.B. Tastaturen, Datenspeicher, Ethernet-Adapter ist mittels dieses Tools möglich.
All diese Funktionen sind aufgrund des auf dem Bash Bunny eingerichteten Debian-Betriebssystems mittels DuckyScript™ zu konfigurieren.
Beispielhaft sind folgende Funktionen inklusive Code abgedruckt:
- Gleichzeitiges Imitieren von einer Tastatur und einem USB-Ethernet-Adapter.
ATTACKMODE HID AUTO_ETHERNET
- Durchführen von Keystroke Injections im Dialog
RUN WIN cmd /K color a\& tree c:\\
- Pausieren des Payloads bis vom eigenen Mobiltelefon Bluetooth eingeschaltet wird.
WAIT_FOR_PRESENT my-device-name
- Schickes Rotes Licht?
LED R.
oder doch lieber blau?LED B.
USBNinja
Der USBNinja tarnt sich als simples USB-Kabel (siehe Abbildung 3: USBNinja), ist jedoch neben den normalen Lade- und Datenübertragungsfunktionen auch in der Lage, unterschiedlichste Payloads auf dem angeschlossenen System auszuführen. Das Umschalten von normalen Funktionen, wie Datenübertragung, Laden etc. zu dem Ausführen der vorprogrammierten Aufgaben/Payloads ist mittels drahtloser Fernauslösung (über Smartphone oder Langstreckenantenne) möglich.
Angeboten wird der USBNinja mit unterschiedlichsten Variationen und bietet entsprechend Anschlüsse für USB-C, MicroUSB und Lightning.
Abbildung 3: USBNinja Link
Der USBNinja hat drei unterschiedliche Modi:
- Programmierung In diesem Modus kann der Nutzer die geünschten Funktionen mittels der Standard-Arduino-IDE konfigurieren.
- Einsatz In diesem Modus ist das Gerät an dem Zielcomputer angeschlossen. Ohne dass es in den dritten Modus versetzt wird, kann das Gerät nun für unbegrenzte Zeit zur Übertragung von Daten oder Strom genutzt werden. Wird der Modus mittels Auslöser umgeschaltet, ändert sich die Funktion des USBNinja.
- Ausgelöst Mittels drahtloser Aktivierung (Mobiltelefon: Bluetooth ~7m | Antenne/Fernbedienung ~50m) wird die vorab definierte Funktion/der vorab konfigurierte Payload ausgeführt.
USBKill
Neben den BadUSB-Geräten, gibt es u.a. Geräte, die für das Zerstören von Systemen bzw. den Angriff auf die Verfügbarkeit eines Systems entwickelt wurden. Darunter fällt der sogenannte USBKill (siehe Abbildung 4: USBKill).
Der USBKill wird an das Zielsystem per USB angeschlossen. Anschließend wird die Spannung der intern aufgeladenen/gespeicherten elektrischen Ladung erhöht (z.B. auf knapp 200 Volt) und entlädt sich anschließend mittels Datenleitung an das angeschlossene System. Dies führt in den meisten Fällen zu einer Überlastung bzw. ggf. zur Zerstörung des Systems. Abbildung 4: USBKill Link
Simpel? Ja und nein. Auch die USBKill Geräte haben an Funktionalität dazugewonnen. Von der anfänglichen Funktion kurz nach Anschließen am System, den Angriff durchzuführen, bestehen inzwischen mehrere Funktionen/Optionen für den Angreifer:
- Integrierte, wiederaufladbare Batterien erlauben Offline-Angriffe, bei denen das Zielsystem nichteinmal eingeschaltet sein muss.
- Remote Trigger ermöglichen dem Angreifer einzelne oder wiederkehrende/durchgehende Angriffe mittels remote-Kontrolle von bis zu 100m Entfernung (mittels Fernbedienung oder Apps für Mobilgeräte).
- Timer geben dem Angreifer die Möglichkeit, Angriffe nach einem Zeitplan durchführen zu lassen.
- Magnetische Trigger. Als Zusatz zum USBKill können u.a. magnetische tragbare Ringe verwendet werden, die es dem Angreifer ermöglichen, das Gerät mittels magnetischem Signal zu aktivieren.
- Klassischer Modus. Direktes aktivieren des Angriffs bei Anschluss ins System.
- Single Pulse: Es wird ein einziger Puls, bestehend aus 5 Entladungen, ausgesendet.
- Continuous Pulse: Es werden dauerhaft Pulse (Entladungen) ausgesendet, bis das Gerät gestoppt wird.
Ein USBKill wird zwar auch als gefährliches USB-Gerät eingestuft, ist jedoch aufgrund seines grundsätzlichen Verwendungsziels (der Zerstörung/Überlastung der angeschlossenen Systeme durch elektrische Spannung) nicht als klassischer BadUSB einzustufen, welcher als grundsätzliche Ziele den Datendiebstahl, KeystrokeInjections, Malwareinstallation etc. hat.
Mögliche Folgen eines BadUSB-Angriffs
Durch die Verwendung von BadUSB-Geräten können Angreifer Zugriff zu einzelnen Systemen oder ganzen Netzwerken erhalten und unterschiedliche Handlungen in diesen durchführen. So kann es im Verlauf einer solchen Kompromittierung von einem oder mehreren Systemen von simplen Datenverlusten bis hin zur vollständigen System-/Netzwerkübernahme durch den Angreifer kommen.
Schutz?
Die technische Erkennung von BadUSB-Angriffen stellt eine besondere Herausforderung dar, da die Systeme USB-Geräte ausschließlich anhand des Controllers identifizieren. Erweiterte Sicherheitsprüfungen zur Verifizierung der Geräteauthentizität, um z.B. Manipulationen an der Software des USB-Gerätes festzustellen, sind meist nur in modernen Systemen implementiert - bei älteren Systemen werden diese aus Gründen der Benutzerfreundlichkeit und Kostenaspekten häufig vernachlässigt. Im Falle von speziell dafür zusammen gestellter Hardware ist eine Erkennung z.T. nicht hundertprozentig möglich.
Aufgrund der Tatsache, dass der Schadcode der BadUSB-Geräte sich in für das Betriebssystem unzugänglichen Bereichen befindet, können diese auch meist nicht durch Anti-Viren-Programme überprüft werden. Eine schädliche Aktion ist also meist nur nach Infektion des Systems erkennbar. Allgemein sollte eine achtsame Nutzung von fremden USB-Geräten durch den Endnutzer stattfinden. Stellt man ein bösartiges Gerät fest , sollte das Gerät vom System entfernt, gekennzeichnet und sicher abgelegt werden. Bisher besteht wohl keine automatisierte Bereinigungsmöglichkeit betroffener Systeme.
Derartige Angriffe können auch durch technische Maßnahmen, z.B. durch Einschränkungen der Verwendung von USB-Geräten, erschwert werden. Hierbei ist eine Balance zwischen Sicherheit und Nutzerfreundlichkeit jedoch schwieriger umzusetzen, so dass Geschäftsprozesse nicht blockiert werden.
Wie werden solche Geräte für mögliche Angriffe verwendet?
Beispiel: Cybercriminal Group FIN7 versendet BadUSBs
Seit August 2021 stellte das FBI fest, dass die bekannte Cyberkriminellen-Gruppe “FIN7” an unterschiedlichste Firmen, jedoch besonders im Transport- und Versicherungsbereich, USB-Geräte per Post versendete, welche die Payloads der FIN7 Malware verteilen sollten. Dabei wurden die USB-Geräte in folgenden Variationen versendet:
- Health and Human Services (HHS) Als Versender soll vermeintlich das US Department of Health and Human Services (HHS) verantwortlich sein und dem Empfänger einen USB-Stick mit Informationen zu den bestehenden COVID-19 Richtlinen übersenden.
- Amazon-Gutschein Als Versender soll Amazon dem Empfänger eine Geschenkbox mit einem Danksagungsbrief, einer gefälschten Gutscheinkarte und einem USB-Stick übersenden (siehe Abbildung 5. Amazon Gutschein).
Abbildung 5: Amazon Gutschein mit beigelegtem BadUSB-Stick Link
Bei den in diesen Paketen versendeten USB-Geräten handelt es sich um BadUSBs mit vorab konfigurierten Payloads.
Wird ein so übersendetes USB-Gerät an einem Computer angeschlossen, registriert es sich als HID. Anschließend wird mittels Keystroke-Injections die Kommandozeile bzw. Powershell geöffnet und der Download und die anschließende Installation eines durch “FIN7” kontrollierten Malware Payloads durchgeführt.
Anschließend meldet sich das nun infizierte System bei durch “FIN7” gehosteten Domains oder IPs. Die Angreifer konnten ausgehend von diesem System Informationen über das Netzwerk sammeln und sich lateral durch dieses bewegen, bis sie administrative Berechtigungen erhalten haben. Von diesem Punkt aus nutzten die Angreifer unterschiedlichste Tools, wie z.B. Cobalt Strike, Carbanak, GRIFFON, Metasploit etc., und verteilten Ransomware wie BlackMatter und REvil im Netzwerk, um sich eine persistente Backdoor zum Firmennetzwerk einzurichten und ausgehend von diesem weitere Systeme angreifen zu können.
Darüber hinaus sind auch weniger professionell und zielorientierte Angriffe möglich. Dabei kann es für Angreifer ausreichen, BadUSB-Geräte wie z.B. USB-Sticks oder BadUSB-Ladekabel an öffentlichen Orten wie z.B. Flughäfen zu platzieren. Unwissende Finder könnten diese Geräte benutzen und treten so in die Falle des Angreifers.
Neben der Verwendung von BadUSB mit krimineller Motivation können solche Geräte im Bereich der IT bzw. gerade im Bereich der IT-Forensik und IT-Sicherheit verwendet werden um, z.B. im Rahmen eines On-Premise-Penetrationstests um mögliche Angriffsvektoren aufzuzeigen.
Zusammenfassung
Aufgrund der einfachen Ausnutzung derartiger Angriffe, ist die Gefahr Opfer eines Angriffs zu werden, sehr hoch. Auch Laien können speziell dafür hergestellte Hardware nutzen, um in Unternehmen einen großen Schaden anzurichten. Da es fast unmöglich ist, die generelle Nutzung von USB-Geräten zu untersagen ist der größte Schutz vor diesen Angriffe eine ausreichende Schulung der Endanwender, bzw. der Mitarbeiter.
Gerade beim Umgang mit USB-Geräten die z.B. per Paket zugesendet oder auf der Straße o.ä. gefunden werden, sollte der Nutzer mehrfach darüber nachdenken, ob er diese Geräte tatsächlich an seine Systeme anschließen möchte.
Es empfiehlt sich, dass keine fremden USB-Geräte verwendet , oder diese zumindest vorher überprüft werden. Außerdem besteht die Möglichkeit, strenge Gruppen- und Sicherheitsrichtlinien in den verwendeten Systemen zu erstellen, die zumindest das Anschließen von externen Medien bzw. auch HIDs einschränken.
Quellen
- https://opensource.srlabs.de/projects/badusb
- https://opensource.srlabs.de/projects/badusb/wiki/USB_storage
- https://www.itsb.ruhr-uni-bochum.de/themen/badusb.html
- https://scheible.it/vortrag-live-hacking-badusb-angriffe_vdi-zollern-baar/
- https://shop.hak5.org/products/bash-bunny?variant=31762455429233
- https://www.csoonline.com/article/3494717/was-ist-badusb.html
- https://www.hub24.de/blog/badusb/
- https://www.dr-datenschutz.de/badusb-wenn-usb-sticks-angreifen/
- https://lab401.com/de-de/products/usbninja
- https://usbkill.com/products/usbkill-v4?variant=32836117397586
- https://www.bankinfosecurity.com/fin7-targets-us-enterprises-via-badusb-a-18278
- https://www.databreachtoday.asia/fbi-cybercrime-gang-mailing-badusb-devices-to-targets-a-14029
- https://www.iiisci.org/journal/pdv/sci/pdfs/ZA340MX17.pdf
- https://dd80b675424c132b90b3-e48385e382d2e5d17821a5e1d8e4c86b.ssl.cf1.rackcdn.com/external/mu-000160-mw.pdf
- https://botfrei.de/badusb-im-eigenbau/
- https://www.nzz.ch/digital/badusb-stick-adam-caudill-und-brandon-wilson-ld.759172
- https://github.com/brandonlw/Psychson
Dein Job bei codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Blog-Autor*innen
Robin
IT-Security Consultant
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Finn
IT-Security Consultant
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.