El ataque Plug and Pwn utiliza dispositivos USB para obtener acceso a nivel de sistema
En la reciente conferencia DEF CON 34, los investigadores Alejandro Hernando y Borja Martínez presentaron una nueva clase de ataques denominada Plug and Play. Demostraron que el mecanismo Plug and Play predeterminado de Windows puede ser manipulado para instalar automáticamente software vulnerable, lo que permite obtener privilegios de nivel SYSTEM. En algunos casos, el ataque no requirió interacción del usuario ni una sesión activa.
Según los expertos, la raíz del problema reside en cómo Windows gestiona las nuevas conexiones de hardware. Tras conectar un dispositivo, el sistema determina su identificador de hardware, encuentra un paquete de controladores adecuado y puede descargar automáticamente componentes firmados de un fabricante específico mediante Windows Update. La instalación se realiza bajo NT AUTHORITY\SYSTEM sin que aparezca la solicitud de Control de cuentas de usuario (UAC), y esta cadena puede incluir controladores, servicios, programas de utilidad y coinstaladores.
Es decir, los investigadores descubrieron que podían obligar a Windows a instalar paquetes de proveedores firmados que contenían componentes vulnerables u otros fallos que podían ser explotados para obtener privilegios de nivel de sistema.
Para sus experimentos, los investigadores utilizaron el marco de emulación de dispositivos USB FaceDancer, que ejecutaron en un pequeño ordenador Linux con hardware Cynthion y GreatFET conectados. FaceDancer permite definir mediante programación descriptores USB, interfaces, clases de dispositivos y puntos finales; en otras palabras, describir el dispositivo específico que el hardware conectado debe reconocer ante el sistema operativo.
Esto sentó las bases del ataque Plug and Pwn. Los investigadores lograron engañar al emulador para que Windows lo detectara como un dispositivo Sierra Wireless (de modo que Windows instalara el servicio SwiService.exe, que se ejecuta con privilegios de SYSTEM y permite cambios de DNS), y luego se reconectaron bajo la identidad de un lector Sony FeliCa (de modo que el sistema operativo instalara el software de Sony, que descargó archivos de configuración a través de HTTP sin cifrar).
Windows trataba los dispositivos fantasma como hardware real, encontraba paquetes de controladores y software del proveedor compatibles con sus identificadores de hardware y, a continuación, los instalaba automáticamente con privilegios elevados. Cabe destacar que, en algunos casos, el dispositivo debía presentarse como un dispositivo compuesto para que el sistema operativo detectara por separado sus interfaces y optara por instalar el paquete del proveedor en lugar del controlador predeterminado.
Tras suplantar con éxito la identidad de un dispositivo Sierra Wireless y falsificar el DNS, los investigadores redirigieron las solicitudes a su servidor y, a continuación, utilizaron el algoritmo de recorrido de rutas del software de Sony para escribir una DLL en System32. Después de emular de nuevo el dispositivo Sierra Wireless, la biblioteca maliciosa se cargó con privilegios de SYSTEM y, finalmente, los investigadores obtuvieron una shell inversa.
Los investigadores probaron esta cadena de ataque en una versión totalmente actualizada de Windows 11, sin ningún usuario conectado. Todo el proceso de ataque duró aproximadamente cinco minutos.
Además, los investigadores demostraron una variante del ataque NoPlug & Pwn que no requiere ningún dispositivo USB físico. En este caso, el ataque aprovecha la redirección USB a través de RDP, lo que permite acceder a los dispositivos USB conectados al equipo local del usuario desde una sesión remota de Windows. Un cliente escrito en Python envió descriptores USB falsos a la máquina remota, y Windows creó un dispositivo Plug and Play correspondiente.
En el experimento, el sistema asumió que había una cámara Intel RealSense conectada, instaló el paquete correspondiente y ejecutó el componente vulnerable. Los investigadores, a su vez, utilizaron el secuestro de DLL mediante la biblioteca CRYPTBASE.dll, lo que permitió a un usuario autenticado sin privilegios elevar sus privilegios a SYSTEM.
Cabe señalar que esta variante de ataque solo funciona si la función Plug and Play o la redirección USB a través de RDP están habilitadas (esta función está deshabilitada de forma predeterminada).
Según Hernando y Martínez, los ataques Plug and Pwn pueden protegerse parcialmente configurando el parámetro de registro DisableCoInstallers=1, que impide que los co-instaladores se ejecuten durante la instalación del dispositivo. Sin embargo, esto no resuelve el problema por completo, ya que los atacantes también pueden explotar el procesamiento de archivos INF, la instalación de servicios, la selección de controladores mediante Windows Update y otros pasos de Plug and Pwn.
Los investigadores ilustraron sus hallazgos con un ataque independiente contra paquetes de Wacom y Atheros, que explotó la vulnerabilidad CVE-2019-10617 en un servicio de controlador instalado directamente mediante INF. Por lo tanto, para sistemas críticos, los expertos recomiendan restringir adicionalmente la instalación de dispositivos por ID de hardware y deshabilitar la redirección Plug and Play en hosts RDP y VDI donde no se utilice esta función.
Fuente: DEFCON CONFERENCES 2026