Rogue Access Point(AP) con Raspberry(primera parte)

¿Que es un Rogue AP?

Un Rogue Ap, es un dispositivo que simula ser un punto de acceso wifi, pero que en realidad, no es mas que una especie de «honeypot» para capturar información de los pobres ilusos que se conecten.

¿Que necesitamos?

Existen dispositivos que se venden que ya vienen preparados para actuar de rogue ap, con muchas otras funciones excelentes como la famosa «piña» pero como nosotros somos de la cultura del DIY vamos a montarnos uno con una raspberry, por lo que necesitamos:

  • Raspberry Pi 2 o superior
  • WiFi USB with Antenna para la raspberry

Instalación y configuración AP Para empezar necesitamos instalar un software que nos permita configurar nuestra raspi como un AP y un servidor DNS

 apt-get install hostapd isc-dhcp-server

Ahora configuramos nuestro hostap, como lo que deseamos es crear una red abierta(para que todo el mundo pueda conectarse), lo vamos a hacer con una mínima configuración en nuestro fichero de configuración situado en /etc/hostapd/hostapd.conf

interface=wlan0
ssid=Free_Wifi
 hw_mode=g
 channel=6
 auth_algs=1
 wmm_enabled=0

Una vez editado el fichero y guardado, indicamos la ruta al mismo desde el fichero /etc/default/hostapd cambiando la linea

# DAEMON_CONF=""

por

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Instalacion y configuracion DHCP

Ahora que tenemos nuestro hostap configurado necesitamos configurar nuestro servidor dhcp para que los clientes que se conecten a nuestro ap y dispongan de IP, para ello editamos el fichero /etc/default/isc-dhcp-server(puede cambiar según la distribución que usemos) y lo editamos para indicarle cual es nuestro interfaz principal en mi caso eth0

INTERFACES="eth0"

Y la propia configuración de nuestro servidor DNS situado en /etc/dhcpd/dhcpd.conf que podría quedar de la siguiente manera:

ddns-update-style none;
option domain-name-servers 192.168.1.1,  8.8.8.8, 8.8.4.4;
default-lease-time 7200;
max-lease-time 21600;
authoritative;
log-facility local7;

# Rangos 
subnet 192.168.1.0 netmask 255.255.255.0 { 
      range 192.168.1.3 192.168.1.100; 
      option routers 192.168.1.1;
}

El rango IP y los servidores DNS utilizados, puedes cambiarlos y usar lo que te parezca oportuno, esta solo es una configuración de ejemplo.

Configuracion IP en interfaz

Necesitamos configurar la IP de nuestro interfaz wifi( wlan0) editando el fichero /etc/network/interfaces de la siguiente manera:

auto wlan0
iface wlan0 inet static
address 192.168.1.2
netmask 255.255.255.0

Después levantamos nuestro servicio DHCP

 /etc/init.d/isc-dhcp-server restart

y nuestro hostap

 hostapd hostapd.conf

Configuracion NAT

Necesitamos habilitar NAT para poder compartir la conexión a Internet y que los clientes que se conecten a nuestro AP puedan acceder a Internet, así que tenemos que lanzar los siguientes comandos:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i wlan0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Si lanzamos tcpdump podremos ver el trafico que se esta generando en nuestro AP

tcpdump -i wlan0

En el siguiente articulo, veremos como profesionalizar nuestro AP montando un portal cautivo en el mismo.

Happy Hacking ;)

Compartir

9 Comentarios

  1. Yo cuando he montado un AP he usado el servidor dhcp que viene en busybox, que es la mar de pequeño y puedes meterlo en un chroot por si hay alguna vulnerabilidad.

    Saludos !

  2. Hola se que es viejo el post, pero… Puedo usar un router wifi viejo como rogue ap en lugar de esas antenitas usb? Conectándolo por ethernet a la notebook. Como debería configurarlo? Gracias

    1. Para que la raspi, reconozca al dispositivo tiene que estar conectado por medio de un protocolo usb, no vale ethernet, ademas un router y un adaptador wifi, son dispositivos muy distintos, los adaptadores wifi requieren de controladores especiales, para que el sistema los detecte, y el sistema pueda acceder a ellos, un router funciona de forma muy distinta. No lo siento no se puede hacer, a no ser que algún MAGO se le ocurra como.
      Un saludo

Deja una respuesta

Your email address will not be published. Required fields are marked *