Auditoría ética de un sistema WIFI
18 noviembre, 2016Hoy voy a hablaros de lo fácil que resulta que acceder a vuestra cuenta de correo electrónico por cualquiera que esté conectado a la misma red que vosotros.
Este es un ataque muy habitual y que se da con mucha frecuencia en redes WIFI no seguras, como las de las cafeterías, zonas de acceso gratis, etc.
Básicamente consiste en anular el protocolo seguro https para que el usuario acceda a su correo electrónico, cuenta de Facebook o cualquier otro tipo de acceso con usuario y contraseña y capturar sus credenciales de acceso.
En el siguiente ejemplo, vamos a capturar las credenciales de un usuario que se conecta a su correo electrónico mediante WIFI en una cafetería. Hay que recalcar que este procedimiento resulta muy sencillo siempre y cuando el propietario de la red WIFI no haya instalado un sistema que “aisle” la comunicación entre los usuarios conectados. Por desgracia, esto suele ser muy frecuente debido a que la gente que los instala no configura correctamente el apartado de seguridad de los puntos de acceso.
ACTUACIONES A DESARROLLAR
El ataque que vamos a realizar se denomina “MITM” cuyas siglas en inglés significan Man In The Middle. Este tipo de ataque, traducido al español como Hombre en el medio, implica que nuestro equipo va interceptar la información entre el objetivo y los sitios seguros a los que se conecte y capturar en este proceso sus credenciales de acceso.
Para ello utilizaremos principalmente, dos herramienta de Linux:
- Ettercap, que será la utilidad que nos permitirá capturar los paquetes de red entre el objetivo y su destino.
- SslStrip. Que permite convertir el tráfico cifrado (https) a tráfico normal (http) sin cifrar, lo que nos permitirá capturar las credenciales del usuario en texto plano.
También ejecutaremos otro programa denominado “Wireshark” que permite visualizar y capturar todo el tráfico de red y realizar acciones de consulta sobre el mismo.
En el anexo explicaré otro método de realizar este proceso mediante otra utilidad denominada “mitmf”.
DESARROLLO DE LAS ACTUACIONES
Realizamos un “nbtscan” sobre la red para detectar a nuestro objetivo y descubrimos que se encuentra conectado con un Tablet de Microsoft y la IP 192.168.61.107 a la red WIFI del Starbucks (lo del Tablet lo sabemos porque está utilizando una Surface Pro) .
Esta es una captura ficticia de su pantalla para clarificar el ejercicio:
Ahora que tenemos su IP procedemos al ataque:
# echo 1 >> /proc/sys/net/ipv4/ip_forward
Y a continuación añadimos una regla en nuestro equipo para redirigir todo el tráfico de red TCP cuyo destino sea el puerto 80 al puerto 33333 mediante el siguiente comando:
# iptables –t nat –A PREROUTING –p tcp –destination-port 80 –j REDIRECT –to-port 33333
# sslstrip –l 3333
Seguidamente abrimos la versión gráfica de Ettercap con el comando o seleccionándolo directamente desde el icono:
# ettercap –G
Elegimos el menú “Hosts” y a continuación “Scan for hosts” para buscar los diferentes equipos conectados a la red.
Una vez que haya terminado marcamos desde el mismo menú la opción “Host list” para ver los equipos que se han detectado.
Como estamos conectados a la red y disponemos de internet haciendo una simple comprobación en nuestro equipo sabemos que la puerta de enlace tiene la dirección 192.168.1.1
Añadimos dicha IP en la opción de “Add to Target 1”.
Añadimos la IP del objetivo en la opción de “Add to Target 2”
Abrimos Wireshark y activamos la opción de capturar
Volvemos a Ettercap y elegimos del menú superior la opción “Mitm” y activamos “Sniff remote connections”.
Seleccionamos del menú superior la opción “Start” e iniciamos el sniffing.
Y a esperar a que el usuario se conecte…
El usuario entra en la página de Microsoft e introduce el usuario y su contraseña en login.live.com
En la siguiente imagen podemos verlas dentro de la ventana de detalle de Ettercap
Ahora vamos a ver cómo también aparecen en Wireshark:
Seleccionamos “http” en el filtro (hay que recordar que con los comandos anteriores nuestro equipo elimina el https y pasa a http la sesión del usuario) y buscamos una línea que ponga “POST” en la línea de información. Esto es porque el usuario ha pulsado el botón de conectar o entrar en el formulario de la página.
Ahora pulsamos el botón derecho sobre la línea y elegimos “Follow TCP Stream”
Y en la ventana que nos aparece podemos ver, entre el código, el usuario y la contraseña utilizados para entrar en la página:
Ahora que ya tenemos los datos de acceso podemos cerrar los programas y devolver nuestro equipo a la normalidad tecleando:
# iptables –-flush
# iptables –flush –t nat
ANEXO
Existe otra herramienta llamada “mitmf” que automatiza todo el proceso anterior. Por defecto no viene instalada en la distribución de Kali Linux que estoy utilizando pero su instalación es muy sencilla:
# apt-get install mitmf
Y una vez instalada la lanzamos mediante el siguiente comando:
# mitmf –hsts -a –spoof –arp -i eth0 –gateway 192.168.61.1 –target 192.168.61.107
Una vez iniciada la herramienta nos mostrará las credenciales capturadas: