Conexión de puente entre Ethernet y Wifi

Recientemente por cuestiones de estudio, tuve la necesidad de conectar un equipo a una computadora vía ethernet y luego suministrarle internet vía Wifi, la razón, estudiar el comportamiento de este equipo mediante un sniffer, aunque intenté con ARP-Poison, la verdad es que los resultados no eran del todo satisfactorios, supongo que por tratarse de un equipo muy limitado, como sea, aunque parecía una tarea sencilla y tenía una idea clara de como hacerlo, al final se me terminó complicando un poco, sin embargo buscando info en la red, pude armar una solución adecuada. Por lo que a modo de repaso lo voy a dejar aquí, quizá alguien más sienta curiosidad de hacer algo semejante (jeje).

Ingredientes:

  • 1 laptop (preferentemente, aunque puede usarse una all-in-one o una PC)
  • 1 equipo que funcione mediante ethernet (puede ser otra PC o incluso un switch con muchas PCs)
  • 1 distribución Linux (yo use Kali, pero pueden usar el sabor que más les guste)

Como en este caso Kali está basado en Debian, pues usaré apt-get para actualizar los repositorios e instalar lo necesario, pero básicamente funciona igual para otras distros, de cualquier forma si tienen dudas pueden dejar un comentario o twittear.

Preparación:

# apt-get update
# apt-get install -y isc-dhcp-server bridge-utils

Una vez instalados los paquetes, necesitamos habilitar el enrutamiento, esto es lo que verdaderamente es necesario para cualquier tipo de conexión de puente, para ARP-Poison o para otro tipo de ataques MITM. También activo el enmascaramiento de paquetes del firewall.

# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Lo siguiente es editar la configuración de las tarjetas de red, aquí use otro segmento completamente diferente para   es poner otra IP para el puente y la asignación de IPs:

# nano /etc/network/interfaces
auto lo
    iface lo inet loopback

auto wlan0
    iface inet dhcp

auto br0
    iface br0 inet static
    address 13.0.0.1
    netmask 255.255.255.0
    bridge_ports eth0
    bridge_fd 0
    bridge_maxwait 0

auto eth0
    iface eth0 inet static
    address 13.0.0.2
    netmask 255.255.255.0
    broadcast 13.0.0.255
    gateway 13.0.0.1

Ahora toca configurar un servidor de DHCP de manera básica, aunque aquí pueden ser todo lo ingeniosos que quieran XD!!.

# nano /etc/dhcp/dhcpd.conf
subnet 13.0.0.0 netmask 255.255.255.0 {
    option domain-name "h4x0r.net";
    range 13.0.0.3 13.0.0.100;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option routers 13.0.0.1;
}

host dhcp-client {
  hardware ethernet 00:00:00:xx:xx:xx;
  fixed-address 13.0.0.101;
}

Ahora reiniciamos el servicio de red:

# service networking restart

Hecho lo anterior toca activar la ruta por defecto de los paquetes, suponiendo que tengamos la IP 192.168.1.20 para nuestra tarjeta Wifi, entonces:

# ip route add default via 192.168.1.20

Por último levantamos activamos y reiniciamos el servidor DHCP, para poner todo a trabajar:

# systemctl enable isc-dhcp-server
# systemctl restart isc-dhcp-server

Y ahora a interceptar paquetes con lo que quieran, a mi particularmente me gusta usar Wireshark, pero en gustos se rompen géneros, SaluDoS!!

Comentarios

Entradas populares de este blog

Detener la sincronización de tiempo/fechas entre Host y Guest en Virtual Box

Extraer datos de un archivo.mdb (Access) con python

Solución al problema con odbc pgsql (postgresql) en Windows 7 de 64 bits