Usar un ordenador como repetidor wifi en modo puente con hostapd

[h]Compartir una red física por WiFi gracias a hostapd[/h]
https://www.wifi-libre.com/img/members/3/hotspot_hostapd_9.jpg

Se ha “puesto de moda” la vieja técnica del Rogue AP (Punto de Acceso trampa) en el ámbito de crack-wifi.
Este “revival” se explica por la evolución de la conjetura:

  • El WPS en modo PIN tiende lógicamente a desaparecer (aunque en España no tanto :stuck_out_tongue: )
  • Los algoritmos para generar las llaves WPA por defecto de estos últimos años son más robustos
    Resultado: Cuando no se puede explotar una “brecha sistema” queda siempre el “factor humano”
    Generalmente para crear un punto de acceso trampa se usa hostapd (o airbase-ng)

Obviamente hostapd no esta pensado para crear PA falsos :smiley:
Esta pensado para crear un punto de acceso wifi.
Hostapd se he impuesto naturalmente como la “solución por defecto” para desplegar un Punto de Acceso inalámbrico tan es simple, liviano y eficaz.
Es un joya. :slight_smile:
Así que hoy vamos a dejar de lado las historias de “evil twin” para ver lo fácil que es compartir su conexión ethernet a través de una red WiFi.
Dicho de otro cómo transformar su ordenador en un router gracias a hostapd.
Siempre puede venir bien.

Voy a hacerlo desde Kali Linux porque es lo que uso ahorita, pero, me repito: Hostapd no es una herramienta de “hacking” y podéis aplicar este tema en todas las distribuciones.
De hecho he utilizado la guía básica de debian como fuente, ni he mirrado una sola pagina en la doc o el foro de Kali:
[list=]
]Compartir una red física por WiFi de ** Javier A. Piendibene* @ Wiki Debian/
]
[/list]

  1. Debemos instalar hostapd y bridge-utils
    [list=*]
    *]Debian y sistemas basados en debian ( Ubuntu, Kali, Linux Mint etc…)
sudo apt-get install hostapd

*]Arch y sistemas basados en Arch ( Manjaro etc…)

sudo pacman -S hostapd

[/list]
Necesitamos tener bridge-utils
[list=*]
*]Debian y sistemas basados en debian ( Ubuntu, Kali, Linux Mint etc…)

sudo apt-get install bridge-utils

*]Arch y sistemas basados en Arch ( Manjaro etc…)

sudo pacman -S bridge-utils

[/list]
También hace falta iw y iw-tools pero estos paquetes vienen instalados de forma nativa en todas las distribuciones

  1. Prevenir conflictos con Network Manager

En la wiki debian aconsejan des-instalar todos los paquetes relacionados con network-manager para eludir conflictos.
Es una postura “un tanto radical”. Eficaz, sin dudas, pero algo radical. :smiley:
Lo que vamos a hacer es simplemente parrar network manager

sudo systemctl stop NetworkManager.service sudo systemctl disable NetworkManager.service
Debería bastar.

Si no es suficiente crearemos una excepción para la(s) interfaz(ces) que da(n) problema.
Esto se hace modificando el fichero NetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

añadimos la(s) interfaz que da problema
Si es la tarjeta wifi interna del portátil será probablemente wlan0 o enselp0 (o algo así según la nueva nomenclatura que aconsejo abandonar) añadimos al fichero

[keyfile] unmanaged-devices=interface-name:wlan0 # añadido para hot spot hostapd
Guardamos los cambios y listo.
Recordar que si editéis el fichero debemos borrar lo que hemos añadido para que network manager pueda manejarla otra vez. (para conectarse con ella)

  1. Configurar hostapd
  • Debemos indicar al demonio hostapd la ruta hacía el fichero de configuración que vamos a redactar enseguida.
    Para ello editamos el fichero /etc/default/hostapd
sudo gedit /etc/default/hostapd

Añadimos

DAEMON_CONF="/etc/hostapd/hostapd.conf"           # añadido para Hot Spot hostapd

https://www.wifi-libre.com/img/members/3/hotspot_hostapd_1.jpg

  • Creamos el fichero de configuración hostapd (/etc/hostapd/hostapd.conf)
    Abrir su editor de texto con privilegios de administrador
sudo gedit

Luego añadimos algo así

