Analizando redes wifi (Segunda parte)

En esta segunda entrega del artículo vamos a llevar a cabo ciertas pruebas que nos vendrán bien a la hora de realizar una auditoría.

AUDITANDO LA SEGURIDAD

A continuación vamos a ver ciertas técnicas que podemos llevar a cabo durante un auditoría wifi:

AUDITANDO WPS PIN

Durante el escaneo de las redes wifi disponibles que hemos visto anteriormente, hemos utilizado el comando airodump-ng con el parámetro –wps . Este nos daba información sobre si el WPS se encontraba activado en el router:

thf_wifi_tecnica_wps

Para comprobar la seguridad de esta configuración utilizaremos la herramienta bully que realizará fuerza bruta de pines al punto de acceso seleccionado. Lo ejecutaremos con el parámetro -b <bssid> como se muestra:

thf_wifi_tecnica_wps_bully

También podremos lanzarlo indicando el canal en el que emite el punto de acceso con –channel <canal> y el pin de siete dígitos máximo con -p <pin> por el que queremos que empiece a realizar fuerza bruta:

thf_wifi_tecnica_wps_bully_2

Hay que tener en cuenta que por lo general es un proceso que lleva bastante tiempo por lo que habrá que dejarlo ejecutando y revisarlo de vez en cuando ante posibles errores o bloqueos del punto de acceso.

AUDITANDO WPA2 ENTERPRISE

Las redes wifi más comunes son aquellas que nos piden una contraseña para poder conectarnos. Pero en el mundo empresarial, estas redes son un poco más seguras. Están configuradas con WPA2-Enterprise (802.11x) cuya autenticación se hace a través de usuario y contraseña y certificado (EAP-TLS) que serán validados contra un servidor RADIUS. Pero a pesar de todo esto, si los usuarios se conectan sin validar los certificados (EAP-MSCHAPv2), es posible capturar ciertos parámetros en la autenticación de un usuario (challenge y response) para poder obtener las credenciales a través de fuerza bruta.

Tendremos que instalar las librerías libnl-genl-3-dev y libssl-dev:

thf_radius_dependencias_1

Seguidamente nos descargaremos con wget la versión específica de hostapd:

thf_radius_hostapd_2

Descomprimiremos el paquete descargado y nos bajaremos de github la versión específica de hostapd-wpe:

thf_radius_extraer_clone_3

Tendremos que entrar en el directorio descomprimido anteriormente y aplicar el patch:

thf_radius_aplicar_patch_4

Aplicado el patch, eliminaremos la # con el comandosed en el fichero .config y compilaremos:

thf_radius_sed_make_5

Accederemos a la carpeta de los certificados y generaremos las claves necesarias para que todo funcione correctamente:

thf_radius_bootstrap_6

Después de todos estos pasos, configuraremos el fichero hostapd.conf :

thf_radius_edit_conf_61

La configuración que estableceremos es la que se corresponde con las siguientes tres imágenes:

thf_radius_hostapd_conf_7

El campo ssid debería coincidir con el de la red wifi legítima para llevar a cabo la auditoría. En este caso hemos elegido un nombre ficticio:

thf_radius_hostapd_conf_8

thf_radius_hostapd_conf_9

Con esto ya tenemos todo configurado y listo para la acción. Arrancaremos hostapd con el fichero de configuración anterior:

thf_radius_arrancar_ap_10

Ahora sólo nos queda esperar a que alguien se conecte a nosotros, por lo que tendremos dos opciones, desautenticar a los usuarios de la red corporativa (sería recomendable pedir permiso) o esperar a que alguien por error se conecte a nosotros… Y voilá, usuario capturado:

thf_radius_usuario_capturado_11

Observamos como aparece el nombre del usuario que se ha conectado, el challenge que envía el usuario al servidor y el response que envía el servidor al usuario. Estos parámetros son los que necesitaremos para pasárselos a la herramienta asleap que junto a un diccionario robusto, podrá extraer las credenciales del usuario:

thf_radius_ataque_asleap_12

Si los usuarios tienen configurada una contraseña con una buena política (mayúsuculas, minúsculas, números y símbolos) será casi imposible obtener las credenciales, pero se puede dar el caso de que pongan como credenciales nombres de familiares, mascotas, fechas de cumpleaños, etc…. que son fácilmente adivinables.

AUDITANDO ESSID OCULTOS

Al realizar una auditoría de una red wifi puede ser que el cliente requiera conocer las redes wifi ilegítimas, levantadas por ejemplo para tener internet saltándose la política de la empresa, que se encuentren ocultas dentro del edificio. Existen dos formas de identificar el ESSID oculto de esas redes wifi: de forma pasiva y de forma activa.

En este ejemplo nos hemos decantado por la forma pasiva. Haremos primeramente un descubrimiento de las redes wifi que están en nuestro alcance y que no disponen del ESSID ya que está oculto:

thf_wifi_oculta_1

El siguiente paso sería identificar la dirección MAC del punto de acceso (campo BSSID) para utilizarla con el analizador de red Wireshark y filtrar los paquetes por esa dirección MAC. El filtro que aplicaríamos en Wireshark sería wlan.sa==XX:XX:XX:XX:XX:XX||wlan.da==XX:XX:XX:XX:XX:XX||wlan.ra==XX:XX:XX:XX:XX:XX||wlan.ta==XX:XX:XX:XX:XX:XX . Una vez establecido el filtro de captura, sólo nos quedaría esperar a que un cliente se conecte a esa red wifi oculta y se realice un envío de paquetes Probe_request – Probe Response para que se capture el nombre del ESSID :

thf_wifi_oculta_3

La forma activa consistiría en realizar la misma prueba pero desautenticando a los clientes que se encuentren conectados al punto de acceso oculto de forma que se reconecten automáticamente, en vez de esperar a que alguno se conecte.

 

Deja un comentario

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