sábado, 1 de octubre de 2016

Análisis de un USB con ayuda de Wireshark

Estaba que no podía dormir y decidí levantarme de la cama y encender el ordenador para analizar una serie de webs que tenía que auditar. En ese momento recordé que una empresa que solicitó a SoftCrim una auditoria había sido afectada por un usb previamente troyanizado. Sí, aunque parezca mentira aún hay gente que se deja enchufar pen drives de cualquiera. Así que haciendo caso a mi profesor de Redes sentí la curiosidad de saber el por qué de las cosas y quise saber qué ocurría por debajo y la verdad, aprendí mucho.


Evidentemente sé el funcionamiento básico de un usb, ya que un sistema operativo es capaz de leer un usb porque usa el mismo sistema de archivos. Pero yo quería saber más, quería entender qué ocurría cuando yo enchufaba el usb en mi ordenador, quería entender por qué, cómo y qué ocurría por debajo.

Aunque antes de empezar, creo que es obligatorio que especifique  algo que va a aparecer en las siguientes capturas, y es el qué es una Clase. Una clase es lo que nos hará capaces de poder definir funcionalidades del dispositivo USB en cuestión. En base a ésto, podemos definir diferentes clases:

           -C1: Audio
           -C3: HID [Human Interface Device]
           -C6: Imagen
           -C7: Impresoras
           -C8: Mass Storage

Nuestros pen drives que usamos habitualmente son el C8, es decir, los Mass Storage. Un monitor o teclado es C3. Ya que hemos hecho esta diferenciación, creo que estamos capacitados para continuar.


Tras mucho informarme para ver cómo podría analizar un usb, vi que con WireShark podía usando el usbmoon. Yo, el sistema operativo que estaba usando es una máquina virtual con Kali Linux, ya que últimamente me gusta mucho forzar con Kali. Puede que alguno que use una máquina Virtual tenga el problema de que no le aparezca el USB, pues para esto, la solución es muy sencilla. En VirtualBox ves que abajo-cuando ya has iniciado una máquina- te aparece un icono de un cable usb, pues bien, pulsas botón derecho y selecciones el usb que, lógicamente, has debido introducir previamente.

Como vemos, el host detecta que se ha introducido una unidad USB con la dirección 1.4.0, para posteriormente, quedarse con la 1.2.0. Además de solicitar un GET para solicitar información, en concreto un descriptor, que, haciendo honor a su nombre, describirá características y funcionalidades del sistema.

Centrándonos en la columna Info, vemos que hay una comunicación clara entre el host y el dispositivo. El host le pide que le proporcione información acerca del dispositivo y la configuración entre otras muchas cosas. Recordad que debe disponer del mismo sistema de archivos que el sistema operativo sobre el que se monte.


Esta comunicación es de lo más interesante, eran alrededor de las 7:20 de la mañana-un domingo que llevaba despierto desde las 4- y yo me sentía como la Vieja del Visillo, es más, me puse la canción y todo.




Volviendo al tema del análisis de la Unidad USB, podemos observar como a la solicitud del host, se produce una respuesta del dispositivo. En concreto le responde con la versión del usb con el bcdUSB:0X0110, el tamaño máximo de los paquetes con el bMaxPacketSize0:64 -es decir, 64 bytes-. Además le responde también con el identificador del vendedor, que en este caso es Kingston Technology el identificador del producto, en este caso DataTraveler 2.0 de 2 GB y su número de configuraciones con bNumConfigurations: 1.



Con toda esa información, lo que hace el host-más o menos- es "buscar por Google" para hacerse una imagen del dispositivo, que en este caso, el que estaba usando era el verde. Es decir, hace lo mismo que cuando una chica guapa te da su número de teléfono, tú previamente le has solicitado información; a continuación ella te lo da, y tú rápidamente la añades a los contactos y vas a Whatsapp para ver su foto. Pues la tecnología se ve que hace lo mismo y entender lo que hace, cómo lo hace y por qué, es lo mejor que puede existir.

¿Hackeamos el mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...