El libre pensamiento para un internet libre

No estas registrado.  

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

#1 10-06-2017 01:26:22

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 4,479

PBC.sh: Botón WPS virtual para conexión WPS PBC en Linux

PBC.sh: Emulador de botón WPS para conexiones WPS PBC desde distribuciones GNU_linux

giphy.gif

¡Yepa!  smile
  Comparto con [email protected] un script chiquito y sencillo para hacer conexiones WPS PBC desde nuestro sistema GNU-Linux.
  El script actúa como un botón PBC virtual.
Cuando lo ejecutamos se abre un intervalo WPS PBC de 120 segundos durante el cuál podremos conectarnos al PA pulsando su botón WPS (o su botón virtual desde su interfaz de gestión web)
   El script automatiza los pasos vistos en:

  Network manager (el gestor de redes para linux) no es compatible con el WPS.
Tienen un ticket abierto desde 2010 sobre WPS y no se ven ningunos avances (Bug 613071 - Wi-Fi Protected Setup (WPS) )
  Estaba haciendo pruebas con el WPS PBC y me harté de repetir los pasos en consola
De ahí la idea de hacer este pequeño aporte sin pretensiones (y para desoxidar un poco al bash que lo necesitaba... big_smile )
  La conexión por WPS PBC se hace al instante y es muy cómoda. smile
Sin embargo :

  • Pequeña advertencia:
    Sabéis que el WPS en modo PIN es vulnerable y se suele decir que el WPS en modo PBC es seguro.
    No es cierto y se puede explotar el intervalo WPS PBC para fomentar ataques Rogue AP (ejemplo: Un historia de Rogue AP by koala )
    No hay que ser paranoia pero es importante saber que la seguridad del WPS PBC no es a prueba de balas: Cuando prensamos el botón de nuestro router un intruso podría conectarse.

Conexión WPS PBC con PBC.sh

PBCsh_1.jpg

Es un script en bash que no requiere ningunas dependencias extras ya que trabaja con comandos y herramientas fundamentales
  Hace falta un sistema un mínimo al día porque se emplean ordenes para systemd y se usa nmcli.
No funcionará por ejemplo en versiones de Ubuntu anteriores al  2015 (lo mismo con debian) .

Podéis descargar lo desde github en formato *.zip: master.zip
O mejor descargar lo ya listo para uso en consola con git

git clone https://github.com/kcdtv/PBC.git 

Os situéis en la carpeta que contiene el script

cd PBC

( Si lo has hecho con el paquete *.zip en lugar de usar git tendrás muy probablemente que situarte en "Descargas" para llegar al script wink )
Y lo ejecutéis con privilegios de administrador

sudo bash PBC.sh

- Si tenéis una sola interfaz wifi todo se hace al instante automáticamente  y podéis ya prensar el botón WPS de vuestro router.

PBCsh_2.jpg

- Si tenéis varias interfaces tendréis que seleccionar una entrando su número

PBCsh_3.jpg

Está en "inglés aproximativo" pero creo que "select interface" y "push button" se entienden y son las únicas cosas que hay que entender. big_smile Es tan sencillo como prensar un botón, está es la idea.
Tenéis entonces 120 segundos para prensar el botón WPS de vuestro router para efectuar la conexión.
En este punto el script ha:

  1. Redactado un fichero de configuración para wpa_supplicant ( /tmp/PBC.conf )

  2. Detenido Network manager. Es necesario para ejecutar wpa_supplicant y wopa_cli. Si estamos conectado se pierde la conexión WiFi, no se pierde la conexión por cable

  3. Inciado wpa_supplicant en tarea fondo

  4. Lanzado una petición de conexión WPS PBC mediante wpa_cli

En cuanto prenséis el botón WPS del Punto de Acceso  se efectúa la conexión y el script devuelve la llave WPA en consola

PBCsh_4.jpg

Notar que el proceso se hace en dos tiempos.
Se podría hacer en uno pero conviene hacerlo así:

  1. Se obtiene la contraseña WPA con wpa_cli.
    Cuando tenemos la contraseña es que estamos conectados y solo nos haría falta negociar una IP para nevegar. Pero si lo hacemos ahora hay unas pegas:
      - La conexión se pierde si cerramos la consola
      - Network manager no se está ejecutando, no podemos gestionar ninguna interfaz normalmente y debe estar detenido para que se mantenga la conexión
      - El perfil creado (el fichero PBC.conf) solo vale para wpa_supplicant y no nos sirve para conectar desde Network Manager.

  2. Importar los datos en Network Manager que reiniciamos
      - Así volvemos al estado inicial. Es lo que debe hacer un script: No dejar al usuario sin un servicio básico que se estaba ejecutando antes de ejecutar el script.
      - El perfil está creado con el password: Nunca tendréis que entrar la llave una sola vez.

  3. Conexión con mcli
      nmcli (network manager command line) es un interprete de ordenes para Network Manager. Permite realizar la conexión final con Network Manager sin intervención del usuario

La descripción del proceso  puede dar a pensar que se pierde tiempo.   
El tiempo transcurrido  para conectarse del todo con una sola interfaz (así no hay que seleccionar nada y la conexión se hace del tirón) prensando el botón WPS del router un poco antes de ejecutar PBC.sh: menos diez segundos

PBCsh_5.jpg

Se pierden un puñal de segundos por hacer la conexión completa en dos tiempos. Nada más. cool
   
  ¡Buenas noches! smile

Desconectado

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

#2 12-06-2017 19:56:52

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 4,479

Re: PBC.sh: Botón WPS virtual para conexión WPS PBC en Linux

versión 0.2

  • Sintaxis optimizada gracias a shellcheck

  • No se invoca más a la función para limpiar cuando el script se parra por falta de privilegios de administrador. Ningún fichero se ha creado en este punto: No hace falta limpiar nada.

Y para ser justo con todos los usuarios de wifi-libre pongo una chincheta a este tema ya que lo hago sistemáticamente cuando se trata de una creación de un miembro de nuestro comunidad.
vale para mi también, big_smile

Desconectado

#3 15-06-2017 22:41:23

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 4,479

Re: PBC.sh: Botón WPS virtual para conexión WPS PBC en Linux

versión 0.3

  • El perfil de red es ahora disponible para cualquier interfaz

  • Añadido un modo de salida

Desconectado

Anuncio

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

Pie de página

Información del usuario

Ultimo usuario registrado: marconi
Usuarios registrados conectados: 0
Invitados conectados: 10

Estadisticas de los foros

Número total de usuarios registrados: 1,235
Número total de temas: 1,205
Número total de mensajes: 12,414

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