USB-Pentesting: Difference between revisions
| Line 28: | Line 28: | ||
Die zugrundeliegende Skriptsprache DuckyScript V1 zeichnete sich durch ihre Einfachheit aus. Befehle wie <code>STRING</code>, <code>DELAY</code> und <code>ENTER</code> ermöglichten es, komplexe Tastaturabfolgen vorzuprogrammieren. Mit der Einführung des Rubber Ducky Mark 2 und der Sprache DuckyScript V3 wurde das System erheblich erweitert. V3 bietet heute prozedurale Logik, einschließlich Variablen, Bedingungen (<code>IF/THEN/ELSE</code>) und Schleifen (<code>WHILE</code>), was Angriffe ermöglicht, die dynamisch auf das Zielsystem reagieren. |
Die zugrundeliegende Skriptsprache DuckyScript V1 zeichnete sich durch ihre Einfachheit aus. Befehle wie <code>STRING</code>, <code>DELAY</code> und <code>ENTER</code> ermöglichten es, komplexe Tastaturabfolgen vorzuprogrammieren. Mit der Einführung des Rubber Ducky Mark 2 und der Sprache DuckyScript V3 wurde das System erheblich erweitert. V3 bietet heute prozedurale Logik, einschließlich Variablen, Bedingungen (<code>IF/THEN/ELSE</code>) und Schleifen (<code>WHILE</code>), was Angriffe ermöglicht, die dynamisch auf das Zielsystem reagieren. |
||
DuckyScript V1 |
|||
REM My first payload |
|||
DELAY 3000 |
|||
STRING Hello, World! |
|||
ENTER |
|||
<code>REM</code> war für Kommentare, <code>DELAY</code> war ein Zeitlicher Delay <code>STRING</code> war <code>[0-9, a-z, A-Z]</code> und <code>SPECIAL_KEY</code> war ENTER, oder auch die Pfeiltasten |
|||
<code>ttt</code> |
|||
DuckyScript V3 |
|||
## 2.1 SubSubTitel |
## 2.1 SubSubTitel |
||
Mauris sagittis consequat est lacinia accumsan. Vivamus non tempor arcu. |
Mauris sagittis consequat est lacinia accumsan. Vivamus non tempor arcu. |
||
Revision as of 10:07, 27 February 2026
USB-Pentesting: Grundlagen und Gefahren
- Bedrohungslandschaft
Die physische Sicherheit von Computersystemen wird in der modernen Cybersicherheit oft zugunsten von netzwerkbasierten Schutzmaßnahmen vernachlässigt. Somit bergen USB-Geräte in der IT-Security ein nicht geringes Risiko, weil diese vom System grundsätzlich als vertrauenswürdig eingestuft werden. USB-Ports sind omnipräsent und genießen innerhalb moderner Betriebssysteme ein nahezu grenzenloses, implizites Vertrauen. So können manipulierte USB-Sticks oder USB-Kabel beispielsweise als HID (Human Interface Devices) auftreten und fast unbemerkt Befehle an den Rechner senden; -ein Angriffsszenario, das als "BadUSB" bekannt ist. Dabei emuliert ein USB-Gerät z.b. eine Tastatur und gibt automatisiert Tastaturbefehle (Keyboard Injection) ein, etwa um eine Konsole zu öffnen und Malware herunterzuladen oder auszuführen. Da Betriebssysteme einem neu eingesteckten Keyboard per Plug & Play ohne weitere Authentifizierung vertrauen, kann so innerhalb von Sekunden volle Kontrolle über einen Rechner erlangt werden. Dieses Vertrauen basiert auf der historischen Notwendigkeit, Peripheriegeräte wie Tastaturen, Mäuse und Speichermedien ohne langwierige Authentifizierungsprozesse schnell und sofort einsatzbereit zu machen. Bekannte Beispiele für BadUSB sind sogenannte "Lost"-USB-Sticks wie meist der "USB Rubber Ducky", welche beim Einstecken sofort Skripte ausführen.
- 2. Kernproblematik
Die Kernproblematik liegt im sogenannten "Wolf im Schafspelz"-Prinzip: Ein Gerät, das äußerlich wie ein harmloser Speicherstick aussieht, kann gegenüber dem Host-Betriebssystem jede beliebige Identität annehmen (USB standard lässt einen jede beliebige. Besonders kritisch ist hierbei die Klasse der Human Interface Devices. Da das Betriebssystem davon ausgeht, dass eine Tastatur oder Maus direkt von einem autorisierten menschlichen Benutzer bedient wird, werden die von einem solchen Gerät gesendeten Befehle mit der Berechtigung des aktuell angemeldeten Benutzers ausgeführt. Pentesting-Tools wie der Raspberry Pi Zero W mit der Kali Distro P4wnP1 A.L.O.A. nutzen diese fundamentale Designschwäche des USB-Protokolls aus, um automatisierte Angriffe mit einer Geschwindigkeit durchzuführen, die weit über menschliche Fähigkeiten hinausgeht.
- 3. Ziele von BadUSB die sich als HID-Gerät ausgeben
Manipulation von: > C:\Windows\System32\drivers\etc\hosts Ermöglicht Man-in-the-Middle-Angriffe (MitM) auf Lokaler ebene durch manipulation der hosts file. Denn: Die hosts-Datei überschreibt reguläre DNS-Antworten.
Weitere spielerein sind unter anderem:
> SCP Quelle:Ziel | ftp.exe Um Datendiebstahl zu betreiben
Die Evolution der USB-Bedrohungslandschaft
- 1. Ursprung der automatisierten Keystroke-Injektion: *Der Hak5 Rubber Ducky*
Der Grundstein für moderne USB-Angriffe wurde durch den Hak5 Rubber Ducky gelegt. Ursprünglich als einfaches Werkzeug zur Automatisierung von Systemadministratoren gedacht, entwickelte sich das Gerät schnell zum Standard für Penetrationstests. Die erste Generation (Mark 1) nutzte einen 32-Bit Atmel-Mikrocontroller und führte Skripte aus, die auf einer Micro-SD-Karte gespeichert waren.
Die zugrundeliegende Skriptsprache DuckyScript V1 zeichnete sich durch ihre Einfachheit aus. Befehle wie STRING, DELAY und ENTER ermöglichten es, komplexe Tastaturabfolgen vorzuprogrammieren. Mit der Einführung des Rubber Ducky Mark 2 und der Sprache DuckyScript V3 wurde das System erheblich erweitert. V3 bietet heute prozedurale Logik, einschließlich Variablen, Bedingungen (IF/THEN/ELSE) und Schleifen (WHILE), was Angriffe ermöglicht, die dynamisch auf das Zielsystem reagieren.
DuckyScript V1
REM My first payload DELAY 3000 STRING Hello, World! ENTER
REM war für Kommentare, DELAY war ein Zeitlicher Delay STRING war [0-9, a-z, A-Z] und SPECIAL_KEY war ENTER, oder auch die Pfeiltasten
ttt
DuckyScript V3
- 2.1 SubSubTitel
Mauris sagittis consequat est lacinia accumsan. Vivamus non tempor arcu.