
USB Army Knife – das ultimative Close-Access-Tool für Penetrationstester und Red Teams.
🚀 USB Army Knife v2 ist in Arbeit – und es wird ein Biest
Nach zwei Jahren aktiver Entwicklung an v1 ist geplant, das USB Army Knife in eine vollwertige Red-Team-Plattform für deine Hosentasche zu verwandeln. Eine große Ankündigung kommt diesen Sommer, aber ich wollte schon einmal einen Vorgeschmack geben:
- Brandneue Weboberfläche – kleiner, schneller, eleganter & mehrsprachig, mit einem integrierten VNC-Viewer, um das Ziel direkt aus deinem Browser zu beobachten und zu steuern. Sie wird im Gegensatz zu heute nicht an bestimmte Web-Tools gebunden sein, sodass jeder sie ändern kann.
- Neue UAK-Scripting-Engine – DuckyScript-v3-kompatibel, geht aber mit vollständiger String- und Rückgabecode-Unterstützung weit über das hinaus, was DuckyScript 3 kann. Das macht das Schreiben von ordentlicheren und robusteren Payloads viel einfacher.
- Neuer plattformübergreifender Agent für Windows, Linux und macOS – Live-VNC, Mikrofonaufnahme und vielleicht sogar Netzwerkzugriff über die serielle USB-Verbindung.
- Viele neue Fähigkeiten – Brandneue Funktionen in den Bereichen Netzwerk, Dateien, Captive Portal, Bluetooth und vielen mehr! USB 2.0 für höheren Durchsatz mit Schreibschutz- und Lese-/Schreib-Containern!
- KI-bereit – ein MCP-Server mit einem echten UAK-Skript-Validator, damit deine KIs Payloads schreiben und prüfen können, bevor sie auf dem Gerät landen.
Das ist nur ein Vorgeschmack, und es gibt noch SEHR viel zu tun! Aber ich hoffe, dass v2 aus dem UAK einen winzigen Stick macht, der sich selbst skriptet, sein Ziel auswählt, das Gerät steuert, den Raum belauscht und vielleicht sogar mit seinen Geschwistern sprechen kann...
Kompakt und vielseitig, bietet dieses Gerät eine beeindruckende Palette an Fähigkeiten, darunter USB-HID-Angriffe, Massenspeicher-Emulation, Nachahmung von Netzwerkgeräten und WiFi/Bluetooth-Exploits (dank unserer Fork-Version von ESP32 Marauder).
Volle Kontrolle darüber, wie und wann deine Payloads ausgeführt werden. Einstecken und ausführen, zurücklassen und über WiFi auslösen, per Timer starten oder eine Hollywood-artige Benutzeroberfläche bauen. Verwalte und starte deine Angriffe mühelos nur mit einem Telefon über eine benutzerfreundliche Bootstrap-Weboberfläche.
Du willst mehr? Setze den Agenten ein und führe Befehle aus, selbst wenn der Rechner gesperrt ist. Die Arbeit über die serielle Schnittstelle ist als Egress unglaublich schwer zu erkennen. Du kannst sogar den Bildschirm des Opfers über die dedizierte WiFi-Verbindung des Geräts ansehen.
Rüste dich mit dem USB Army Knife aus und bringe dein Local-Access-Werkzeugset auf die nächste Stufe.
„Ihr Gerät ist böse. Sie tun Böses." - Mr. Peoples via X
Es gibt heute ein Problem mit Physical-Access-/USB-Angriffen. Für sich genommen liefert jeder Angriff keine ausreichende Lösung, um die meisten Ziele zu erreichen.
Was gebraucht wurde, ist eine Physical-Access-Plattform, die es einem geeigneten Schurken ermöglicht, die besten Teile jedes Angriffs zu nehmen und ihre jeweiligen Probleme mit einem anderen Angriff zu umgehen. Idealerweise wäre diese Plattform so billig und verdeckt, dass der Verlust eines Geräts kein Problem darstellen würde.
Deshalb habe ich beschlossen, das USB Army Knife zu entwickeln.
Dieses Video zeigt, wie der ultimative Rick Roll funktioniert
https://github.com/user-attachments/assets/f373e18e-5cad-4871-9f2a-17523fa33398
Dieses Video zeigt die USB-PCAP-Funktionalität und gibt einen kurzen Blick auf die Weboberfläche
https://github.com/user-attachments/assets/0d5b1485-b808-46c6-aaf7-7cf016088b8f
https://github.com/user-attachments/assets/3c866d29-ef26-4eaf-943b-1206b8c40101
Dieses Projekt setzt eine Vielzahl von Angriffen um, die auf einem leicht versteckbaren USB/WiFi/BT-Dongle basieren. Zu den Angriffen gehören das Senden von BadUSB (USB-HID-Befehle mit DuckyScript), das Erscheinen als Massenspeichergeräte, das Erscheinen als USB-Netzwerkgeräte sowie WiFi- und Bluetooth-Angriffe mit ESP32 Marauder. Angriffe werden mit einer Ducky-ähnlichen Sprache eingesetzt, die du wahrscheinlich bereits kennst und liebst. Diese Sprache wurde um eine Vielzahl eigener Befehle und sogar die gesamte (verbesserte) ESP32-Marauder-Fähigkeit erweitert. Zu den Angriffen gehören:
Zuerst bitte im Wiki nach einer Schritt-für-Schritt-Anleitung und allerlei Ratschlägen für den Einstieg schauen.
Es gibt zwei Möglichkeiten, die USB-Army-Knife-Firmware auf dein Gerät zu bringen:
Geräte auf ESP-S2-Basis haben WiFi-Unterstützung, aber keine Weboberfläche. Angriffe werden über DuckyScript-Dateien verwaltet. RP2040-Geräte haben keine ESP32-Maurader-Fähigkeit
Es gibt keinen Grund, warum das USB Army Knife nicht auch im USB-Host-Modus arbeiten kann. Das ist derselbe Modus, in dem ein Computer arbeitet. Auf diese Weise kann das USB Army Knife Befehle ausgeben, als wäre es ein Computer. Da die meisten Smartphones PTP (Picture Transfer Protocol) unterstützen, könntest du theoretisch ein USB Army Knife (mit einem USB-Adapter) in ein Telefon stecken und die Fotos davon abziehen lassen.
Espressif hat eine Dokumentation für den USB-Host-Modus und auch Beispielcode. Sie haben kein Beispiel für das PTP-Protokoll. Du kannst mit USB PCAP einen PCAP deines Telefons über PTP erfassen; es gibt sogar einen WireShark-Dissector
Beiträge sind willkommen! Bitte forke das Repository und reiche einen Pull Request ein.
Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die LICENSE-Datei für Details.
| Name | Beschreibung |
|---|
| Verdeckter Speicher | Beispiel, das zeigt, wie man sich als zwei verschiedene USB-Massenspeichergeräte ausgeben kann. Beim ersten Einstecken erscheint das Gerät mit dem vollständigen Inhalt der Micro-SD-Karte. Bei allen weiteren Versuchen erscheint ein anderes ‚harmloses‘ Laufwerk. |
| Fortschrittsbalken | Auf dem LCD-Bildschirm des Geräts werden Bilder mit einem Fortschrittsbalken angezeigt. Ideal für Hollywood-artige Angriffe oder wenn du eine visuelle Anzeige möchtest, dass ein Angriff ausgeführt wurde. |
| Ultimativer RickRoll | Setzt Tastendrücke ein, um das berühmte Rickroll-Video anzuzeigen, nutzt aber auch ESP32 Marauder, um den Liedtext über WiFi zu senden. |
| USB Ethernet PCAP | Verwandelt das Gerät in einen USB-Netzwerkadapter und erfasst einen PCAP der ersten Sekunden des Netzwerkverkehrs. |
| Den seriellen Agenten einsetzen | Setzt den Agenten ein, falls er noch nicht installiert ist, und sendet Befehle über die serielle Schnittstelle. Die Befehlsausgabe kann in der Weboberfläche angezeigt werden. |
| Den Bildschirm übertragen | Setzt den Agenten ein; der Agent enthält einen winzigen VNC-Server. So kann der Bildschirm über die Weboberfläche angezeigt werden. |
| Einfache Benutzeroberfläche | Eine einfache, aber leistungsfähige Benutzeroberfläche zum Auswählen von Skripten/Bildern und Ausführen über den Hardware-Button. Zeigt, wie du komplexe UI-Interaktionen einfach aufbauen kannst. |
| Mikrofon-Audio über WiFi streamen | Das M5Stack AtomS3U verfügt über ein Mikrofon, das du über WiFi streamen kannst. |
| Linux-Rechner sofort zum Absturz bringen | Setze ein defektes Dateisystem ein, das bei Linux-Rechnern mit Automount eine Kernel-Panik auslöst. |
| Bösartiges USB-CDROM/NIC | Gib vor, ein USB-NIC zu sein, das einen Treiber von einem CDROM-Gerät benötigt, das erscheint, sobald du die NIC einsteckst. |
| Verschiedene Tastaturlayouts verwenden | Unterstützt automatisch verschiedene Tastaturlayouts, ohne deine Payloads umschreiben zu müssen. |
| Hardware | Unterstützt | Kauf-Links |
|---|
LilyGo T-Dongle S3 (Empfohlen)![]() | Das LilyGo T-Dongle S3 ist ein ESP32-S3-Entwicklungsboard in Form eines USB-Sticks. Es verfügt über ein farbiges LCD-Display, einen physischen Button, einen versteckten/verdeckten Micro-SD-Kartenadapter (im USB-A-Stecker) sowie einen SPI-Adapter. Es hat 16 MB Flash. Es basiert auf dem ESP32-S3-Chipsatz, der es ermöglicht, einen WiFi-Zugangspunkt zu hosten und eine Reihe von WiFi- und Bluetooth-Angriffen zu unterstützen. Es ist unglaublich günstig! Es gibt zwei Versionen dieses Geräts, mit und ohne Display. Nur die Version mit Display wurde getestet. | |
Evil Crow Cable Wind ![]() | Das Evil Crow Cable Wind ist ein bösartiges implantiertes USB-Kabel mit einem darin versteckten ESP32-S3; es gibt ein paar verschiedene Varianten. Ein Ende kann für aktive USB-Angriffe verwendet werden, während das andere zum Aufladen eines Geräts gedacht ist. Sein einzigartiges Design macht es zu einem der verdecktesten Geräte, die USB-Army-Knife-fähig sind. Aus diesem Grund hat das Gerät kein Display, keine SD-Karte, keine LEDs und keinen guten Hardware-Button (es gibt einen im Inneren, der einen Magneten erfordert). Anstelle einer SD-Karte wird Flash-Speicher zum Ablegen von Dateien verwendet. HINWEIS Es ist zwar möglich, einen drahtlosen Zugangspunkt auf diesen Geräten zu betreiben, aber das Gerät kann sehr heiß werden. Um dem entgegenzuwirken, unterstützt USB Army Knife thermische Drosselung und schaltet WiFi ab, wenn das Gerät überhitzt. Um dieses Problem vollständig zu vermeiden, solltest du dich mit einem bestehenden drahtlosen Netzwerk verbinden (anstatt einen Zugangspunkt zu hosten) oder WiFi deaktivieren – dann überhitzt das Gerät nicht. Dieses Gerät hat spezielle Installationsanweisungen | |
T-Watch S3 ![]() | Das T-Watch S3 ist eine Smartwatch-Plattform mit einer Menge eingebauter Hardware, darunter Display, WiFi, Echtzeituhr, Mikrofon, Beschleunigungssensor, Infrarot, haptisches Feedback und ein LoRa-Transceiver. Vieles davon wird bereits von der USB-Army-Knife-Plattform unterstützt. Die Krone der Uhr fungiert als Button, und es gibt einen Mini-USB-Port zum Laden / für HID-Angriffe. Da die Uhr auf dem ESP32-S3-Chipsatz basiert, kann sie einen WiFi-Zugangspunkt hosten und eine Reihe von WiFi- und Bluetooth-Angriffen unterstützen. Wichtig: Sie hat keinen SD-Kartenslot; es wird Flash-Speicher zum Ablegen von Dateien verwendet. Daher sind Angriffsskripte und alle Ergebnisse auf ~10 MB begrenzt. Das Flashen dieser Plattform ist etwas komplexer – schau ins Wiki für Anleitungen, wie du dein Gerät zum Laufen bringst. Dieses Gerät hat spezielle Installationsanweisungen | |
Waveshare ESP32-S3 1.47inch ![]() | Dieses Gerät ähnelt dem LilyGo T-Dongle S3 in Design, Größe und Funktionen und verwendet denselben Chipsatz. Es ist eindeutig ein Entwicklungsboard, da es ohne Gehäuse geliefert wird und auf der Unterseite freiliegende Schaltkreise hat. Wo dieses Gerät dem T-Dongle S3 überlegen ist: Es hat ein sehr großes, hochwertiges Display und 8 MB zusätzlichen RAM. | |
M5Stack AtomS3U ![]() | Dies ist ein ESP32-S3-Entwicklungsboard mit zwei externen Schnittstellen auf der Rückseite. Es hat kein Display und keine SD-Karte, aber eine LED und einen Button. Anstelle einer SD-Karte wird der Flash-Speicher zum Ablegen von Dateien verwendet. Ungewöhnlicherweise enthält es außerdem ein digitales Mikrofon und eine IR-LED, die derzeit nicht unterstützt werden. Um das Gerät in den Boot-Modus zu versetzen, halte RESET (den Button an der Seite des Geräts) gedrückt, bis eine grüne LED aufleuchtet. | |
ESP32 Udisk ![]() | Das einfachste Gerät, das den USB-Army-Knife-Code ausführen kann, ist ein ESP32-S2-Chip, der an einen USB-Port angeschlossen ist. Oft findet man diese in sehr ähnlichen Gehäusen wie das T-Dongle S3; sie werden auf Seiten wie AliExpress oft als Playstation-4-Jailbreaks unter dem Namen ‚USB Dongle Udisk for P4‘ beworben. Diesen Geräten fehlen RAM, ein Display, SD-Karte, Bluetooth, LEDs und ein guter Hardware-Button. Anstelle einer SD-Karte wird Flash-Speicher verwendet, um kleine Dateien abzulegen. Diese Geräte sind unglaublich günstig und oft gut geeignet, um HID+WiFi-Payloads (wie den Rick Roll) auszuführen. Warnung Sie sind zu schwach für den Webserver. Beim Kauf Vorsicht: Sie können leicht mit einem sehr ähnlich aussehenden Gerät verwechselt werden, das einen CH343P-Chipsatz und keinen Reset-Button enthält. Stelle sicher, dass das Gerät, das du kaufst, einen Button hat, der mit einer Büroklammer gedrückt werden kann. Stelle sicher, dass du dieses Gerät mit der Generic-ESP32-S2-Konfiguration flashed. | |
Pocket-Dongle-S3 ![]() | Ein Gerät, das dem LilyGo T-Dongle S3 sehr ähnlich sieht, aber mit einem anderen Formfaktor bei SD-Karte und Button. Das Gerät hat keine LED und keinen QWIIC-Schnittstellenslot. Intern verwendet dieses Gerät die ältere SD-Karten-Schnittstelle, daher sind langsame Übertragungsgeschwindigkeiten zu erwarten. | |
ESP32 Key ![]() | Sehr ähnlich zum ESP32 UDisk (für eine Liste der Dinge, die es nicht kann, siehe bitte diese Beschreibung) ist dies ein ESP32-S2 auf einer Platine. Es ist wahrscheinlich das günstigste Gerät, das USB Army Knife gerade so ausführen kann, und hat einen passenden Preis. Du musst den Button gedrückt halten, während du es einsteckst, um das Gerät in den Flash-Modus zu versetzen. Stelle sicher, dass du dieses Gerät mit der Generic-ESP32-S2-Konfiguration flashed. | |
Waveshare-ESP32-GEEK ![]() | ESP32-GEEK ist ein Entwicklungsboard von Waveshare. Es hat USB-A, ein 1,14-Zoll-LCD-Display, eine SD-Karte und externe Ports (SWD, UART und I2C); eine LED hat es nicht. Halte den Button gedrückt, während du es einsteckst, um das Gerät in den Flash-Modus zu versetzen. Dieses Gerät hat einige SD-Karten-Probleme (Kompatibilität und niedrige Geschwindigkeit). Möglicherweise musst du 8-GB-Partitionen verwenden und ein paar Kartenmarken ausprobieren, um etwas Kompatibles zu finden (bei mir funktionierte eine Kingston-64-GB-Karte mit einer 9-GB-Partition, deine Erfahrung kann abweichen). | |
Waveshare-RP2040-GEEK ![]() | RP2040-GEEK ist ein Entwicklungsboard von Waveshare. Es hat USB-A, ein 1,14-Zoll-LCD-Display, eine SD-Karte und externe Ports (SWD, UART und I2C). Dieses Board läuft nicht mit dem ESP32-Chipsatz. Der USB-Ethernet-Modus (NCM) und die Nutzung der gesamten SD als Festplatte werden derzeit beide nicht unterstützt. ESP32 Maurader kann auf diesem Gerät nicht funktionieren! Unter Windows musst du das Gerät möglicherweise auch so einstellen, dass es einen WinUSB-Treiber verwendet, und zwar mit Zadig. Halte den Button gedrückt, während du es einsteckst, um das Gerät in den Flash-Modus zu versetzen. |