Redes MGT
Redes WPA-MGT
1. Obtención de información
Usando los filtros de Wireshark podemos conocer:
1.1. Identificación de usuarios de la red
Los identificadores que los usuarios usan para autenticarse en la red:
Después buscamos en el detalle de los paquetes Identity.Response:
802.1X Authentication > Extensible Authentication Protocol > Identity
1.2. Identificación del certificado del servidor
El certificado usado por el servidor RADIUS:
Después buscamos en el detalle:
TLSv1 Record Layer > Handshake Protocol > Certificate
Para guardar el certificado:
Click derecho sobre el string del certificado > Export Packet Bytes
2. Autenticación del servidor RADIUS
Es posible conocer los métodos de autenticación que acepta el servidor RADIUS, no sólo para analizarlos, sino de cara a futuras pruebas.
Para ello debemos usar un usuario existente.
3. Obtener credenciales de usuarios
Para obtener contraseñas de usuarios existentes en la red vamos a seguir estos pasos:
Generamos un certificado auto-firmado (si es con información similar a la red que queremos suplantar, será más real a los clientes que se conectarán posteriormente)
Levantamos un Rogue AP suplantando a la red legítima
Para forzar que los clientes de la red se conecten a nuestro AP, identificamos los puntos de acceso de la red que tienen clientes conectados, y los des-autenticamos
Cuando los clientes se conectan a nuestro AP, compartirán su hash NETNTLM, y para crackearlo usaremos
4. Downgrade de autenticación
Si el servidor RADIUS acepta métodos de autenticación poco robustos, esta prueba nos permite obtener las credenciales de usuarios en texto plano.
Esto lo conseguimos levantando un punto de acceso falso, y forzando que las conexiones se realicen usando el método de autenticación más débil.
Se pueden des-autenticar a los clientes conectados a un AP para forzar que se conecten al nuestro
Y cuando los clientes se conecten a nuestro AP, será usando su contraseña en texto plano.
5. Fuerza bruta para obtener contraseñas
Para esta prueba necesitamos indicar la MAC de la red víctima (ESSID), la ruta donde tenemos el diccionario que vamos a usar, y el usuario (además de la interfaz de red)
6. Password Spraying a un listado de usuarios
Hay organizaciones que usan contraseñas con patrones conocidos (como por ejemplo Empresa.1, primavera2019...), y que facilitan a usuarios poco originales su generación de posteriores contraseñas.
IMPORTANTE En esta prueba hay que tener en cuenta la política de bloqueo de usuarios, ya que si se realiza esta prueba varias veces se podrían bloquear usuarios.
Para este caso necesitamos tener un listado de usuarios válidos
7. Relay attack
Esta prueba consiste en realizar un ataque de MiTM, de forma que usaremos el challenge del AP con el cliente que pretende conectarse a la red, interceptando también la respuesta del cliente y reenviándola al punto de acceso legítimo, de forma que cuando se autentique el cliente con el AP legítimo estaremos "en medio" de la conexión.
Para esta prueba usaremos 3 interfaces de red, varias consolas simultáneas, y seguiremos los siguientes pasos:
Identificar el AP de la red al que queremos reenviar las peticiones.
Crear el fichero de configuración wpa_sycophant.conf
Para levantar el AP conectado al wpa_sycophant usaremos berate_ap.
*En el caso de la interfaz con salida a internet, suele ser "eth0", y si usamos alguna VPN "lo".
Hacemos des-autenticación a los clientes del AP legítimo
Levantamos nuestro AP intermediario con wpa_sycophant
Debemos esperar a que el cliente se conecte a nuestro AP, y ahí wpa_sycophant se conectará al AP legítimo para iniciar la autenticación.
IMPORTANTE
Si al lanzar wpa_sycophant falla, debemos cambiar en el fichero wpa_sycophant.conf
phase1="peapver=1"
Una vez se conecta el cliente al AP, asignamos una dirección IP
8. Suplantar Punto de Acceso (Rogue AP)
Para realizar esta prueba tenemos que tener varios factores en mente:
Debemos crear un certificado (como lo hemos obtenido en el punto 1, lo podemos replicar para que sea menos sospechoso a los clientes). Esta creación la podemos hacer de 2 formas:
Crear el servidor RADIUS con la información adecuada.
Modificaremos 2 ficheros de la herramienta freeradius:
/etc/freeradius/3.0/certs/ca.cnf
/etc/freeradius/3.0/certs/server.cnf
Nos cambiamos al directorio /etc/freeradius/3.0/certs/
Configurar el Rogue AP.
Para ello usaremos hostpad-mana. Cambiamos nuestra ubicación a /etc/hostapd-mana/ (o donde tengamos instalada la herramienta), y modificamos los archivos
mana.conf:
mana.eap_user
Habilitar Rogue AP
Lanzamos el Rogue AP con hostapd-mana
9. Conexión a la red
Una vez tenemos credenciales válidas, debemos configurar el fichero wpa_supplicant_ESSID.conf
Con este resultado podremos conectarnos a la red (con la interfaz en modo managed)
Una vez lanzado este comando, debemos leer los EVENT-SCAN-RESULTS para analizar los posibles fallos en la conexión (CTRL-EVENT-SCAN-FAILED).
Cuanto veamos EVENT-SCAN-CONNECTED habremos conseguido conectarnos a la red.
Una vez conectados debemos solicitar una dirección IP al DHCP.
Herramientas
Recursos y enlaces de referencia
Last updated