Cómo interceptar el tráfico de USB

Muchos deben haber escuchado acerca de la captura de paquetes de red usando herramientas de análisis; no obstante, pocos conocen algo de captura de paquetes USB. Los rastreadores USB (sniffers) muestran los paquetes transmitidos mediante una conexión USB; estas herramientas son un tema recurrente en el curso de hacking ético del Instituto Internacional de Seguridad Cibernética (IICS).

Protocolos USB

La interfaz USB consiste en capas de protocolo. En la interfaz USB, las capas de nivel inferior se manejan individualmente. Los paquetes USB contienen información como:

  • El intercambio de datos
  • Control de intercambio de datos
  • Detección y corrección de errores

El protocolo USB contiene diferentes campos de paquetes

  • SYNC: es importante mantener el campo al inicio del paquete. Para el modo de velocidad baja y máxima, este campo tiene una longitud de 8 bytes y una altura de 32 bytes
  • PID: indica la identificación del paquete. muestra que tipo de paquete se está enviando. Este campo es de 8 bits de largo
  • ADDR: este campo almacena la dirección de destino del dispositivo USB
  • CRC – Verificación de Redundancia del Ciclo: Se usa para verificar cualquier error en el paquete de datos
  • EOP – Señal del Final del Paquete: Líneas de datos para el cero de extremo único

Existen dos métodos para capturar paquetes USB: el modo GUI con Wireshark y el modo CUI con el instalador USBPcap.

  • Probaremos Wireshark en Windows 10 con la versión de compilación 1709
  • Descargue Wireshark desde: https://2.na.dl.wireshark.org/win64/Wireshark-win64-3.0.2.exe
  • Instale Wireshark. Asegúrese de instalar USBPcap al instalar Wireshark. Si USBPcap no se instala, vaya a: https://github.com/desowin/usbpcap/releases/download/1.2.0.3/USBPcapSetup-1.2.0.3.exe
  • Instale USBPcap. Después de instalar Wireshark & USBPcap, inicie Wireshark
  • Haga clic en USBPcap1 y luego conecte el dispositivo USB. Y luego comience a copiar datos de la computadora local al dispositivo USB conectado
  • Cuando empiece a copiar los datos, verá que los paquetes se transfieren de origen a destino en Wireshark
  • La captura de pantalla anterior muestra los paquetes que se transfieren desde el host al destino. Los datos se están transfiriendo en el almacenamiento masivo USB. Luego los datos se están transfiriendo usando el protocolo USBMS
  • El almacenamiento masivo USB es un protocolo informático determinado por el foro de implementación USB. USBMS hace que el dispositivo USB sea accesible para el host. El dispositivo USB funciona como disco duro externo
  • Ahora vamos a analizar el paquete de datos e intentaremos explicar cada información que se muestra
  • En primer lugar se muestra el marco. El marco consiste en información básica de los bytes de transferencia
  • La captura de pantalla anterior muestra los detalles sobre Frame de 40 bytes. Luego muestra el ID de la interfaz en la que se capturan los datos
  • Luego el cuadro tiene información de la longitud del cuadro, el número del cuadro y los bytes. Luego muestra los detalles de tiempo completos del fotograma capturado y visualizado anterior. Todo este análisis es parte del curso de hacking ético realizado por el Instituto Internacional de Seguridad Cibernética (IICS)
  • Más detalles muestra información USB URB que consiste en ID de IRP e información de IRP
  • Hay otros analizadores de paquetes ligeros como termshark disponible en internet