Ataque MITM mediante vector HID (BADUSB)

Los usos y capacidades avanzadas de la implementación de hardware USB con la finalidad de llevar a cabo ataques hacia redes mediente este vector es todavía algo que mucha gente en el área de la informática desconoce. Entre las herramientas de apoyo que más destacan par estas tareas se encuentra la BADUSB, esta es una herramienta capaz de poner en peligro y comprometer las comunicaciones de línea fija por USB a través de un ataque Man in the Middle.

El funcionamiento de este vector de ataque esta en conectar el móvil a una PC, se configura el movil y se conecta al equipo mediante un cable USB, cuando se conecta a un equipo víctima el móvil actuará como una interfaz de red, obligando a todo el tráfico del ordenador a pasar a través del dispositivo que trae consigo a NetHunter, en donde estaremos posicionados como Man in the Middle filtrando el tráfico en el móvil, próximamente hablaré a detalle sobre lo que es NetHunter.

¿En qué consiste?

Aquí interviene un uso bastante simple de ingeniería social. Lo que se hará será conectar el móvil al equipo víctima, con la configuración que se verá en un momento, al hacer esto el ordenador no reconocerá al móvil conectado como un dispositivo multimedia, si no como una tarjeta de red o interfaz de red, por lo que al conectarlo pasará de tener una conexión Wi-Fi a tener un tipo “Wired” (Ethernet), en caso de que ya fuese así, solo cambiará el nombre o número de interfaz de red (Eth3, Eth5, Eth6, etc.)  de lo cual será lo único extraño que llegará a notar la víctima, el móvil actuará como una tarjeta de red, por la cual pasará el tráfico entre el cliente y servidor.

Para que este ataque funcione debe estar habilitada la transferencia de datos vía USB (MTP):

1

Lo necesario:

Antes de conectar el dispositivo al ordenador objetivo, hay que hacer unas configuraciones previas a la conexión por USB. Para esto, abriremos una terminal de Kali en el dispositivo, dentro, navegaremos hacia el directorio “/sdcard/nh_files” en donde se hallan archivos que serán parte de nuestra configuración.

La ubicación del directorio “/sdcard” puede variar.

Dentro, se encuentra el archivo “Flushiptables.txt”, el cual contiene comandos que se encargarán de establecer una configuración para despejar las IP Tables en Linux, esto lo haremos mediante el comando “bash Flushiptables.txt:

2

Ya está listo, iniciaremos nuestro ataque BADUSB mediante el menú de Kali NetHunter.

el menú de NetHunter, escogiendo la opción llamada “Bad USB MITM Attack”:

puto3

Una vez dentro de la función “Bad USB MITM Attack”, nos aparecerán múltiples detalles, entre ellos la interfaz que se usará para esto, en este caso se trata de “rndis0”.

En la parte superior, aparecerán 2 opciones, una para iniciar el ataque y otra para detenerlo, lo iniciamos con la primera (Start BadUSB Attack). Al hacer esto inmediatamente nos aparecerá un recuadro indicándonos que se han otorgado permisos tipo root para trabajar sobre esta función, esto aparece cada que se ejecuta una función de NetHunter.

4

Ahora que hemos configurado el hardware, pasaremos a conectar el teléfono al equipo ajeno al que se le quiere hacer sniffing mediante MITM, el detalle está en que solo lo dejamos “cargando” un momento en el equipo ajeno, sería bastante patético e ingenuo estar usando el movil para visualizar paquetes y tráfico mientras está conectado al equipo objetivo.

Es por esto que pondremos a trabajar una herramienta llamada “tshark”, lo que hará será filtrar en un archivo de extensión .cap todo el tráfico que este fluyendo por nuestro movil que tiene corriendo un MITM, de esta manera, podremos revisar más tarde este archivo de captura con nuestro analizador de red preferido, por ejemplo, Wireshark.

Wireshark visualizará el archivo desde una computadora, no desde el movil.

Para configurar tshark, ejecutaremos el siguiente comando sobre la terminal en la que nos encontrábamos: tshark -i rndis0 -w “Nombre del archivo de captura” .cap

