Tag Archive for usb

Análisis de un dispositivo USB con Wireshark – Parte 2

En la primera parte de esta serie de artículos sobre análisis de dispositivos USB con Wireshark, que podéis encontrar aquí, hicimos una primera aproximación a la investigación acerca del funcionamiento de un dispositivo USB. Si no recordáis cómo hacer una captura de tráfico con Wireshark de un USB, os recomiendo leer la primera parte de esta serie.

El primer artículo terminaba con una referencia a los conceptos que vamos a tratar aquí; clases, descriptores, interfaces, endpoints… Estos conceptos son fundamentales tenerlos claros para poder analizar y conocer cómo funcionan, y para ello seguiremos con nuestro análisis USB con Wireshark, cuando conectamos un dispositivo de este tipo a nuestro equipo.

En primer lugar tenemos que tener claro que existen muchos tipos de clases de USB, no solo aquellos con los que estamos más acostumbrados a trabajar, como pueden ser los dispositivos de almacenamiento, o los dispositivos de interfaz humana (HID, Human Interface Device).

Class: Una clase nos permite definer funcionalidades del dispositivo USB. Algunos ejemplos son:

  • Class 1 – Audio
  • Class 3 – HID (Human Interface Device)
  • Class 6 – Image
  • Class 7 – Printers
  • Class 8 – Mass Storage

Los pendrives que utilizamos para almacenar y transportar nuestros ficheros pertenecen a la clase 8 (Mass Storage), mientras que los ratones o teclados USB, pertenecen a la clase 3 (HID).

En las primeras capturas que realizamos con Wireshark ya pudimos observar en algunos de los paquetes cómo los dispositivos y el host utilizaban descriptores para solicitar e intercambiar información. Esta información, como su nombre indica, sirve para describir características y funcionalidades del dispositivo.

Wireshark - Descriptores USB

En la imagen anterior podemos observar en la columna Info que enter el host y el dispositivo (con dirección 7) se intercambian una serie de solicitudes y respuestas. El host solicita información que le describa el dispositivo, la configuración y otras cadenas con información de interés para que el host pueda proponer la configuración más idónea. Read more

Análisis de un dispositivo USB con Wireshark – Parte 1

Introducción

¿Cuantas veces hemos conectado y desconectado un dispositivo USB de un ordenador? ¿Te has preguntado alguna vez qué ocurre en nuestro equipo cuando conectamos un pendrive, webcam o teclado USB? En este nuevo artículo vamos a hacer un análisis de un dispositivo USB con Wireshark, la herramienta por excelencia para la captura y análisis de tráfico.

¿Cuál es la motivación? Quizás la postura más cómoda sería obviar y asumir como simple magia el hecho de que conectemos un pendrive, y el sistema automáticamente lo reconozca, sepa el fabricante, producto, protocolo de comunicación, particiones que tiene y la capacidad de éstas. Pero los hackers van más allá, les gusta saber cómo funcionan las cosas. Además creemos firmemente en esta filosofía; Learn, Hack and Share. Aprende, hackea y comparte.

Nota: Si a estas alturas cuando decimos “hackea” lo entiendes como “comete un delito”, definitivamente, este no es tu blog.

Entorno de trabajo – Herramienta y comandos

¿Por qué Wireshark? ¿Por qué un sniffer? Porque precisamente vamos a analizar el tráfico que se genera entre nuestro dispositivo USB y el host, es decir, nuestro ordenador.  ¿Cómo sabe el host de qué tipo de USB se trata? ¿Trata igual a un pendrive que a un dispositivo HID (Human Interface Device)? Estas y otras cuestiones intentaremos resolverlas en este post y futuros posts.

Como sistema operativo, utilizaremos Linux. Y la razón es muy sencilla, este SO nos aporta muchísima más información a la hora de conectar o desconectar un USB, que por ejemplo Windows. Y aunque recientemente se ha publicado USBPcap para realizar esto mismo en Windows, Linux lleva ya años haciéndolo, por lo tanto nos centraremos en este SO.

