Hacking WiFi - Modo Monitor y Falsificación de MAC de una Tarjeta de Red
En esta ocasión, voy a mostrar como poner en Modo Monitor una tarjeta de red TP-LINK TL-WN722N v2/v3. Es algo sencillo, pero si es necesario saber ciertas cosas y tener bien configurados los drivers para que funcione. Aun así, pondré algunos links que me sirvieron para poner la tarjeta en modo monitor, solamente que están en inglés algunos, así que advertido estas.
Índice
Modo Monitor de TP-LINK V2/V3
Algunos Datos Sobre la Tarjeta de Red
IMPORTANTE:
Yo trabajo desde una máquina virtual usando Kali Linux en Virtual Box por lo que todo este proceso será enfocado a este tipo de casos.
Antes de comenzar, podemos usar el comando ifconfig para ver que no está conectada la tarjeta de red. Esto lo hago para que veas como se ve antes y después:
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet Aqui_va_tu_IP netmask 255.255.255.0 broadcast **.**.**.**
inet6 ***::***:****:****:**** prefixlen 64 scopeid 0x20<link>
ether **:**:**:**:**:** txqueuelen 1000 (Ethernet)
RX packets 56635 bytes 68529885 (65.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14661 bytes 4123236 (3.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1566 bytes 21593478 (20.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1566 bytes 21593478 (20.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Censure unas cosillas para que no tenga problemas xd.
Ahora conectemos la tarjeta a nuestra PC y luego conectémosla a nuestra máquina virtual.
Una vez conectada, si nos vamos a la pestaña Dispositivos de la máquina virtual, debería aparecer ya la tarjeta con el nombre: Realtek 802.11n NIC, dale click a ese nombre para que se conecte a la máquina virtual:
Si vuelve a ver la pestaña, verás que ya está conectada:
Aunque vamos a comprobar esto usando en comando ifconfig:
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet Aqui_va_tu_IP netmask 255.255.255.0 broadcast **.**.**.**
inet6 ***::***:****:****:**** prefixlen 64 scopeid 0x20<link>
ether **:**:**:**:**:** txqueuelen 1000 (Ethernet)
RX packets 56635 bytes 68529885 (65.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14661 bytes 4123236 (3.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1578 bytes 21594134 (20.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1578 bytes 21594134 (20.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 2312
ether **:**:**:**:**:** txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Excelente, ahora necesitamos saber la versión de nuestra tarjeta de red TP-LINK, esto porque solamente la versión 1 (v1.0) puede ponerse en modo monitor sin tener que instalar ciertas cosillas. Para saber la versión, usaremos el comando lsusb:
lsusb
Bus 001 Device 004: ID 2357:010c TP-Link TL-WN722N v2/v3 [Realtek RTL8188EUS]
Observa, el output menciona que es una versión 2 o 3, si queremos saber un poco más de información usaremos el comando iwconfig, Este comando es utilizado para conectar a redes wifi en modo terminal, sin parámetros (como lo pusimos en la terminal) informa sobre la configuración de red inalámbrica (nombre de red, canal, nivel de señal, velocidad, potencia, encriptación etc.).
Vamos a usarlo:
iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 unassociated Nickname:"<WIFI@REALTEK>"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Vemos que nos da un nombre de la tarjeta de red y que no tiene un punto de acceso asociado (Access Point o AP), estos datos nos servirán cuando ya esté en Modo Monitor.
Muy bien, tendremos que instalar ciertos drivers en la máquina virtual para que podamos ponerla en modo monitor.
Instalando el Modo Monitor para TP-LINK Versión 2/3
Vas a poner la siguiente lista de comandos por orden, esto porque hay que actualizar los drivers del Kali Linux y pueda funcionar el modo monitor.
Aquí te dejo un link en ingles que explica como instalar el modo monitor, aunque pondre lo mismo que se hace en el video, te recomiendo que lo veas por completo si algo no sale bien, aquí el link:
Ahora sí, has todo esto paso por paso:
- sudo apt update -> Para actualizar las referencias del Kali.
- sudo apt upgrade -> Para actualizar el sistema operativo del Kali, si no lo tienes actualizado, esto puede tardar un poco.
- sudo apt install bc -> después de actualizarse ya lo debe tener, pero por si las dudas.
- Reinicia la máquina virtual
- sudo apt install libelf-dev
- sudo apt install Linux-headers-uname -r -> OJO AQUÍ: el uname -r debe estar dentro de ``
- sudo rmmod r8188eu.ko -> Este es el driver anterior que deberiamos tener en la máquina virtual, pero no lo teníamos.
- git clone https://github.com/gglluukk/rtl8188eus
- echo 'blacklist r8188eu' | sudo tee -a '/etc/modprobe.d/realtek.conf'**
- sudo reboot o simplemente cierra la ventana y abrela denuevo
- cd rtl8188eus
- make
- make install
- sudo reboot -> ahora si hazlo
Ya con esto, deberiamos poder poner en modo monitor la tarjeta de red.
Activando el Modo Monitor
Una vez que ya tengamos lista la instalación del modo monitor, vamos a probar si quedo bien. Para hacer esto, usaremos la herramienta Airmon-ng.
Pero, ¿qué es esta herramienta?
Herramienta Aircrack-ng |
---|
Aircrack-ng es una suite de software de seguridad inalámbrica. Consiste en un analizador de paquetes de redes, recupera contraseñas WEP y WPA/WPA2-PSK y otro conjunto de herramientas de auditoría inalámbrica. |
Ósea que esta herramienta pertenece a Aircrack-ng, estas son las herramientas más utilizadas de esta suite:
Herramienta | Descripción |
---|---|
Aircrack-ng | Descifra la clave de los vectores de inicio. |
Airodump-ng | Escanea las redes y captura vectores de inicio. |
Aireplay-ng | Inyecta tráfico para elevar la captura de vectores de inicio. |
Airmon-ng | Establece la tarjeta inalámbrica en modo monitor, para poder capturar e inyectar vectores. |
Bueno, ahora sí pongamos el modo monitor, hagámoslo por pasos:
- Vamos a revisar los procesos que está ejecutando la tarjeta de red:
airmon-ng check Found 2 processes that could cause trouble. Kill them using 'airmon-ng check kill' before putting the card in monitor mode, they will interfere by changing channels and sometimes putting the interface back in managed mode PID Name 493 NetworkManager 7469 wpa_supplicant
¿Por qué debemos matar estos procesos? Porque se supone que las pruebas que hagamos, deberían ser Offline, es decir, sin que tengamos internet. Incluso la herramienta nos dice que estos dos procesos nos pueden causar problemas, así que vamos a tumbarlos.
- Para terminar los procesos de la tarjeta de red, usamos el siguiente comando:
airmon-ng check kill Killing these processes: PID Name 7469 wpa_supplicant
- Ahora sí, ya podemos activar el Modo Monitor con airmon-ng usando el nombre que tiene la tarjeta de red, normalmente es wlan0 aunque puede variar:
airmon-ng start wlan0 PHY Interface Driver Chipset phy0 wlan0 8188eu TP-Link TL-WN722N v2/v3 [Realtek RTL8188EUS] (monitor mode enabled)
Si no sabes el nombre que tiene tu tarjeta de red, utiliza el comando ifconfig
- Excelente, ahora para comprobar si el Modo Monitor está activo, podemos usar el comando iwconfig, ahí indica el modo en el que se encuentra la tarjeta de red:
iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 unassociated Nickname:"<WIFI@REALTEK>" Mode:Monitor Frequency=2.457 GHz Access Point: Not-Associated Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
A lo mejor cambia el nombre de la tarjeta, ósea que ya no puede ser wlan0, puede ser wlan0mon.
- Otra prueba que podemos hacer, es ver si puede capturar tráfico de datos:
aireplay-ng --test wlan0 14:40:45 Trying broadcast probe requests... 14:40:45 Injection is working! 14:40:47 Found 5 APs 14:40:47 Trying directed probe requests... 14:40:47 **:**:**:**:**:** - channel: ** - 'Internet_del_vecino' 14:40:47 Ping (min/avg/max): 1.541ms/8.397ms/18.412ms Power: -42.07 14:40:47 30/30: 100% 14:40:48 **:**:**:**:**:** - channel: ** - 'Internet_de_vecina' 14:40:48 Ping (min/avg/max): 4.529ms/10.408ms/27.896ms Power: -44.93 14:40:48 30/30: 100%
Apagando el Modo Monitor
Cuando ya vayas a terminar, debes apagar el Modo Monitor y reiniciar el Network de la máquina para que cuando nos volvamos a conectar en modo monitor, no tengamos ningún problema.
Vámonos por pasos:
- Detenemos el Modo Monitor:
airmon-ng stop wlan0 PHY Interface Driver Chipset phy0 wlan0 8188eu TP-Link TL-WN722N v2/v3 [Realtek RTL8188EUS] (monitor mode disabled)
- Reiniciamos el Network de la máquina:
/etc/init.d/networking restart Restarting networking (via systemctl): networking.service.
Y ya quedo, cuando vuelvas a necesitar conectarte al Modo Monitor deberás matar los procesos y también deberás falsificar la MAC.
¡Perfecto! Solo nos falta un último paso para ya poder practicar el Hacking Wi-Fi y este es el falsificar la MAC.
Falsificiación de MAC
Si te preguntas “¿Para qué quiero falsificar la MAC?”, bueno, ahí te va el porqué pero…
Antes que nada, debemos saber algunas cosas acerca de la MAC:
Media Access Control (MAC) |
---|
La dirección MAC es un identificador de 48 bits que corresponde de forma única a una tarjeta o dispositivo de red. Se la conoce también como dirección física, y es única para cada dispositivo. |
NOTA: Como vemos, los tres primeros pares son los que identifican al fabricante del dispositivo, como Apple, Microsoft, NSA, etc. Los otros 3 pueden cualquiera, lo único es que deben ser de la a A a la F y del 1 al 9.
La idea de cambiar la MAC es por prevención, además de que si se nos pide hacer una prueba de penetración hacia Wi-Fi, tendría que ser lo más real posible.
Entonces lo que queremos cambiar será la OUI que se ve en la imagen anterior. Para la falsificación, utilizaremos la herramienta macchanger:
Herramienta Macchanger |
---|
Macchanger es una aplicación gratuita y de código abierto que nos permite poder visualizar y manipular la dirección MAC de nuestro equipo cada vez que este inicia. |
Ahora sí, falsifiquemos la MAC, como siempre, por pasos:
- Con el siguiente Comando, podemos ver la MAC actual:
macchanger -s wlan0 Current MAC: **:**:**:**:**:** (unknown) Permanent MAC: **:**:**:**:**:** (unknown)
Obviamente, no voy a mostrar la MAC de mi tarjeta por…seguridad xd.
- macchanger tiene un listado largo de diferentes OUI que podemos ver, aunque si le agregamos un pipe, podemos ser más específicos con lo que buscamos:
macchanger -l | grep "Apple"
0916 - 00:03:93 - Apple
1283 - 00:05:02 - Apple
2572 - 00:0a:27 - Apple
2682 - 00:0a:95 - Apple
3448 - 00:0d:93 - Apple
4319
- 00:10:fa - Apple
4361 - 00:11:24 - Apple
5174 - 00:14:51 - Apple
5808 - 00:16:cb - Apple
...
Ahora, para falsificar la MAC, primero debemos dar de baja la actual y después volverla a subir.
- Dando de baja la MAC de nuestra tarjeta de red:
ifconfig wlan0 down
- Falsificando la MAC, como ejemplo solo copiamos la OUI de la NSA:
macchanger -l | grep "NATIONAL SECURITY AGENCY"
8310 - 00:20:91 - J125, NATIONAL SECURITY AGENCY
macchanger --mac=00:20:91:da:af:91 wlan0
Current MAC: **:**:**:**:**:** (unknown)
Permanent MAC: **:**:**:**:**:** (unknown)
New MAC: 00:20:91:da:af:91 (J125, NATIONAL SECURITY AGENCY)
Copiamos el OUI de la NSA e inventamos el UAA de la a A a la F y del 1 al 9.
- Subiendo la MAC:
ifconfig wlan0 up
- Y verificamos el cambio:
macchanger -s wlan0 Current MAC: 00:20:91:da:af:91 (J125, NATIONAL SECURITY AGENCY) Permanent MAC: **:**:**:**:**:** (unknown) -> Esta no cambia xd
¡Y listo! Ya podemos comenzar a practicar.
Links de Investigación
- https://www.youtube.com/watch?v=tYnjMiTTdms&list=PLkGw-tArwGAohh8_A9RshbZdUTtXo_JZW&index=1
- https://es.wikipedia.org/wiki/Aircrack-ng