Cómo Descifré el 70% de las Redes WiFi de Tel Aviv (de una Muestra de 5,000 WiFi Recopiladas).
En los últimos siete años que he vivido en Tel Aviv, he cambiado de apartamento cuatro veces. Cada vez que me enfrentaba al mismo escenario: la compañía de internet tardó varios días en conectar el apartamento, lo que me dejó desconectado y frustrado al tratar de ver Netflix rezagado en la televisión con el hotspot de mi teléfono celular. Una solución que tengo para este escenario es tener el » Hola. Soy el nuevo vecino» habla con los vecinos mientras tratan de obtener su número de teléfono celular en caso de emergencia, y pregunta si puedo usar su WiFi hasta que la compañía de cable me conecte. Creo que todos estamos de acuerdo en que no tener Internet cae fácilmente en la categoría de emergencia. A menudo, su número de teléfono celular también era su contraseña de WiFi.
Planteé la hipótesis de que la mayoría de las personas que viven en Israel (y en todo el mundo) tienen contraseñas de WiFi inseguras que pueden descifrarse fácilmente o incluso adivinarse por vecinos curiosos o actores maliciosos.
La combinación de mi experiencia pasada, un ataque WiFi relativamente nuevo que explicaré momentáneamente, un nuevo equipo de cracking monstruoso (8 GPU QUADRO RTX 8000 de 48 GB) en CyberArk Labs y el hecho de que el WiFi está en todas partes porque la conectividad es más importante que nunca me llevó a investigar, ya sea que tuviera razón con mi hipótesis o tal vez solo suerte.
Con el cambio continuo al trabajo remoto debido a la pandemia, la seguridad de las redes domésticas se ha vuelto imprescindible y representa un riesgo para la empresa si no se hace. Las redes domésticas rara vez tienen los mismos controles que las redes empresariales. Y un programa de seguridad es tan fuerte como su eslabón más débil.
Figura 1-Nueva plataforma de craqueo de CyberArk Labs
Para probar esta hipótesis, reuní 5,000 hashes de red WiFi como mi grupo de estudio paseando por las calles de Tel Aviv con equipos de rastreo de WiFi. Al final de la investigación, pude romper más del 70% de las contraseñas de redes WiFi rastreadas con relativa facilidad. El área metropolitana de Tel Aviv tiene más de 3.9 millones de personas, pueden imaginar cuáles habrían sido los números si no hubiéramos cortado nuestra investigación en 5,000 redes WiFi. Y aunque esta investigación se llevó a cabo en Tel Aviv, los enrutadores que eran susceptibles a este ataque, de muchos de los proveedores más grandes del mundo, son utilizados por hogares y empresas de todo el mundo.
En este blog, demuestro cuán fácilmente (no necesita un equipo de craqueo) y con poco equipo, las contraseñas WiFi inseguras se pueden descifrar, pirateando así la red WiFi .Al final, revelaremos estadísticas de los hashes agrietados y explicaremos cómo defender tu red de este tipo de ataque. Por lo tanto, es de suma importancia que conozcamos y entendamos el método de agrietamiento para formar una defensa adecuada.
Investiguemos
Antes de la investigación de Jens «atom» Steube (desarrollador principal de Hashcat), cuando un hacker quería descifrar una contraseña de WiFi, necesitaba capturar un apretón de manos en vivo de cuatro vías entre un cliente y un enrutador que ocurría solo durante el establecimiento de la conexión. En pocas palabras, el atacante tendría que estar monitoreando la red en el momento en que el usuario o dispositivo se conecta a la red WiFi. Por lo tanto, un hacker necesitaba estar en una ubicación física entre el punto de acceso (enrutador) y el cliente, con la esperanza de que el usuario ingresara la contraseña correcta y que los cuatro paquetes del apretón de manos se detectaran correctamente. Si un hacker no quería esperar a que una víctima estableciera una conexión (lo que puede tomar horas, ¿quién se conecta a su red doméstica mientras está en el trabajo?), el atacante podría des-autenticar a un usuario ya conectado para forzar a la víctima a tener un nuevo apretón de manos de cuatro vías.
Otro vector de ataque es configurar una red gemela maliciosa con el mismo SSID (nombre de red), con la esperanza de que la víctima intente iniciar sesión en la red falsa. Un defecto importante de esto es, por supuesto, que es muy ruidoso (lo que significa que se puede rastrear fácilmente) y se puede notar fácilmente.
En inglés simple, si un adversario quería hackear / descifrar una contraseña de WiFi, debe estar en el lugar correcto (entre los usuarios y un enrutador) en el momento adecuado (cuando los usuarios inician sesión) y tener suerte (los usuarios ingresaron la contraseña correcta y los cuatro paquetes fueron rastreados correctamente).
Todo esto cambió con la innovadora investigación de atom, que expuso una nueva vulnerabilidad dirigida a RSN IE (Robust Security Network Information Element) para recuperar un hash PMKID (se explicará en un momento) que se puede usar para descifrar la contraseña de la red de destino. PMKID es un hash que se utiliza para las capacidades de itinerancia entre puntos de acceso. El uso legítimo de PMKID es, sin embargo, de poca relevancia para el alcance de este blog. Francamente, tiene poco sentido habilitarlo en enrutadores para uso personal/privado (WPA2-personal), ya que generalmente no hay necesidad de roaming en una red personal.
La técnica de Atom no tiene cliente, por lo que la necesidad de capturar el inicio de sesión de un usuario en tiempo real y la necesidad de que los usuarios se conecten a la red son obsoletas. Además, solo requiere que el atacante capture un solo fotograma y elimine contraseñas incorrectas y fotogramas mal formados que perturben el proceso de cracking.
En pocas palabras, no necesitamos esperar a que las personas se conecten a sus enrutadores para que este ataque tenga éxito. Estamos en las proximidades del router/red obteniendo un hash PMKID y tratando de descifrarlo.
Para descifrar un PMKID, primero necesitamos entender cómo se genera.
Cómo se genera el hash de PMKID y qué elementos contiene
Figura 2-Flujo de Cálculo de hash de PMKID y PMK
El cálculo de hash puede parecer desalentador a primera vista, pero profundicemos en él.
Necesitamos generar un PMK impulsado desde SSID (el nombre de red) y la frase de contraseña; luego generamos un PMKID impulsado desde el PMK que generamos, la dirección MAC del AP y la dirección MAC del cliente. Así que veamos dónde podemos encontrarlos:
El PMK se calcula de la siguiente manera:
Figura 3-Cálculo PMK
- Frase de contraseña – La contraseña de WiFi-de ahí la parte que realmente estamos buscando.
- SSID: El nombre de la red. Está disponible gratuitamente en las balizas del enrutador (Figura 3).
- 4096-Número de iteraciones PBKDF2
Figura 4-SSID de una baliza
Después de generar un PMK, podemos generar un PMKID.
El PMKID se calcula de la siguiente manera:
Figura 5-Cálculo PMKID
- PMK – Lo que estamos buscando, generado arriba. En WPA2 personal, el PMK es el PSK (se explicará en el siguiente párrafo).
- «Nombre PMK» – Cadena estática para todos los PKMIDs.
- MAC_AP-Dirección MAC del punto de acceso: Esta dirección se puede encontrar en cualquier fotograma enviado por el enrutador (Figura 4).
- MAC_STA – La dirección Mac del cliente se puede encontrar en cualquier marco enviado por el ordenador del cliente (Figura 4). Además, se puede encontrar en la salida de las instrucciones ifconfig\ip a.
Figura 6 – PMKID, MAC de AP, MAC de cliente
Descifrar el hash de PMKID es, en última instancia, simplemente generar/calcular PMKs con el SSID y diferentes frases de contraseña, luego calcular PMKID a partir del PMK y la otra información que obtuvimos. Una vez que generamos un PMKID igual al PMKID que se recuperó del AP (Figura 3), el hash se agrieta; las frases de contraseña que se utilizaron para generar el PMK correcto desde el que se generó el PMKID son la contraseña WiFi correcta.
Ahora sabemos cómo se está generando un PMKID, y podemos continuar con las fases de olfateo y craqueo de nuestra investigación.
Olfatear PMKID
Para recopilar hashes de PMKID WiFi, se requiere una interfaz de red inalámbrica que tenga capacidades de modo de monitor. El modo de monitor permite la captura de paquetes sin tener que asociarse con un punto de acceso.
Compré una tarjeta de red ALFA AWUS036ACH por 5 50 (hay opciones incluso más baratas) que admite el modo de monitor y la inyección de paquetes y recorrí el centro de Tel Aviv para oler WiFis.
Antes de que podamos comenzar a olfatear, necesitamos preparar nuestro entorno:
Usé una máquina ubuntu con AWUS036ACH ALFA.
Figura 7-AWUS036ACH ALFA NIC
Construimos el paquete Hcxdumptool, una gran utilidad de ZerBea para capturar paquetes desde dispositivos WLAN.
git clone https://github.com/ZerBea/hcxdumptool.gitsudo apt-get install libcurl4-OpenSSL-dev libssl-dev pkg-configmake
Después de eso, necesitamos instalar controladores con capacidad de modo de monitor. Cada chipset tiene sus controladores:
git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.gitmake && make install
Se recomienda cerrar los servicios que puedan interferir con la ejecución de Hcxdumptool:
sudo systemctl stop wpa_supplicantsudo service NetworkManager stop
Entonces es hora de empezar a olfatear. Hcxdumptool es una poderosa herramienta que se puede usar para varios ataques, no solo el PMKID; por lo tanto, deshabilitamos cualquier ataque que no esté dirigido a PMKID.
sudo ../../tools/hcxdumptool/hcxdumptool -i wlx00c0caac2745 -o Wi-Fi_PMKID.pcapng --disable_deauthentication --disable_client_attacks --enable_status=3
- -en mi Alfa NIC, puede ejecutar ifconfig \ ip a para encontrar el nombre de su interfaz.
- – o el pcapng de salida de la ejecución.
Ahora use una sudadera con capucha, porque obtendrá un PMKID de cada red que cruce que sea vulnerable al ataque.
Figura 8-Me en sudadera con capucha
Cuando llegué a 5000 redes recopiladas, decidí dejarlo; el verano israelí era demasiado caluroso para mí, así que recurrí a la parte divertida: romper.
¡Es hora de romperse!
Nuestro primer paso en el procedimiento de cracking es instalar hashcat, la herramienta de recuperación de contraseñas más rápida y avanzada del mundo. Como los resultados de rastreo están en forma de pcapng, necesitábamos convertirlos en un formato de archivo hashfile para ajustarlo a hashcat. Para este objetivo, hice uso de otra herramienta de la gran suite de hcxtools.
hcxpcapngtool -o Wi-Fi_pmkid_hash_22000_file.txt Wi-Fi_PMKID.pcapng
Que resulta en un archivo hash que cada línea tiene la siguiente estructura:
FIRMA * TIPO * PMKID / MIC * MACAP * MACSTA * ESSID * * *
Aquí hay un ejemplo de una línea hash:
WPA * 01 * c6d5c97b9aa88cbe182429275a83efdb * 302478bee0ee * acde48a84862*54686557494649***
- SIGNATURE = «WPA»
- TYPE = 01 para PMKID, 02 para EAPOL, otros a seguir
- PMKID/MIC = PMKID if TYPE==01, MIC if TYPE==02
- MACAP = MAC de AP
- MACSTA = MAC de estación
- ESSID = ESSID
- No se utiliza en un ataque PMKID:
- ANONCE = ANONCE
- EAPOL = EAPOL (SNONCE está aquí)
- MESSAGEPAIR = Máscara de bits
El siguiente paso es comenzar el procedimiento de cracking ejecutando hashcat:
Las capacidades de Hashcat incluyen varios métodos de cracking, de los cuales los más comunes son reglas de diccionario + y ataque de máscara. Los métodos difieren en la forma en que forman la frase de contraseña.
Elegimos comenzar con lo que se llama un «ataque de máscara», debido al terrible hábito que muchas personas que viven en Israel tienen de usar sus números de teléfono celular como contraseñas de WiFi. Puedes pensar en mask attack como expresión regular:
- ?¿dígitos d
- ?l-caracteres minúsculas
- ?caracteres en mayúsculas en u
- ?s – símbolos especiales como ? ! $ …..
La máscara para la contraseña: 202!u ummeR se convertiría ?d?d?d?s?s?l?l?l?l?u
Aquí está mi comando Hashcat que probó todas las combinaciones posibles de números de teléfono celular en Israel
sudo hashcat -a 3 -w4 -m 22000 /home/tuser/hashes/Wi-Fi_pmkid_hash_22000_file.txt 05?d?d?d?d?d?d?d?d -o /home/tuser/hashes/pmkid_cracked.txt
Durante esta primera ejecución del ataque de máscara, desciframos 2,200 contraseñas. Calculemos el número de opciones para números de teléfono celular israelíes:
Tiene 10 dígitos y comienza con 05. Por lo tanto, necesitamos adivinar los 8 dígitos restantes.
Cada dígito tiene 10 opciones (0-9), por lo tanto 10**8 combinaciones posibles. Cien millones parecen un montón de combinaciones, pero nuestro monster rig calcula a la velocidad de 6819,8 kH/s, lo que se traduce en 6.819.000 hashes por segundo.
No se requiere una plataforma de craqueo, ya que mi computadora portátil puede llegar a 194,4 kH/s, lo que se traduce en 194,000 hashes por segundo. Eso equivale a más que suficiente potencia informática para recorrer las posibilidades necesarias para descifrar las contraseñas. En consecuencia, mi computadora portátil tardó aproximadamente 9 minutos en romper una sola contraseña de WiFi con las características de un número de teléfono celular. (10**8)/194,000 = ~516 (segundos) / 60 = ~ 9 minutos.
La velocidad de craqueo de los tipos de hash difiere debido a las diferentes funciones de hash y el número de iteraciones. Por ejemplo, PMKID es muy lento en comparación con MD5 o NTLM. Sin embargo, es factible descifrar un hash PMKID si el atacante se centra en una red específica, y la contraseña no es lo suficientemente complicada.
Después, ejecutamos un ataque de diccionario estándar con el diccionario más común, Rockyou.txt, y descifró más de 900 hashes. Aquí hay un pequeño vistazo a Rockyou.contenido txt:
123456 12345 123456789 contraseña iloveyou princess 1234567 rockyou 12345678 abc123 nicole daniel babygirl monkey lovely jessica 654321 michael ashley
Echemos un vistazo a las estadísticas de los hashes agrietados:
Contraseñas agrietadas por su longitud:
La Longitud De La Contraseña | Ocurrencias |
10 | 2405 |
8 | 744 |
9 | 368 |
12 | 14 |
11 | 14 |
14 | 7 |
13 | 7 |
Suma | 3,559 |
Como se puede ver, a excepción de los 10 dígitos de la contraseña — que tuvimos una medida de la máscara — como el aumento de la longitud de la contraseña, el número de contraseñas rotas disminuyó. La lección aquí? Cuanto más larga sea la contraseña, mejor.
4 Mejores mascarillas para el agrietado contraseñas:
Máscara | Veces | Significado |
Máscara | Veces | Significado |
?d?d?d?d?d?d?d?d?d?d | 2349 | 10 dígitos |
?d?d?d?d?d?d?d?d | 596 | 8 dígitos |
?d?d?d?d?d?d?d?d?d | 368 | 9 dígitos |
?l?l?l?l?l?l?l?l | 320 | 8 letras minúsculas |
Suma | 3,633 |
podemos ver que descifraron las contraseñas más a menudo se ajustan a una máscara que contiene sólo números o sólo letras minúsculas.
No todos los routers admiten funciones de itinerancia y, por lo tanto, no son vulnerables al ataque PMKID. Sin embargo, nuestra investigación encontró que los enrutadores fabricados por muchos de los proveedores más grandes del mundo son vulnerables.
Como estimé de antemano, el proceso de olfatear WiFis y los procedimientos de craqueo posteriores fue una empresa muy accesible en términos de equipo, costos y ejecución.
La conclusión es que en un par de horas y con aproximadamente 5 50, su vecino o un actor malicioso puede comprometer su privacidad y mucho más si no tiene una contraseña segura.
Conclusión
En total, desciframos más de 3,500 redes WiFi en y alrededor de Tel Aviv, el 70% de nuestra muestra.
La amenaza de una red WiFi comprometida presenta un riesgo grave para las personas, los propietarios de pequeñas empresas y las empresas por igual. Y como hemos demostrado, cuando un atacante puede descifrar más del 70% de las redes WiFi en una ciudad global importante con relativa facilidad, se debe prestar mayor atención a protegerse a sí mismo.
En el nivel más básico, las personas que usan su red toman parte de su ancho de banda, lo que puede ralentizar su experiencia de Internet. Sin embargo, lo más importante es que una vez que los atacantes obtienen acceso a su red, pueden lanzar varios ataques man-in-the-middle (MITM). Eso puede llevar a que los atacantes obtengan acceso a sus cuentas importantes, como su cuenta bancaria, su cuenta de correo electrónico (que es todo en la vida moderna) y comprometer otras credenciales confidenciales. Esto también abre aún más los vectores de ataque a sus dispositivos IoT, como equipos domésticos inteligentes, televisores inteligentes, sistemas de seguridad, etc.
Para las pequeñas empresas, el riesgo radica en que un atacante se infiltre en una red y luego se mueva lateralmente a aplicaciones o datos de alto valor, como un sistema de facturación o un cajero.
En cuanto a la empresa, es posible que un atacante obtenga acceso inicial a la WiFi de un usuario remoto y luego vaya a la computadora del usuario y espere una conexión VPN o que el usuario vaya a la oficina y se mueva lateralmente desde allí.
Desde una perspectiva más amplia, las computadoras y otros dispositivos generalmente no son accesibles desde fuera de la red debido a NAT, pero una vez que un atacante está en la red, facilita una gama de vectores de ataque.
¿Cómo debo protegerme?
- Elija una contraseña compleja. Una contraseña segura debe incluir al menos una minúscula carácter, un carácter en mayúscula, un símbolo, un dígito. Debe tener al menos 10 caracteres. Debe recordarse fácilmente y ser difícil de anticipar. Mal ejemplo: Summer Summer 021
- Cambie el nombre de usuario y la contraseña predeterminados de su enrutador.
- Actualice la versión de firmware de su router.
- Deshabilite los protocolos de cifrado débiles (como WAP o WAP1).
- Deshabilitar WPS.
Es importante tener en cuenta que implementar la autenticación multifactor (MFA) para WiFi personal es difícil y en gran medida poco práctico para un WiFi personal y un consumidor no técnico. También es poco probable que el AMF esté ampliamente disponible para casos de uso general del consumidor en la función near.
me gustaría dar un gran grito al Átomo y ZerBea por su increíble trabajo en esta técnica de ataque y por su trabajo en general.
Espero que hayas disfrutado de este blog y que tomes las medidas necesarias para proteger tu red WiFi. Y como recordatorio, ninguna de las contraseñas que desciframos se usó para el acceso no autorizado a estas redes WiFi o cualquier otra información accesible a través de estas redes.