Antes de empezar, una breve reseña histórica a las versiones y velocidades en USB, conceptos que nos vendrán bien más adelante durante nuestro análisis:

1996 – USB 1.0 – Velocidad 1,5 Mbps (Low Speed) y 12 Mbps (Full Speed)
1998 – USB 1.1 – Sin cambio en velocidades
2000 – USB 2.0 – Se añade velocidad 480 Mbps (High Speed)
2008 – USB 3.0 – Se añade velocidad 5 Gbps (Super Speed)

Es importante tener esto en cuenta a la hora de ver los controladores USB que tenemos en nuestro equipo, ya que por ejemplo, un controlador USB 3.0 incluye a su vez uno de 2.0, de ahí que pueda llevar a confusión por la duplicidad de buses de conexión. Esta información la podemos extraer en Linux con dos comando básicos del SO; lspci y lsusb.

lspci | grep USB

USB Forensic - lspci

En este caso podemos ver que tengo dos controladores, generados por VMWare (estoy trabajando con máquina virtual), uno de la versión 1.1 y otro de la versión 2.0. La abreviatura que aparece a continuación indica también el tipo de controlador:

UHCI – Universal Hub Controller Interface (1.0 / 1.1)
EHCI – Enhanced Hub Controller Interface (2.0)
XHCI – Extensible Hub Controller Interface (3.0)

Read more

Cuando el pato teclea Cuack Cuack – Parte 1

Este Lunes por fin llegó a mis manos el USB Rubber Ducky, del que tanto había escuchado y nuestro compañero @edusatoe nos puso los dientes largos en una demo que hizo en la Hack&Beers de Qurtuba, así que ahora que ya he podido jugar un poco con él, vamos a ver una pequeña introducción y quien sabe que más 😉

ducky

Read more

La peligrosidad de los pendrives

Volvemos tras unas semanas intensas de trabajo con las Jornadas sobre Ciberseguridad, SecurimaTICa 2013.

No hace tanto tiempo, tener un pendrive era estar a la última de las nuevas tecnologías. Un pendrive de 128Mb era un lujo, no ya por su precio sino por su “desconocidas” funcionalidades.

Pero a día de hoy el uso del pendrive está masificado. Todos tenemos al menos un pendrive y/o muchos ya poseen las nuevas capacidades de 32Gb y 64Gb. Los hay de mayor tamaño pero todavía (que no tardará) no están muy extendidos y no sienta demasiado bien al bolsillo adquirir estas capacidades punteras.

El uso del pendrive es muy cómodo, lo conectas a un equipo, pasas la documentación de turno, y te lo llevas a otro lado sin despeinarte. Fotos, vídeos, películas, informes, trabajos, proyectos, ficheros de configuración, páginas Web, etc.. todo es loable a ser almacenado en un pendrive.

Lamentablemente como todo en el mundo de la informática y de las nuevas tecnologías, tiene sus partes no tan benignas y que no todo el mundo se para a pensar.

pendrivekey

 

Read more

SICTEAM MULTIBOOT (PENDRIVE MULTIBOOT)

El tema en el que SIC TEAM (Hacking-etico.com) tratará en el siguiente post va dirigido sobre todo a los técnicos informáticos, lo cual no quiere decir que no pueda usarlo otro tipo de profesional porque es sumamente fácil.

Personalmente, me dedico en mi tiempo libre a reparar todo tipo de “aparatejos” electrónicos , y sobre todo equipos informáticos(entre otras cosas). Tras muchas experiencias, y todo tipo de software repartido en diversos medios de almacenamiento, (dícese DVD, CD, PENDRIVE…) me planteé reunirlos todos en un medio re-escribible (ya sabéis, por aquello de actualizar el software o añadirles nuevas utilidades). Navegue por diversas web, pero en la mayoría daban soluciones poco efectivas: O un pendrive que arrancara un Windows…o un Pendrive que arrancaran distribuciones Linux.

Read more