¿Cómo descifrar las contraseñas WiFi compartidas?

Con la introducción de iOS 11 y macOS High Sierra, se agregó una nueva función: compartir contraseñas WiFi.

ingrese la descripción de la imagen aquí

Esta increíble y conveniente función tiene un inconveniente: las contraseñas se almacenan encriptadas en el llavero. Desde mi conocimiento decente de las redes wifi, macOS debe poder descifrar la clave cifrada en la contraseña de texto sin formato para usarla para conectarse.

¿Cómo puedo descifrar la clave del llavero para obtener la contraseña en texto sin formato?

Respuestas (2)

La respuesta resumida es que no es necesario pasar la contraseña, ya que la autenticación puede aprovechar un valor derivado que combina el SSID y la frase de contraseña en una cadena hexadecimal más bien larga (o valor, ya que al final todo es un número) y almacena eso. Tendría que aplicar ingeniería inversa o descifrar ese proceso unidireccional intencional para eliminar el componente de contraseña del producto final.

Aquí hay un artículo que describe su pregunta.

Muy bien, por ejemplo, aquí está la contraseña que usé: SomeSnazzyPassphrase!Y aquí está en el llavero después de que iOS la comparta con una Mac.CEAF1EE4F3050D25F2EF057A66CFD4570559C95656450407136347B75960255E

Antes de entender cómo revertirlo, debemos entender cómo llegamos allí.

En primer lugar, estamos usando un programa llamado wpa_passphrase, que se usa en combinación con su SSID y frase de contraseña, para generar esa larga cadena codificada.

Así es como obtuvimos la gran "contraseña" anterior: wpa_passphrase <ssid> [passphrase]
Por ejemplo wpa_passphrase MySSID SomeSnazzyPassphrase!
Y tenemos el PSK hash creado para serCEAF1EE4F3050D25F2EF057A66CFD4570559C95656450407136347B75960255E

Ahora que wpa_supplicant usa un cifrado basado en AES, revertir eso no será fácil. De hecho, me voy a aventurar y decir que es prácticamente imposible.

Estoy confundido. Hablas de hash de PSK, pero el hashing es irreversible, entonces, ¿cómo puede el segundo dispositivo obtener la contraseña y usarla para conectarse?
¿Y cómo pasamos del cifrado PSK Hash al cifrado AES?
¿También sabes si el algoritmo hash usa una sal?
Lo siento, probablemente usé mal la palabra hash aquí y no conozco el código interno tanto como me gustaría para responder a su pregunta.
No, hashing es el término correcto. WPA-PSK deriva el PSK del SSID y la frase de contraseña. Esto sí que es irreversible. Consulte crypto.stackexchange.com/a/28981
@JBis El primer dispositivo no comparte, y el segundo dispositivo nunca obtiene, el texto sin formato de la contraseña. La PSK (clave precompartida) es la credencial que se comparte entre los clientes. Cada cliente usa el PSK para autenticar si alguna vez supo o no la contraseña de texto sin formato que se usó para crear un PSK en particular.

Abra la aplicación "Acceso a llaveros".

Busque el nombre de la red WiFi. Lo verás en la lista como una "contraseña de red AirPort".

Haga doble clic en la entrada para abrir los detalles de la contraseña almacenada. Luego haga clic en "Mostrar contraseña".

Se le pedirá que ingrese la contraseña de su cuenta y la contraseña de WiFi se mostrará en texto sin formato.

Nuevamente, "Las contraseñas se almacenan en el llavero cifradas". No se muestran en texto plano.
@JBis Se almacenan en el Llavero encriptado, eso sí. Como describí, puede usar la aplicación Acceso a Llaveros para descifrar y ver la contraseña en texto sin formato.
Su pregunta quizás esté formulada un poco confusa. ¿Está diciendo que está preguntando por qué las contraseñas WiFi "compartidas" se almacenan de manera diferente a una contraseña WiFi que ha ingresado usted mismo?
Conozco la característica de la que hablas y la he usado constantemente. Si la contraseña se comparte con usted y NO la ingresa usted mismo, la contraseña NO se muestra en texto sin formato cuando accede al llavero.
Ah, ahora entendemos tu pregunta. ¿Puede proporcionar un ejemplo de cómo se ve la contraseña en Acceso a Llaveros?
No. Como la solución a esta pregunta te daría la contraseña de WiFi ;). Son 64 caracteres, creo. Todas las letras son mayúsculas y hay algunos valores numéricos.
¿Podrías enviar una que no sea tu verdadera contraseña? Si no, cuando dices mayúsculas son estas AF, o aparecen otras letras además de esas? Es decir, ¿crees que es un número hexadecimal? ¿Has probado la decodificación base64?
Es formato hexadecimal y la decodificación regular no decodifica nada significativo