USB Army Knife – das ultimative Close-Access-Tool für Penetrationstester und Red Teams.
🚀 USB Army Knife v2 zieht gerade – und es wird ein Biest
Nach zwei Jahren aktiver Entwicklung an v1 ist geplant, dass v2 das USB Army Knife in eine vollwertige Red-Team-Plattform für die Hosentasche verwandelt. Eine große Ankündigung kommt diesen Herbst, aber ich wollte schon einmal einen Vorgeschmack geben:
Ein Großteil dieser Arbeit ist inzwischen abgeschlossen, und ich war damit beschäftigt, mit Hardware zu arbeiten, die leistungsstark genug ist, um diese neue Plattform auszuführen. Klar ist, dass der Dongle, mit dem dieses Projekt begann, die neueren V2-Funktionen nicht bewältigen kann. Aber ich persönlich liebe sein Formfaktor. Was ich sicher weiß, ist, dass v2 aus UAK einen winzigen Stick machen wird, der sich selbst scriptet, sein Ziel auswählt, das Gerät steuert, den Raum hört und vielleicht sogar mit seinen Geschwistern sprechen kann...
Kompakt und vielseitig – dieses Gerät hat es in sich mit seinen umfangreichen Fähigkeiten, darunter USB-HID-Angriffe, Massenspeicher-Emulation, Netzwerkgeräte-Imitation und WiFi/Bluetooth-Exploits (dank unserer geforkten Version von ESP32 Marauder).
Volle Kontrolle darüber, wie und wann deine Payloads ausgeführt werden. Einstecken und ausführen, zurücklassen und per WiFi auslösen, per Timer starten oder eine Hollywood-artige UI aufbauen. Verwalte und starte deine Angriffe mühelos nur mit einem Telefon über eine benutzerfreundliche Bootstrap-Weboberfläche.
Mehr wollen? Setze den Agenten ein und führe Befehle aus, selbst wenn die Maschine gesperrt ist. Die Arbeit über die serielle Schnittstelle ist extrem 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 lokales Zugriffs-Toolkit auf die nächste Stufe.
„Dein Gerät ist böse. Du tust Böses.“ – Mr. Peoples via X
Es gibt heute ein Problem mit physischen Zugriffs-/USB-Angriffen. Für sich allein genommen liefert jeder Angriff nicht genug Lösung, um die meisten Ziele zu erreichen.
Was gebraucht wurde, war eine Plattform für physischen Zugriff, 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 wäre.
Deshalb habe ich mich entschieden, das USB Army Knife zu entwickeln.
Dieses Projekt implementiert eine Vielzahl von Angriffen rund um einen leicht versteckbaren USB/WiFi/BT-Dongle. Die Angriffe umfassen das Senden von BadUSB (USB-HID-Befehle mit DuckyScript), das Erscheinen als Massenspeichergerät, das Erscheinen als USB-Netzwerkgerät sowie die Durchführung von WiFi- und Bluetooth-Angriffen mit ESP32 Marauder. Angriffe werden mit einer Ducky-ähnlichen Sprache bereitgestellt, die du wahrscheinlich bereits kennst und liebst. Diese Sprache wurde um eine Reihe benutzerdefinierter Befehle und sogar die gesamte ESP32-Marauder-Fähigkeit (verbessert) erweitert. Zu den Angriffen gehören:
| Name | Beschreibung |
|---|---|
| Covert Storage | Beispiel, das zeigt, wie man sich als zwei verschiedene USB-Massenspeichergeräte tarnt. 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. |
| Progress Bar | Auf dem LCD-Bildschirm des Geräts werden Bilder mit einer Fortschrittsanzeige angezeigt. Großartig für Hollywood-artige Angriffe oder wenn du eine visuelle Anzeige möchtest, dass ein Angriff ausgeführt wurde. |
| Ultimate RickRoll | Injiziere Tastatureingaben, um das berühmte Rickroll-Video anzuzeigen, nutzt aber auch ESP32 Marauder, um die Texte über WiFi zu senden. |
| USB Ethernet PCAP | Verwandelt das Gerät in einen USB-Netzwerkadapter und sammelt einen PCAP der ersten Sekunden des Netzwerkverkehrs. |
| Den seriellen Agenten einsetzen | Setzt den Agenten ein, falls er nicht bereits installiert ist, und sendet Befehle über den seriellen Port. Die Befehlsausgabe kann in der Weboberfläche eingesehen werden. |
| Den Bildschirm übernehmen | Setzt den Agenten ein; der Agent enthält einen winzigen VNC-Server. Nun kann der Bildschirm über die Weboberfläche betrachtet werden. |
| Einfache UI | Eine einfache, aber leistungsstarke UI zur Auswahl von Skripten/Bildern und deren Ausführung über den Hardware-Button. Zeigt, wie man komplexe UI-Interaktionen einfach aufbauen kann. |
| Mikrofon-Audio über WiFi streamen | Das M5Stack AtomS3U hat ein Mikrofon, das du über WiFi streamen kannst. |
| Linux-Boxen sofort zum Absturz bringen | Setze ein defektes Dateisystem ein, das Linux-Maschinen, die automatisch mounten, zum Absturz bringt. |
| Hardware | Unterstützt | Kauf-Links |
|---|---|---|
LilyGo T-Dongle S3 (Empfohlen)![]() | Das LilyGo T-Dongle S3 ist ein USB-Stick-förmiges ESP32-S3-Entwicklungsboard. Es verfügt über ein Farb-LCD, 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-Station zu hosten sowie eine Reihe von WiFi- und Bluetooth-Angriffen zu unterstützen. Es ist unglaublich billig! Es gibt zwei Versionen dieses Geräts, mit und ohne Bildschirm. Nur die Version mit Bildschirm wurde getestet. | |
Evil Crow Cable Wind ![]() | Das Evil Crow Cable Wind ist ein bösartig implantiertes USB-Kabel mit einem versteckten ESP32-S3, es gibt es in einigen verschiedenen Varianten. Ein Ende kann für aktive USB-Angriffe verwendet werden, während das andere zum Laden eines Geräts gedacht ist. Sein einzigartiges Design macht es zu einem der verdecktesten Geräte, die das USB Army Knife unterstützt. Aus diesem Grund hat das Gerät keinen Bildschirm, keine SD-Karte, keine LEDs und keinen guten Hardware-Button (es gibt einen im Inneren, der einen Magneten erfordert). Statt einer SD-Karte wird Flash-Speicher zur Ablage von Dateien verwendet. HINWEIS Obwohl es möglich ist, auf diesen Geräten einen drahtlosen Access Point zu betreiben, kann das Gerät sehr heiß werden. Um dem entgegenzuwirken, unterstützt das USB Army Knife thermisches Drosseln und schaltet das WiFi ab, wenn das Gerät überhitzt. Um dieses Problem vollständig zu vermeiden, solltest du dich mit einem vorhandenen drahtlosen Netzwerk verbinden (anstatt einen Access Point zu hosten) oder das WiFi deaktivieren – dann überhitzt das Gerät nicht. Dieses Gerät hat spezifische Installationsanweisungen |
Bitte schau zuerst im Wiki nach einer Schritt-für-Schritt-Anleitung und allerlei Ratschlägen für den Einstieg.
Es gibt zwei Optionen, um die USB-Army-Knife-Firmware auf dein Gerät zu bringen:
ESP-S2-basierte Geräte haben WiFi-Unterstützung, aber keine Weboberfläche. Angriffe werden über DuckyScript-Dateien verwaltet. RP2040-Geräte haben keine ESP32-Marauder-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 es die Fotos abziehen lassen.Espressif haben eine Dokumentation für den USB-Host-Modus sowie Beispielcode. Sie haben jedoch kein Beispiel für das PTP-Protokoll. Du kannst einen PCAP-Mitschnitt deines Telefons über PTP mit USB PCAP erstellen – es gibt sogar einen WireShark-Dissector.
Beiträge sind willkommen! Bitte forke das Repository und reiche einen Pull Request ein.
Wenn du Fragen oder Anregungen hast, kannst du dich gerne an uns wenden:
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.
| Böses USB-CDROM/NIC | Gib vor, ein USB-NIC zu sein, das einen Treiber von einem CDROM-Gerät benötigt, das erscheint, wenn du das NIC einsteckst. |
| Verschiedene Tastaturlayouts verwenden | Unterstütze automatisch verschiedene Tastaturlayouts, ohne deine Payloads neu zu schreiben. |
T-Watch S3 ![]() | Die T-Watch S3 ist eine Smartwatch-Plattform mit einer Menge Hardware im Inneren, darunter Bildschirm, 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-Station hosten sowie eine Reihe von WiFi- und Bluetooth-Angriffen unterstützen. Entscheidend ist, dass sie keinen SD-Kartensteckplatz hat und Flash-Speicher zur Ablage von Dateien verwendet wird. Daher sind Angriffsskripte und alle Ergebnisse auf ~10 MB begrenzt. Das Flashen dieser Plattform ist etwas komplexer; schau im Wiki nach Anleitungen, wie du dein Gerät zum Laufen bringst. Dieses Gerät hat spezifische Installationsanweisungen |
Waveshare ESP32-S3 1.47inch ![]() | Dieses Gerät ist in Design, Größe und Funktionen dem LilyGo T-Dongle S3 ähnlich und verwendet denselben Chipsatz. Es ist eindeutig ein Dev-Board, da es ohne Gehäuse kommt und auf der Unterseite freiliegende Schaltkreise hat. Wo dieses Gerät das T-Dongle S3 übertrifft, ist der sehr große hochwertige Bildschirm und 8 MB zusätzlicher RAM. |
M5Stack AtomS3U ![]() | Dies ist ein ESP32-S3-Entwicklungsboard mit zwei externen Schnittstellen an der Rückseite. Es hat keinen Bildschirm und keine SD-Karte, aber eine LED und einen Button. Statt einer SD-Karte wird der Flash-Speicher zur Ablage von Dateien verwendet. Ungewöhnlicherweise enthält es auch 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, und 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, Bildschirm, SD-Karte, Bluetooth, LEDs und ein guter Hardware-Button. Statt einer SD-Karte wird Flash-Speicher zur Ablage winziger Dateien verwendet. Diese Geräte sind unglaublich billig und oft gut geeignet, um HID+WiFi-Payloads (wie den Rickroll) auszuführen. Warnung Sie sind zu schwach, um den Webserver auszuführen. Beim Kauf dieser Geräte sei vorsichtig, da sie oft mit einem sehr ähnlich aussehenden Gerät verwechselt werden können, 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 Konfiguration Generic-ESP32-S2 flashest. |
Pocket-Dongle-S3 ![]() | Sieht dem LilyGo T-Dongle S3 sehr ähnlich, hat aber einen anderen SD-Karten- und Button-Formfaktor. Das Gerät hat keinen LED- oder QWIIC-Schnittstellensteckplatz. Intern verwendet dieses Gerät die ältere SD-Kartenschnittstelle, daher sind langsame Übertragungsgeschwindigkeiten zu erwarten. |
ESP32 Key ![]() | Sehr ähnlich zum ESP32 UDisk (siehe dort für eine Liste der Dinge, die es nicht kann) ist dies ein ESP32-S2 auf einer Leiterplatte. Es ist wahrscheinlich das billigste Gerät, das das USB Army Knife gerade so ausführen kann, und hat einen passenden Preis. Du musst den Button gedrückt halten, wenn du es einsteckst, um das Gerät in den Flash-Modus zu versetzen. Stelle sicher, dass du dieses Gerät mit der Konfiguration Generic-ESP32-S2 flashest. |
Waveshare-ESP32-GEEK ![]() | ESP32-GEEK ist ein Entwicklungsboard von Waveshare. Es hat USB-A, einen 1,14-Zoll-LCD-Bildschirm, eine SD-Karte und externe Ports (SWD, UART und I2C); es hat keine LED. Halte den Button gedrückt, wenn 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 (ich fand eine Kingston-64-GB-Karte mit einer 9-GB-Partition funktionierend – YMMV). |
Waveshare-RP2040-GEEK ![]() | RP2040-GEEK ist ein Entwicklungsboard von Waveshare. Es hat USB-A, einen 1,14-Zoll-LCD-Bildschirm, eine SD-Karte und externe Ports (SWD, UART und I2C). Dieses Board läuft nicht mit dem ESP32-Chipsatz. USB-Ethernet (NCM)-Modus und die vollständige SD-Datenträgernutzung werden derzeit beide nicht unterstützt. ESP32 Marauder kann auf diesem Gerät nicht funktionieren! Unter Windows musst du dieses Gerät möglicherweise auch so einstellen, dass es einen WinUSB-Treiber mit Zadig verwendet. Halte den Button gedrückt, wenn du es einsteckst, um das Gerät in den Flash-Modus zu versetzen. |