Donde:

  • -i: Indica la interfaz, en este caso rndis0, que se vio en el menú de NetHunter.
  • -w: Aquí se especifica el nombre del archivo de captura con extensión .cap

Al ejecutar esto, tshark, comenzará a filtrar los paquetes, indicándonos con un contador los paquetes filtrados, el archivo de captura se guardará dentro el directorio que se ejecute el comando, en esta demostración se recorrió un directorio para que se guardará en “nh_files”:

5

Ahora, que tenemos el ataque corriendo mediante la terminal, también mediante el menú de NetHunter y teniendo a tshark trabajando, es momento de conectar con un cable USB nuestro móvil al equipo objetivo.

Recuerda habilitar el modo MTP, para que la PC reconozca el dispositivo y este después se convierta en una “tarjeta de red” para el equipo.

Ya que hayamos conectado el móvil al equipo, este automáticamente cambiará de ser un dispositivo multimedia o extraíble a convertirse en un adaptador de red para el equipo, por lo que es posible que aparezca un aviso de una nueva conexión establecida, la cual generó el móvil. En la siguiente imagen se muestra el centro de redes y recursos compartidos en Windows, donde aparecen las 2 conexiones existentes, en donde Ethernet 3, enumerada como “Red 5” es la conexión que se generó con el móvil:

6

Ahora, que está conectado al equipo y configurado con un MITM corriendo, solo queda esperar a que esta persona continúe con su rutina navegación o a que pase un intervalo de tiempo para que recojamos el movil después.

En este ejemplo, durante el tiempo que estuvo conectado el movil se navegó hacia diferentes sitios web los cuales contienen uno o más formularios de Loggeo, las plataformas de trabajo ocupan servicios que contenga alguna página con algún login, y puesto a que tenemos un MITM corriendo y capturando el tráfico, la información que pase por algunas de esas páginas o formularios estará expuesta y leerla con posterioridad.

En este ejemplo usé la plataforma de exámenes de Develop que usaba durante una certificación que tomé:

7

Una vez que se haya pasado el tiempo que hayamos decidido poner en marcha el ataque, simplemente se desconectará el movil del equipo y terminaremos el proceso de tshark, para hacerlo basta con presionar el botón del volumen bajo y presionar C en el teclado, en NetHunter esto es el equivalente al Ctrl + C en Linux para detener procesos en una terminal de comandos, en donde se muestra la cantidad de paquetes filtrados en el archivo de captura y seguido de la finalización del proceso:

8

Ya que se haya detenido el proceso, solo falta extrae el archivo de captura que generó tshark de donde reside en el movil y abrirlo con nuestro analizador de red para ver el contenido de estos paquetes, los cuales se visualizarán con Wireshark.

9

En este ejemplo se usa el S.O Parrot Security, en donde ya viene precargado Wireshark, esta herramienta está disponible para Windows, Mac y Linux.

Ya estando en Parrot, abriremos Wireshark, el cual se puede iniciar mediante línea de comandos o desde el menú de aplicaciones en la categoría de “Sniffing/Spoofing”:

1011

Una vez abierto Wireshark, seleccionarás la opción “Open a capture file”, desde de la cual navegaremos hacia donde tengamos el archivo .cap y lo abriremos:

12

Una vez abierto, se mostrará todo el contenido del archivo de captura, organizándose por columnas, en donde nos indica el origen/fuente, el destino, el contenido, protocolo, tamaño, e información o descripción del paquete, asi como el usuario y password ingresados en el sitio anterior:

131415

Como se vio en esta demostración, NetHunter puede hacer uso del hardware del movil con una finalidad algo perjudicial, además de que también resulta útil para administradores que están revisando el tráfico en la red.

En #labibliadelhacking2.0 y la certificación COISP 2.0 se verán ejercicios y temas similares y mucho más complejos que este en cuanto al uso del movil para hacer pentesting.

Todo el contenido de este escrito fue hecho con fines educativos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *