![]() |
Punto de acceso... al AVERNO! |
Para la realización de esta gran hazaña, vamos a utilizar:
- 1 Raspberry PI (En mi caso una Raspberry pi)
- Utilizaremos Raspbian como sistema operativo.
- Por supuesto vas a necesitar cable de alimentación, tarjeta... ya sabes, el material bélico básico para que arranque la Raspberry pi.
- 1 tarjeta de red (ALFA Network AWUS051NH V2) Esta tarjeta es opcional si utilizamos una Raspberry Pi 3, ya que esa versión, incorpora una tarjeta wifi.
- He seleccionado esta tarjeta, ya que permite ponerla en modo monitor y en modo punto de acceso.
|
|
Lo primero que tenemos que hacer es conectar todos los aparejos a la Raspberry pi y enchufarla para que funcione (Si vale, ya sé que este paso me lo podía haber ahorrado...).
Lo siguiente que tenemos que hacer es instalar los paquetes hostapd e isc-dhcp-server.
El paquete hostapd nos permite poner la tarjeta en modo punto de acceso y configurar la red wifi que vamos a servir.
El paquete isc-dhcp-server es un pequeño servidor dhcp. Lo necesitamos porque queremos que los dispositivos que se conecten al punto de acceso obtengan una IP automáticamente.
Para instalarlos, utilizamos el siguiente comando:
sudo apt-get install hostapd isc-dhcp-server
Llegados a este punto, nos interesa ver cuáles son las interfaces de red que tenemos. Para ello lanzamos el siguiente comando:
ifconfig
Y en este caso, vamos a suponer que me entrega los siguientes datos:
La interfaz eth0 es la interfaz por la que la Raspberry pi se conecta a internet utilizando un cable RJ-45
La interfaz wlan0 es la tarjeta wifi USB (La ALFA Network AWUS051NH).
Lo siguiente que tenemos que hacer, es modificar el archivo "/etc/dhcp/dhcpd.conf".
Este fichero nos va a permitir configurar el servidor dhcp.
En este caso vamos a utilizar el editor de texto vi, pero podríamos utilizar el que queramos.
Para editar el documento, lanzamos el siguiente comando:
sudo vi /etc/dhcp/dhcpd.conf
En este fichero, localizamos las siguientes líneas:
option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; |
y como esta configuración no nos interesa (no nos interesa, es porque no vamos a tener un servidor DNS ni un dominio), pues... lo comentamos y para ello añadimos una almohadilla (#) al inicio de cada línea.
Deberían quedarnos así:
#option domain-name "example.org"; #option domain-name-servers ns1.example.org, ns2.example.org; |
Ahora buscamos la línea:
#authoritative; |
y la des comentamos. Con esto habilitamos el servidor como DHCP "principal" que como no vamos a tener otro pues... que menos que darle ese privilegio...
Nos debería quedar la siguiente línea:
authoritative; |
Ahora tenemos que añadir las siguientes líneas:
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.10 192.168.100.50; option broadcast-address 192.168.100.255; option routers 192.168.100.1; default-lease-time 600; max-lease-time 7200; option domain-name "local"; option domain-name-servers 8.8.8.8, 8.8.4.4; } |
Lo que le indicamos en las líneas anteriores, es que la red utilizada será la 192.168.100.0 con mascará 255.255.255.0.
Las IPs proporcionadas por el servidor dhcp serán de la 192.168.100.10 a la 192.168.100.50.
La puerta de enlace/gateway será la IP 192.168.100.1 y los servidores DNS que proporcionaremos serán los de Google (8.8.8.8 y 8.8.4.4). Aquí podemos poner estor servidores DNS, o poner los que nos proporcione nuestro ISP.
Ahora tenemos que modificar el fichero "/etc/default/isc-dhcp-server".
En este fichero vamos a indicar en que interfaz de red queremos que se utilice el servidor dhcp. En nuestro caso, queremos que sea la interfaz wlan0, que es la tarjeta en la que vamos a levantar el punto de acceso y a la que se conectaran los clientes de la red wifi.
Para ello, utilizaremos el siguiente comando:
sudo vi /etc/default/isc-dhcp-server
buscamos la siguiente línea:
INTERFACES="" |
y la modificamos para que quede de la siguiente manera:
INTERFACES="wlan0" |
Llegados a este punto, tenemos que dar una dirección IP fija a la tarjeta de red en la que vamos a levantar el punto de acceso ya que en la configuración del servidor dhcp hemos puesto que el Gateway seria la dirección 192.168.100.1.
Para ello, tenemos que modificar el fichero "/etc/network/interfaces". Utilizaremos el siguiente comando:
sudo vi /etc/network/interfaces
Buscamos la siguiente línea:
allow-hotplug wlan0 |
y modificamos el fichero, para que las líneas siguientes nos queden de la siguiente manera:
allow-hotplug wlan0 iface wlan0 inet static address 192.168.100.1 netmask 255.255.255.0 |
Una vez modificado el fichero, vamos a asignar la IP a la tarjeta de red wlan0.
Utilizaremos los siguientes comandos:
sudo ifdown wlan0
sudo ifconfig wlan0 192.168.100.1
sudo ifconfig wlan0 192.168.100.1
En este punto, ya tenemos configurado el servidor dhcp.
Ahora vamos a configurar el punto de acceso (La red wifi para que nos entendamos).
Para ello, vamos a crear el fichero "/etc/hostapd/hostapd.conf"
Utilizaremos el siguiente comando:
sudo vi /etc/hostapd/hostapd.conf
El contenido del fichero que vamos a insertar es el siguiente:
interface=wlan0 ssid=puntoAccesoDelAverno hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=contrasena wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP |
Con este contenido habilitamos la wifi protegida mediante WPA2.
Si queremos una wifi sin contraseña (Que si queremos un punto de acceso al averno/malicioso puede que nos interese para que se pueda conectar la gente libremente... guiño guiño...)
La configuración seria la siguiente:
interface=wlan0 ssid=puntoAccesoDelAverno channel=6 |
Ahora tenemos que indicarle a hostapd donde está el fichero de configuración que acabamos de crear, para ello, modificamos el fichero "/etc/default/hostapd".
Utilizaremos el siguiente comando:
sudo vi /etc/default/hostapd
Localizamos la siguiente línea:
#DAEMON_CONF="" |
y la modificamos para que quede de la siguiente manera:
DAEMON_CONF="/etc/hostapd/hostapd.conf" |
Ahora vamos a habilitar el forwarding.
Utilizaremos el siguiente comando:
sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
exit
echo 1 > /proc/sys/net/ipv4/ip_forward
exit
Pero como queremos que el forwarding se habilite automáticamente cada vez que reiniciemos la Raspberry pi, vamos a modificar el fichero "/etc/sysctl.conf".
Para ello utilizamos el comando:
sudo vi /etc/sysctl.conf
Localizamos la línea:
#net.ipv4.ip_forward=1 |
y la des comentamos para que quede:
net.ipv4.ip_forward=1 |
El siguiente paso es configurar iptables para que nos haga el enrutamiento entre la red wifi del punto del acceso y la red cableada (No es obligatorio que sea una red cableada, podemos hacer que nuestro punto de acceso se conecte a una red wifi, si tenéis dudas de cómo hacer esto, ponedlo en los comentarios :) )
Para configurar iptables, utilizaremos los siguientes comandos:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Como queremos que esta configuración esté disponible cada vez que arrancamos la raspberry pi, ejecutamos el siguiente comando:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Con esto almacenamos la configuración actual de iptables en el fichero "/etc/iptables.ipv4.nat"
Para que se restaure la configuración cuando reiniciemos, vamos a modificar el fichero "/etc/network/interfaces".
Utilizamos el comando:
sudo vi /etc/network/interfaces
y al final, añadimos la siguiente línea:
up iptables-restore < /etc/iptables.ipv4.nat |
Vamos a levantar manualmente los dos servicios que hemos configurado anteriormente.
Para ello, utilizaremos los siguientes comandos:
sudo service hostapd start
sudo service isc-dhcp-server start
sudo service isc-dhcp-server start
Si queremos que se ejecuten al reiniciar la Raspberry pi, tenemos que ejecutar los siguientes comandos:
sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable
sudo update-rc.d isc-dhcp-server enable
Llegados a este punto, si buscamos con algún ordenador o móvil las redes disponibles, deberíamos ver que hay una red wifi llamada puntoAccesoDelAverno.
Ahora podemos analizar el tráfico que pasa por nuestro punto de acceso y podemos combinarlos con las técnicas que hemos visto en los post anteriores, así como otras que veremos en el futuro ;)
Estupendo tutoríal Pablo. Si abres puntos de acceso al "averno" deberías tener un Hellboy que pueda contener las fuerzas del,mal que crucen el portal. ;p
ResponderEliminar