USB Army Knife – la herramienta definitiva de acceso físico para pentesters y red teamers.
Gran parte de este trabajo ya está completado y he estado ocupado trabajando con hardware que sea lo suficientemente potente para ejecutar esta nueva plataforma. Lo que está claro es que el dongle que inició este proyecto no podrá manejar las funciones más nuevas de la V2. Pero personalmente me encanta su factor de forma. De lo que estoy seguro es de que la v2 convertirá a UAK en un pequeño stick que se programa a sí mismo, elige su objetivo, controla el dispositivo, escucha la sala y quizás incluso pueda hablar con sus hermanos...
Compacto y versátil, este dispositivo ofrece una gran potencia con sus amplias capacidades, incluidos ataques USB HID, emulación de almacenamiento masivo, suplantación de dispositivos de red y exploits de 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 y dispara por WiFi, ejecútalo 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. Trabajar a través de la interfaz serie hace que el egress sea 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." - Mr. Peoples vía X
Hoy en día hay un problema con los ataques de acceso físico/USB. Por sí solos, cada ataque no proporciona 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 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 USB HID usando 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 usando un lenguaje similar a Ducky que probablemente ya conoces y amas. Este lenguaje se ha ampliado con una gran cantidad de comandos personalizados e incluso toda la capacidad de ESP32 Marauder (mejorada). Los ataques incluyen:
| Nombre | Descripción |
|---|---|
| Almacenamiento encubierto | Ejemplo que muestra cómo hacerse pasar por dos dispositivos de almacenamiento masivo USB diferentes. La primera vez que se conecta el dispositivo, 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 con una barra de progreso. Ideal para ataques de estilo Hollywood o si quieres un indicador visual que muestre que un ataque se ha desplegado. |
| RickRoll definitivo | Inyecta pulsaciones de teclas para mostrar el famoso vídeo de rickroll, pero también usa ESP32 Marauder para emitir la letra por WiFi. |
| PCAP Ethernet USB | Convierte el dispositivo en un adaptador de red USB y recopila 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 de interfaz complejas de forma sencilla. |
| Transmitir audio del micrófono por WiFi | El M5Stack AtomS3U tiene un micrófono que puedes transmitir por WiFi. |
| Bloquear instantáneamente máquinas Linux | Despliega un sistema de archivos defectuoso que hace que las máquinas Linux que montan automáticamente entren en pánico. |
| 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 una pantalla LCD a color, botón físico, adaptador de tarjeta micro SD oculto/encubierto (dentro del conector USB-A) así como un adaptador SPI. Tiene 16MB de flash. Está basado en el chipset ESP32-S3, lo que le permite alojar una estación WiFi además de soportar una 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 variaciones 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 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 admite limitación térmica y apagará el WiFi si el dispositivo se sobrecalienta. Para evitar completamente este problema, debes conectarte a una red inalámbrica existente (en lugar de alojar un punto de acceso) o deshabilitar el WiFi; así el dispositivo no se sobrecalienta. Este dispositivo tiene instrucciones de instalación específicas |
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 ESP-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 operar 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 emitir comandos como si fuera un ordenador. Dado que la mayoría de los teléfonos inteligentes admiten 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 tienen documentación para 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! Por favor, haz un fork del repositorio y envía una pull request.
Si tienes alguna pregunta o sugerencia, no dudes en ponerte en contacto con nosotros:
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.
| CDROM/NIC USB malicioso | Hazte pasar por NIC USB 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 |
T-Watch S3 ![]() | El T-Watch S3 es una plataforma de reloj inteligente con una gran cantidad de hardware en su interior, incluidos 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 puerto mini 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 gama de ataques WiFi y Bluetooth. Fundamentalmente, 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. Claramente es una placa de desarrollo, ya que no viene con carcasa y tiene circuitos expuestos en la parte inferior. Donde este dispositivo supera al T-Dongle S3 es que tiene una pantalla muy grande y de alta calidad 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 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 de arranque, 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 al T-Dongle S3 y suelen anunciarse en sitios como AliExpress como jailbreaks de 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 memoria flash para almacenar archivos pequeños. Estos dispositivos son increíblemente baratos y suelen ser 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 sin botón de reinicio. Asegúrate de que el dispositivo que compras tenga 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, por lo que se esperan 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. Probablemente sea el dispositivo más barato que puede ejecutar USB Army Knife y tiene un precio acorde. Deberás mantener pulsado el botón al conectarlo 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 al conectarlo 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 algo compatible (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 ethernet USB (NCM) y el uso de disco SD completo 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 al conectarlo para poner el dispositivo en modo de flasheo. |