Obtener llave WPA con PIN WPS (sin modo monitor ni reaver) desde Linux (Pagina 1) / Preguntas generales y busqueda de nuevas brechas / Foro Wifi-libre.com

El libre pensamiento para un internet libre

No estas registrado.     

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

#1 11-10-2017 18:40:24

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 3,303

Obtener llave WPA con PIN WPS (sin modo monitor ni reaver) desde Linux

Obtener llave WPA con PIN WPS (sin modo monitor ni reaver) desde Linux

¡Muy buenas a [email protected]! smile
Hoy les voy a mostrar cómo hacer una conexión WPS con un PIN para obtener la llave WPA de un punto de acceso .
El procedimiento a seguir se ha explicado en otros temas  pero me parecía útil hacer una especie de ficha técnica fácil de consultar sobre este punto preciso. 
  Los pasos descritos a continuación valen para todas las distribuciones GNU-Linux y incluso en "sistemas basados en linux" como Android (se necesitan derechos de administrador) o OpenWRT/LEDE

  1. A nivel de "software" usaremos wpa_supplicant (y su comando interactivo wpa_cli). Ambos son presentes por defecto en todas las distribuciones GNU-Linux)

  2. A nivel de "hardware" nos vale cualquier interfaz wifi reconocida (no hace falta que sea compatible modo monitor) 

  Voy a usar una AWUS036ACH (su chipset rtl8812au no tiene soporte oficial) con drivers sin modo monitor (drivers versión 5.2.9)
  Para que quede muy claro que el modo monitor (y reaver o bully) no es(son) necesario(s).

Chequeo previo
  1. wpa_supplicant:
    Sin wpa_supplicant no te puedes conectar a redes WPA (o por WPS) así que [email protected] los sistemas linux tienen a wpa_supplicant
    Una forma de verificarlo sería hacer en consola

    kcdtv:~$ sudo which  wpa_supplicant
    /sbin/wpa_supplicant

    Se obtiene la ruta del ejecutable wpa_supplicant atestando así de su instalación en nuestro sistema operativo.

  2. interfaz wifi:
    Detectar las interfaces disponibles se puede hacer con iw
    wps_pin_1.jpg
    Usaré mi interfaz wifi USB (wlan1) dejándola en modo managed (el modo "normal": Para conectarse y navegar)

Fichero de configuración para wpa_supplicant

Copiar el bloque de código que sigue:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
update_config=1

Pegarlo en un archivo de texto en blanco y guardarlo en un sitio conveniente (debéis saber dónde está exactamente para usarlo luego).
Por convención deberías ponerle una extensión *.conf

wps_pin_2.jpg

Mi fichero se llama redcasa.conf y lo he puesto en una carpeta llamada "WPS".

kcdtv:~/WPS$ readlink -f redcasa.conf
/home/kcdtv/WPS/redcasa.conf

La ruta hacía mi fichero es /home/kcdtv/WPS/redcasa.conf (se puede escribir ~/WPS/redcasa.conf )

Detener procesos conflictivos

El problema numero uno se llama network manager. El gestor de redes para linux no embarca soporte WPS y entra sistemáticamente en conflicto con los comandos wpa_supplicant que ejecutamos.
Así que la primera cosa  a hacer es detener network manager
La forma limpia de hacerlo es empelando system.d

sudo systemctl stop network-manager

Luego "rematamos" los eventuales procesos molestos con kill

sudo kill dhclient wpa_supplicant

wps_pin_3.jpg

La conexión por cable no se pierde, la conexión por wifi sí y el gestor de redes no gestiona nada.

Consola 1:  Ejecutar wpa_supplicant con el fichero de configuración

Abrir una consola para ejecutar wpa_supplicant indicando la interfaz wifi a emplear (-i <inetrfaz>) y la ruta hacía el fichero de configuración que acabéis de redactar (-c <ruta/fichero/conf>)
En nuestro ejemplo:

sudo wpa_supplicant -i wlan1 -c /home/kcdtv/WPS/redcasa.conf 

La consola devuelve un mensaje de éxito:

wps_pin_4.jpg

La dejamos abierta para que corre el proceso en segundo plano todo el tiempo. Si la cerramos no podremos hacer nada. 

Consola 2: Conexión mediante PIN WPS con wpa_cli

Abrimos otra consola y lanzamos wpa_cli

  1. sudo wpa_cli -i wlan1

    Estamos en modo interactivo y podemos entrar comandos al vuelo

  2. Pedimos un escaneo para copiar el bSSID de nuestra red:

    scan
  3. miramos el resultado con

    scan_results

wps_pin_5.jpg

Ahora copiamos el bSSID para usar lo con nuestro PIN en la linea de ordenes que sigue (a ejecutar en nuestra consola wpa_cli):
En mi caso:

wps_reg 00:C0:CA:85:32:E2 40899336

Fácil: wps_reg + bSSID + PIN.
Podréis ver de inmediato actividad en ambas consolas:

wps_pin_6.jpg

La conexión se hace al instante.
El mensaje en verde significa que hemos obtenido la llave 

Conclusión: Mirar la llave en el fichero *.conf

Podéis parrar los procesos en consolas con < Ctrl+C >:  Ya tenéis la llave. wink

cat /ruta/fichero/conf

wps_pin_7.jpg

Notad que en este punto uno pudiera haberse conectado pidiendo una dirección IP con dhclient.
El problema es que Network Manager sigue detenido y la conexión se pierde si cerramos la consola wpa_supplicant. 
Me parece menos lioso copiar la llave obtenida, relanzar network manager con

sudo sytemctl restart network-manager

y conectarse pasando por nuestra interfaz gráfica para conexiones.

Conectado

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

Temas similares

Tema Respuestas Vistas Ultimo mensaje
Pegado:
3 109 Hoy 18:32:37 por kcdtv
28 3115 Hoy 17:51:18 por kcdtv
Juanito A6 se presenta. por juanitoa6
4 37 Hoy 17:35:41 por kcdtv
20 2091 Ayer 22:21:10 por kcdtv
5 77 Ayer 17:56:59 por juanitoa6

Pie de página

Información del usuario

Ultimo usuario registrado: kaotiik
Usuarios registrados conectados: 1
Invitados conectados: 12

Conectados: kcdtv

Estadisticas de los foros

Número total de usuarios registrados: 723
Número total de temas: 879
Número total de mensajes: 7,503

Máx. usuarios conectados: 69 el 15-10-2017 09:23:21