CommandsStyle

jueves, 22 de junio de 2017

Punto de acceso... al AVERNO!

Hoy toca montar un punto del acceso wifi, y como lo vamos a controlar nosotros (que para eso es nuestro punto de acceso) también podremos visualizar el tráfico que viaja por el punto de acceso.

Punto de acceso... al AVERNO!
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.

Raspberry Pi
Raspberry Pi

ALFA Network AWUS051NH
ALFA Network AWUS051NH


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

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

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

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

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


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 ;)

1 comentario:

  1. 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