
USB Army Knife – la herramienta definitiva de acceso físico para pentesters y red teamers.
🚀 USB Army Knife v2 se está gestando — y será una bestia
Tras dos años de desarrollo activo de la v1, la v2 tiene previsto convertir el USB Army Knife en una plataforma completa de red team en tu bolsillo. Habrá un gran anuncio este verano, pero quería adelantar algo:
- Nueva interfaz web — más pequeña, rápida y elegante, y multilingüe, con un visor VNC integrado para observar y controlar el objetivo directamente desde tu navegador. No estará atada a herramientas web como las actuales, así que cualquiera podrá modificarla.
- Nuevo motor de scripting UAK — compatible con DuckyScript v3, pero va mucho más allá de lo que DuckyScript 3 puede hacer con soporte completo de cadenas y códigos de retorno. Esto hace que escribir payloads más limpios y robustos sea mucho más fácil.
- Nuevo agente multiplataforma para Windows, Linux y macOS — VNC en vivo, captura de micrófono e incluso quizás acceso a la red a través del enlace serie USB.
- Muchas capacidades nuevas — funcionalidad totalmente nueva en redes, archivos, captive portal, bluetooth y ¡mucho más! ¡USB 2.0 para mayor rendimiento con contenedores de solo lectura y de lectura/escritura!
- Listo para IA — un servidor MCP con un validador real de scripts UAK para que tus IAs puedan escribir y comprobar payloads antes de que lleguen al dispositivo.
Esto es solo un adelanto y todavía queda MUCHO por hacer. Pero espero que la v2 convierta el UAK en un pequeño stick que se programa a sí mismo, elige su objetivo, controla el dispositivo, oye la sala y quizás incluso pueda hablar con sus hermanos...
Compacto y versátil, este dispositivo esconde una gran potencia gracias a sus amplias capacidades, que incluyen ataques HID USB, emulación de almacenamiento masivo, suplantación de dispositivos de red y exploits WiFi/Bluetooth (gracias a nuestra versión bifurcada de ESP32 Marauder).
Control total sobre cómo y cuándo se ejecutan tus payloads. Conéctalo y ejecuta, déjalo instalado y actívalo por WiFi, prográmalo con un temporizador o crea una interfaz de estilo Hollywood. Gestiona y despliega tus ataques sin esfuerzo usando solo un teléfono mediante una interfaz web Bootstrap fácil de usar.
¿Quieres más? Despliega el agente y ejecuta comandos incluso cuando la máquina está bloqueada. Al trabajar a través de la interfaz serie, la exfiltración es increíblemente difícil de detectar. Incluso puedes ver la pantalla de la víctima a través de la conexión WiFi dedicada del dispositivo.
Equípate con el USB Army Knife y lleva tu kit de acceso local al siguiente nivel.
"Tu dispositivo es malvado. Estás haciendo el mal." - Sr. Peoples vía X
Hay un problema con los ataques de acceso físico/USB hoy en día. Por sí solos, cada ataque no aporta una solución suficiente para cumplir la mayoría de los objetivos.
Lo que se necesitaba era una plataforma de acceso físico que permitiera a un delincuente adecuado tomar lo mejor de cada ataque y sortear sus respectivos problemas con otro ataque. Idealmente, esta plataforma sería tan barata y encubierta que perder una no sería un problema.
Por eso decidí crear el USB Army Knife.
Este vídeo muestra cómo funciona el rick roll definitivo
https://github.com/user-attachments/assets/f373e18e-5cad-4871-9f2a-17523fa33398
https://github.com/user-attachments/assets/0d5b1485-b808-46c6-aaf7-7cf016088b8f
Este vídeo muestra cómo acceder a la máquina de la víctima una vez que el agente ha sido instalado
https://github.com/user-attachments/assets/3c866d29-ef26-4eaf-943b-1206b8c40101
Este proyecto implementa una variedad de ataques basados en un dongle USB/WiFi/BT fácilmente ocultable. Los ataques incluyen el envío de BadUSB (comandos HID USB mediante DuckyScript), aparecer como dispositivos de almacenamiento masivo, aparecer como dispositivos de red USB y realizar ataques WiFi y Bluetooth con ESP32 Marauder. Los ataques se despliegan utilizando un lenguaje tipo Ducky que probablemente ya conoces y amas. Este lenguaje ha sido ampliado con un montón de comandos personalizados e incluso con toda la capacidad de ESP32 Marauder (mejorada). Los ataques incluyen:
En primer lugar, consulta la wiki para obtener una guía paso a paso y todo tipo de consejos para empezar.
Hay dos opciones para instalar el firmware de USB Army Knife en tu dispositivo:
Los dispositivos basados en ESP32-S2 tienen soporte WiFi pero no tienen interfaz web. Los ataques se gestionan mediante archivos DuckyScript. Los dispositivos RP2040 no tienen la capacidad de ESP32 Marauder.
No hay ninguna razón por la que el USB Army Knife no pueda funcionar también en modo host USB. Ese es el mismo modo en el que funciona un ordenador. De esta manera, el USB Army Knife puede enviar comandos como si fuera un ordenador. Dado que la mayoría de los smartphones son compatibles con PTP (protocolo de transferencia de imágenes), esto significa que en teoría podrías conectar un USB Army Knife (con un adaptador USB) a un teléfono y hacer que extraiga las fotos.
Espressif tiene documentación sobre el modo host USB y también código de ejemplo. No tienen un ejemplo para el protocolo PTP. Puedes capturar un PCAP de tu teléfono usando PTP con USB PCAP; incluso hay un dissector para Wireshark.
¡Las contribuciones son bienvenidas! Haz un fork del repositorio y envía un pull request.
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.
| Nombre | Descripción |
|---|
| Almacenamiento encubierto | Ejemplo que muestra cómo hacerse pasar por dos dispositivos USB de almacenamiento masivo diferentes. La primera vez que el dispositivo se conecta, aparece con el contenido completo de la tarjeta micro SD. En todos los intentos posteriores aparece una unidad 'benigna' diferente. |
| Barra de progreso | Se muestran imágenes en la pantalla LCD del dispositivo representando una barra de progreso. Ideal para ataques de estilo Hollywood o si quieres un indicador visual que muestre que un ataque se ha desplegado. |
| Rick Roll Definitivo | Inyecta pulsaciones de teclado para mostrar el famoso vídeo del rickroll, pero también usa ESP32 Marauder para emitir la letra por WiFi. |
| PCAP de Ethernet USB | Convierte el dispositivo en un adaptador de red USB y captura un PCAP de los primeros segundos del tráfico de red. |
| Desplegar el agente serie | Despliega el agente si aún no está instalado y envía comandos a través del puerto serie. La salida de los comandos se puede ver en la interfaz web. |
| Capturar la pantalla | Despliega el agente; el agente incluye un pequeño servidor VNC. Ahora la pantalla se puede ver a través de la interfaz web. |
| Interfaz simple | Una interfaz simple pero potente para seleccionar scripts/imágenes y ejecutarlos con el botón de hardware. Muestra cómo se pueden construir interacciones complejas de interfaz de forma sencilla. |
| Transmitir audio del micrófono por WiFi | El M5Stack AtomS3U tiene un micrófono que puedes transmitir por WiFi. |
| Bloquear cajas Linux al instante | Despliega un sistema de archivos corrupto que hace que las máquinas Linux que montan automáticamente entren en pánico. |
| CDROM/NIC USB malicioso | Suplanta a un adaptador de red USB (NIC) que requiere un controlador de un dispositivo CDROM que aparece al conectar la NIC. |
| Usar diferentes distribuciones de teclado | Soporta automáticamente diferentes distribuciones de teclado sin reescribir tus payloads. |
| Hardware | Compatible | Enlaces de compra |
|---|
LilyGo T-Dongle S3 (Recomendado)![]() | El LilyGo T-Dongle S3 es una placa de desarrollo ESP32-S3 con forma de lápiz USB. Cuenta con pantalla LCD a color, botón físico, adaptador de tarjeta micro SD oculto/encubierto (dentro del conector USB-A) además de un adaptador SPI. Dispone de 16MB de flash. Está basado en el chipset ESP32-S3, lo que le permite alojar una estación WiFi además de soportar una amplia gama de ataques WiFi y Bluetooth. ¡Es increíblemente barato! Hay dos versiones de este dispositivo, con y sin pantalla. Solo se ha probado la versión con pantalla. | |
Evil Crow Cable Wind ![]() | El Evil Crow Cable Wind es un cable USB malicioso implantado con un ESP32-S3 oculto en su interior; viene en un par de variantes diferentes. Un extremo se puede usar para ataques USB activos mientras que el otro está pensado para cargar un dispositivo. Su diseño único lo convierte en uno de los dispositivos más encubiertos capaces de ejecutar USB Army Knife. Por esta razón, el dispositivo no tiene pantalla, tarjeta SD, LEDs ni un buen botón de hardware (hay uno en el interior que requiere el uso de un imán). En lugar de una tarjeta SD, se usa la memoria flash para almacenar archivos. NOTA Aunque es posible ejecutar un punto de acceso inalámbrico en estos dispositivos, la unidad puede calentarse mucho. Para contrarrestar esto, USB Army Knife soporta limitación térmica y desactivará el WiFi si el dispositivo se sobrecalienta. Para evitar por completo este problema, deberías conectarte a una red inalámbrica existente (en lugar de alojar un punto de acceso) o desactivar el WiFi; así el dispositivo no se sobrecalienta. Este dispositivo tiene instrucciones de instalación específicas | |
T-Watch S3 ![]() | El T-Watch S3 es una plataforma de smartwatch con muchísimo hardware en su interior, incluyendo pantalla, WiFi, reloj en tiempo real, micrófono, acelerómetro, infrarrojos, retroalimentación háptica y un transceptor LoRa. Gran parte de esto ya es compatible con la plataforma USB Army Knife. La corona del reloj actúa como botón y hay un mini puerto USB para carga / ataques HID. Como el reloj está basado en el chipset ESP32-S3, puede alojar una estación WiFi además de soportar una amplia gama de ataques WiFi y Bluetooth. Es importante señalar que no tiene ranura para tarjeta SD y se usa memoria flash para almacenar archivos. Por lo tanto, los scripts de ataque y cualquier resultado están limitados a ~10MB. El flasheo de esta plataforma es un poco más complejo; consulta la Wiki para obtener orientación sobre cómo poner tu dispositivo en funcionamiento. Este dispositivo tiene instrucciones de instalación específicas | |
Waveshare ESP32-S3 1.47inch ![]() | Este dispositivo es similar en diseño, tamaño y características al LilyGo T-Dongle S3 y usa el mismo chipset. Es claramente una placa de desarrollo, ya que no incluye carcasa y tiene circuitos expuestos en la parte inferior. Donde este dispositivo supera al T-Dongle S3 es en que tiene una pantalla de muy alta calidad y gran tamaño y 8MB de RAM adicional. | |
M5Stack AtomS3U ![]() | Esta es una placa de desarrollo ESP32-S3 con dos interfaces externas en la parte trasera. No tiene pantalla ni tarjeta SD, pero sí un LED y un botón. En lugar de una tarjeta SD, se usa la memoria flash para almacenar archivos. Inusualmente, también contiene un micrófono digital y un LED IR que actualmente no son compatibles. Para poner el dispositivo en modo boot, mantén pulsado RESET (el botón en el lateral del dispositivo) hasta que se encienda un LED verde. | |
ESP32 Udisk ![]() | El dispositivo más básico que puede ejecutar el código de USB Army Knife es un chip ESP32-S2 conectado a un puerto USB. A menudo se pueden encontrar vendidos en carcasas muy similares a las del T-Dongle S3 y suelen anunciarse en sitios como AliExpress como jailbreaks para PlayStation 4 bajo el nombre 'USB Dongle Udisk for P4'. Estos dispositivos carecen de RAM, pantalla, tarjeta SD, Bluetooth, LEDs y un buen botón de hardware. En lugar de una tarjeta SD, se usa la memoria flash para almacenar archivos pequeños. Estos dispositivos son increíblemente baratos y a menudo son buenos ejecutando payloads HID+WiFi (como el rick roll). Advertencia Son demasiado limitados para ejecutar el servidor web. Al comprarlos, ten cuidado porque a menudo se pueden confundir con un dispositivo de aspecto muy similar que incluye un chipset CH343P y no tiene botón de reset. Asegúrate de que el dispositivo que compres tiene un botón que se pueda pulsar con un clip. Asegúrate de flashear este dispositivo con la configuración Generic-ESP32-S2. | |
Pocket-Dongle-S3 ![]() | Dispositivo de aspecto muy similar al LilyGo T-Dongle S3 pero con un factor de forma diferente de tarjeta SD y botón. El dispositivo no tiene LED ni ranura de interfaz QWIIC. Internamente, este dispositivo usa la interfaz de tarjeta SD más antigua, así que espera velocidades de transferencia lentas. | |
ESP32 Key ![]() | Muy similar al ESP32 UDisk (consulta esa descripción para ver una lista de lo que no puede hacer), este es un ESP32-S2 en una placa de circuito. Es probablemente el dispositivo más barato que puede ejecutar USB Army Knife y tiene un precio acorde. Tendrás que mantener pulsado el botón cuando lo conectes para poner el dispositivo en modo de flasheo. Asegúrate de flashear este dispositivo con la configuración Generic-ESP32-S2. | |
Waveshare-ESP32-GEEK ![]() | ESP32-GEEK es una placa de desarrollo diseñada por Waveshare. Tiene USB-A, pantalla LCD de 1.14 pulgadas, una tarjeta SD y puertos externos (SWD, UART e I2C); no tiene LED. Mantén pulsado el botón cuando lo conectes para poner el dispositivo en modo de flasheo. Este dispositivo tiene algunos problemas con la tarjeta SD (compatibilidad y baja velocidad). Puede que necesites usar particiones de 8GB y probar algunas marcas de tarjetas para encontrar una compatible (yo encontré que una tarjeta Kingston de 64GB con una partición de 9GB funcionó; tu experiencia puede variar). | |
Waveshare-RP2040-GEEK ![]() | RP2040-GEEK es una placa de desarrollo diseñada por Waveshare. Tiene USB-A, pantalla LCD de 1.14 pulgadas, una tarjeta SD y puertos externos (SWD, UART e I2C). Esta placa no ejecuta el chipset ESP32. El modo de Ethernet USB (NCM) y el uso de todo el disco SD no son compatibles actualmente. ¡ESP32 Marauder no puede funcionar en este dispositivo! En Windows, también puede que necesites configurar este dispositivo para usar un controlador WinUSB con Zadig. Mantén pulsado el botón cuando lo conectes para poner el dispositivo en modo de flasheo. |