# /etc/hostapd/hostapd.conf interface=wlan0 bridge=br0 driver=nl80211 auth_algs=1 ignore_broadcast_ssid=0 logger_syslog=-1 logger_syslog_level=0 hw_mode=g wmm_enabled=1 ssid=Compartir_es_vivir channel=11 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=¡N()L0pong@sFAC1l! wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Algunas precisiones:
[list=*]
]interface: Ponemos la intefaz wifi para hacer el hotspot/]
]ssid: Ponemos el nombre que queremos /]
]hw_mode: Lo dejamos en g. Para habilitar el estándar “n” se añade wmm_enabled=1/]
]channel: He puesto 11. Una buena idea es hacer un escaneo pare ver que canal esta menos utilizado /]
]wpa_passphrase: poner una contraseña de al menos de 12 caracteres mezclando todo tipos de caracteres (mayúsculas, minúsculas, números y caracteres especiales/]
[/list]

  1. Configurar las interfaces
  • Debemos editar el fichero /etc/network/interfaces (con privilegios de administrador)
sudo gedit /etc/network/interfaces

Es por defecto corto y deberías tener algo así: https://www.wifi-libre.com/img/members/3/hotspot_hostapd_2.jpg
Debemos añadir lo siguiente:

[code]# Internet mediante interfaz ethernet
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

Hot Spot con interfaz wifi

auto br0
iface br0 inet dhcp
bridge-ports eth0 wlan0[/code]
Dejando el fichero así:
https://www.wifi-libre.com/img/members/3/hotspot_hostapd_3.jpg

  1. Arrancando el Hot Spot

¡Estamos listos!
Para desplegar el Hot Spot ejecutamos sucesivamente los tres comandos siguientes
[list=1]
]sudo /etc/init.d/networking stop/]
]sudo /etc/init.d/networking start/]
]sudo /etc/init.d/hostapd restart/]
[/list]
¡Todo OK! https://www.wifi-libre.com/img/members/3/hotspot_hostapd_4.jpg
Con mi otro ordenador veo la red y me conecto sin fallos
https://www.wifi-libre.com/img/members/3/hotspot_hostapd_5.jpg

Advertencias
Como lo podéis imaginar se pierde algo de velocidad en la red repetida debido a un incremento del ping.
Mi ping esta a 20 sobre el hotspot: https://www.wifi-libre.com/img/members/3/hotspot_hostapd_6.jpg
No esta nada mal: El resultado no sería mucho mejor con un verdadero punto de acceso.
Llevo horas conectado así y la conexión es estable y sin cortes.
Al final el rendimiento es muy bueno y es realmente una solución interesante,

La sombra al cuadro es que no todos los chipset son compatibles con hostapd porque no todos se ponen en modo AP.
Lo más molesto siendo la
ausencia de compatibilidad con el rtl8187l
:confused:
Los otros chipsets que solemos usar para auditorias deberían funcionar. :wink:
He probado con los ralink USB y algunos atheros (internos) : No hay fallos.

gracias
mejor que un libro perfec …es que asi da gusto lo comandos como deben ser explicados con imagenes

Gracias por el comentario :slight_smile:
Otro día haré otro sobre hacer de repetidor wifi con dos interfaces o una. para complementar este tema.

Eso me encanta que haces un totorial usando hostapd :slight_smile:

Y ojo a el jazztel de a lado :smiley:

¿Este? Tiene bloqueo del WPS.
No se puede hacer nada… ¿Verdad? :smiley: :smiley: :smiley:

Por seguro :lol:

:smiley:

Hay una cosa que es importante destacar (hablando de hostapd :wink: ):
Con hostapd nuestro hotspot es seguro gracias al cifrado WPA.
Lo digo porque tenemos con Network Manager la opción de “crear una red” y se hace en un clic.
https://www.wifi-libre.com/img/members/3/hotspot_hostapd_10.jpg
El problema es que es una red ad hock, sin cifrado WPA.
Mejor tomar el tiempo de lanzar algunas ordenes y hacer las como se debe: Con cifrado WPA y hostapd.

WEP… oO que peligroso :cool:

:smiley:
Es extraño que se siga proponiendo cuando hace más de 15 años que se ha demostrado que es inseguro: Los primeros ataques POC salierón en 2001 y fue oficialmente declarado inseguro por 2003 por la wifi alliance…
¿Por qué seguir implementando dicho protocolo en 2016?
En su tiempo el argumento era que no todos los dispositivos pueden admitir WPA. Hoy en día este argumento no vale.
No me creo un segundo que les importe mucho los tres tíos que tienen una vieja imprimadora del 2000 que solo puede conectarse en WEP.
Y si el tío no tiene para comprarse una nueva, un cable ethernet no cuesta nada…

Seria bien que cambian eso de verdad :confused: