WPA/WPA2
Last updated
Last updated
WPA (Wi-Fi Protected Access) y WPA2 son protocolos de seguridad inalámbrica que proporcionan autenticación y cifrado seguros para las redes Wi-Fi. Estos protocolos se diseñaron para mejorar las debilidades del protocolo WEP . En estos protocolos, para que la información viaje cifrada entre los dispositivos que están permitidos en la red, se utiliza el protocolo del Four Way Handshake en el que a través de 4 mensajes que se intercambian entre un cliente y un punto de acceso para establecer una clave de cifrado compartida. Consta de 4 pasos, comenzando cuando un cliente envia una solicitud para autenticarse al AP:
El AP envía un un ANonce , permitiendole ahora al cliente el crear la PTK.
Ahora el cliente envia un SNonce junto con el MIC, estos elementos le permiten al AP crear la PTK.
El AP le envía la GTK al cliente y este la almacena.
El cliente le envía un mensaje al AP para indicarle que todo está correcto.
Glosario:
PSK: Pre Shared Key, es la contraseña para acceder al Access Point.
PMK: siglas de Pair Master Key, es una clave compuesta tanto por la PSK (pre shared key) y el SSID (utilizado como salt para darle aleatoriedad a la clave), y la dirección mac de la estación.
ANonce: es un valor aleatorio, por lo tanto único, generado por el AP al momento de querer autenticarse un cliente, ya que con este valor se podrá generar la PTK.
PTK: es una clave de cifrado temporal utilizada en el proceso de autenticación de un cliente con un access point. Esta compuesta por: PMK + ANonce + SNonce + MAC-AP + MAC-STA.
MIC: sirve para garantizar que la integridad del mensaje no fue alterada. Ya que el cliente y el ap pueden calcularlo, asi verifican la integridad del mensaje.
GTK: Group Temporal Key, es una clave compartida entre todos los miembros de la red utilizada para desencriptar todo el tráfico de broadcast (hacia toda la red) o multicast (un grupo de direcciones IP). Esta es actualizada regularmente en la red.
Para poder ganar acceso al access point, vamos a necesitar obtener la PSK. Por lo que si lograsemos capturar todo el proceso del Four Way Handshake seríamos capaces de intentar por fuerza bruta obtener la contraseña. Esto es así por que para poder obtener la clave de la red, esta está contenida en el PMK, que a su vez este está contenido en la PSK, siendo este el único valor que nos falta de la ecuación para obtener la clave.
Para obtener el handshake o bien lo podemos capturar de forma pasiva esperando a que un cliente se conecte a la red o bien deautenticando uno o todos los clientes de la red por una cantidad que determinemos de tiempo, para así forzar a capturar el handshake cuando se intenten reconectar.