Llevo tiempo queriendo analizar el tráfico de red de varios dispositivos móviles, en concreto dos móviles chinos y una tablet. Siempre me he cuestionado qué datos enviarán, a dónde ¿Y si el móvil está infectado y está exfiltrando información? Hay varias razones por las que desconfiar de este tipo de dispositivos, aunque entraremos más en detalle acerca de este tema en futuros posts. Como primer paso vamos a centrarnos en cómo podemos capturar el tráfico de red de nuestros dispositivos.
Como bien sabemos, los dispositivos móviles pueden conectarse a una red de datos a través de la conexión 3G/4G o bien a través de una red WiFi. Por lo que en caso de estar exfiltrando información tendríamos que analizar ambas vías, pero en nuestro caso sólo se va a hacer a través de WiFi (de momento).
Para analizar el tráfico de red he optado por una solución sencilla y al alcance de cualquiera, la opción es Raspberry Pi 3 Modelo B.
Para tal finalidad, configuraremos la Raspberry Pi 3 para que capture el tráfico a través de la interfaz de wlan y que a través de la interfaz de Ethernet se conecte al router para salir a Internet.
Explicaré el proceso ya que es algo que he hecho recientemente y lo tengo fresco y puede que a alguien le sirva de ayuda.
Instalación de Raspbian Jessie
- El primer paso es instalar el S.O de Raspbian Jessie en la SD. Para ello basta con descargarnos la iso de la página oficial y hacer un dd hacia la tarjeta SD.
sudo dd bs=1m if=2016-05-27-raspbian-jessie.img of=/dev/disk2
- Una vez finaliza el proceso, insertar la tarjeta SD en la Raspberry Pi e iniciarla (debemos conectarla con el cable de red al router)
- En primer lugar, conectamos la Raspberry a una pantalla con HDMI para poder configurarla correctamente. Luego accederemos directamente desde terminal a través de SSH.
- Como primer paso recomiendo cambiar la contraseña por defecto e incluso el usuario, pero es algo que queda fuera del objetivo de este post.
- Para poder acceder a la Raspberry mediante terminal vamos a configurar SSH Server.
- Accedemos al terminal y escribimos:
sudo raspi-config
- Se abrirá una ventana donde, tendréis que entrar en:
- “Advanced Options”
- SSH “Enable/Disable remote command line Access to your Pi using SSH”
- Finalmente os preguntar’a “Would you like the SSH server to be enabled?” Seleccionar Yes.
- A través de esta ventana también podremos configurar otras opciones como la zona horaria, idioma, teclado, etc.
- Tras esta configuración será necesario reiniciar la Raspberry:
sudo reboot
- Nos conectamos a la Raspberry mediante SSH y configuraremos las interfaces de red.
- Instalación de DHCP y hostapd:
sudo apt-get install isc-dhcp-server hostapd
Configuración de las interfaces de Wlan y Ethernet
- Desconectar la interfaz de WiFi
sudo ifdown wlan0
- Editar el fichero interfaces
sudo vim /etc/network/interfaces
- Configurar el fichero
auto lo iface lo inet loopback iface eth0 inet dhcp allow hotplug wlan0 iface wlan0 inet static address 192.168.1.1 netmask 255.255.255.0
- En el terminal:
sudo ifconfig wlan 10.10.10.1
Configuración DHCP
- Editar el fichero dhcp.conf
sudo vim /etc/dhcp/dhcp.conf
- Dentro del fichero dhcp.config, comentamos las siguientes líneas:
#option domain-name "example.org"; #option domain-name-servers ns1.example.org, ns2.example.org;
- Descomentar la siguiente línea:
authoritative;
- Al final del fichero dhcp.conf añadiremos la siguiente configuración:
subnet 10.10.10.0 netmask 255.255.255.0 { range 10.10.10.2 10.10.10.50; option broadcast-address 10.10.10.255; option routers 10.10.10.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; }
- Editar el archivo isc-dhcp-server
sudo vim /etc/default/isc-dhcp-server
- La línea de INTERFACES, escribiremos:
INTERFACES=”wlan0”
Configuración punto de acceso
- Editar el fichero hostapd.conf
sudo vim /etc/hostapd/hostapd.conf
- Escribir en el fichero la siguiente configuración:
interface=wlan0 ssid=NOMBRE SSID hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=PASSWORD wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
- Podéis cambiar NOMBRE SSID, PASSWORD y channel por lo que queráis
- Descomentar la siguiente línea:
DAEMON_CONF=”/etc/hostapd/hostapd.conf”
Configuración de NAT
- Configurar sysctl
sudo vim /etc/sysctl.conf
- Descomentar la línea
net.ipv4.ip_forward=1
- Aplicar cambios
sudo sysctl -p /etc/sysctl.conf
- Habilitamos NAT
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
- Configuración para que inice al arrancar
sudo update-rc.d hostapd enable sudo update-rc.d isc-dhcp-server enable
- Configuración para que inicie automáticamente
sudo sh –c “iptables-save > /etc/iptables.ipv4.nat
- Editamos finalmente el fichero interfaces para que coja la configuración de iptables:
sudo vim /etc/network/interfaces up iptables-restore < /etc/iptables.ipv4.nat
Capturar tráfico de red
Una vez se ha configurado la Raspberry Pi para actuar como punto de acceso y poder salir a Internet, vamos a aprovecharnos de esta funcionalidad para capturar el tráfico de la red. Para ello vamos a utilizar tcpdump.
Instalamos tcpdump ya que es muy probable que no venga instalado.
sudo apt-get install tcpdump sudo apt-get update
Y finalmente, ejecutamos tcpdump capturando el tráfico por la interfaz wlan0 y volcamos dicha captura en un pcap que analizaremos posteriormente.
sudo tcpdump –i wlan0 –s 65535 –w captura.pcap
Hasta aquí la configuración de Raspberry Pi para capturar el tráfico de red. En el próximo post veremos el análisis de dicho pcap.
Espero tu proxima entrega