Desbloqueando la función oculta del ThinkPad: emulación de dispositivos USB
- Descubrí cómo convertir una laptop ThinkPad X1 Carbon de 6.ª generación en un dispositivo USB programable.
- Al activar el controlador xDCI, ahora es posible emular dispositivos USB arbitrarios (teclado, unidad de almacenamiento, etc.).
- Se puede usar RawGadget y syzkaller para hacer fuzzing de hosts USB o ejecutar Facedancer.
- Todo esto se puede hacer sin hardware externo.
Introducción
- Raw Gadget es un módulo del kernel de Linux para emular dispositivos USB altamente personalizables.
- Para emular un dispositivo USB, se necesita un componente especial de hardware llamado USB Device Controller (UDC).
- Normalmente, las PC no tienen UDC, y suele venir integrado en computadoras de placa única como Raspberry Pi.
Investigación
- Al investigar el código del kernel de Linux relacionado con el controlador xHCI, descubrí que los dispositivos xHCI admiten cambio de rol.
- Mediante búsquedas en línea, encontré discusiones sobre el cambio de rol en dispositivos xHCI.
- Revisé ACPI para verificar si xDCI estaba habilitado en ACPI.
Activación de xDCI
- No encontré ninguna opción relacionada con xDCI en la configuración del BIOS.
- Al revisar directamente la imagen del BIOS, descubrí que la configuración relacionada con xDCI estaba oculta.
Uso de xDCI
- Activé xDCI mediante la configuración
Advanced del BIOS.
- Confirmé que el dispositivo xDCI aparece en
lspci.
Resumen
- Descubrí cómo habilitar la función oculta del controlador de dispositivos USB en una laptop ThinkPad X1 Carbon de 6.ª generación.
- Esto permite emular la laptop como varios tipos de dispositivos USB.
Comentarios finales
- Al activar xDCI, exploré nuevas posibilidades de uso para la laptop.
Opinión de GN⁺
- Este artículo abre una nueva área de hackeo de hardware y personalización al mostrar cómo activar una función oculta de una laptop ThinkPad para emular dispositivos USB.
- Permite hacer con una sola laptop tareas que antes requerían hardware aparte, lo que puede ser de gran ayuda para desarrolladores e investigadores.
- El texto presenta un reto interesante para personas con curiosidad técnica y ayuda a explorar cómo aprovechar al máximo el potencial de dispositivos existentes.
1 comentarios
Comentarios de Hacker News
g_mass_storage. Sin embargo, el ancho de banda se convierte en el principal obstáculo, ya que la mejora de velocidad que aporta al sistema no es muy grande.