Hace unos días, adquirí un adaptador Wi-fi, el cual quería usar para realizar auditorías a redes inalámbricas.
Tras obtener algunas previamente con resultados bastante infructuosos, me decanté por la TP-Link TL-WN722N, debido a su precio ya que no espero usarla demasiado, y a que era recomendada para realizar un taller del evento Mundohacker Academy 2022.
La primera sorpresa que me llevé fue que al conectarla a la máquina virtual de Kali Linux, reconocía todas las redes automáticamente, sin necesidad de instalar ningún driver, ni nada parecido. Algo que no me ocurría con otros modelos comprados previamente.
Entonces, se intenta cambiar el modo de la antena de modo Managed a modo Monitor pero ésta, no parece reconocer dicho comando.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
╭─s3cureroy at kali in /home/s3cureroy
╰─○ sudo airmon-ng start wlan0
PHY Interface Driver Chipset
null wlan0 r8188eu TP-Link TL-WN722N v2/v3 [Realtek RTL8188EUS]
╭─s3cureroy at kali in /home/s3cureroy
╰─○ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
wlan0 unassociated ESSID:"" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=0/100 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Se puede ver, que pese a cambiar la interfaz a modo Monitor, se mantiene en modo Managed.
Modificando el firmware.
Revisando entonces los drivers cargados en el sistema para la antena, se puede ver que es el r8188eu, del que se informa que es cargado desde el directorio de arranque y no se conoce la calidad de dicho firmaware para el dispositivo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
╭─s3cureroy at kali in /home/s3cureroy
╰─○ dmesg | grep wifi
[ 27.593638] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
[ 50.451326] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
[ 370.552452] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
[ 604.471103] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
╭─s3cureroy at kali in /home/s3cureroy
╰─○ dmesg | grep 8188eu
[ 26.133520] r8188eu: module is from the staging directory, the quality is unknown, you have been warned.
[ 27.199667] usbcore: registered new interface driver r8188eu
[ 27.593638] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
[ 50.451326] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
[ 370.552452] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
[ 604.471103] r8188eu 1-2:1.0: firmware: direct-loading firmware rtlwifi/rtl8188eufw.bin
[ 846.757874] ? rtl8188eu_hal_deinit+0x199/0x1f0 [r8188eu]
[ 846.757920] rtw_cmd_thread+0x4b/0x1b0 [r8188eu]
[ 846.757950] ? rtw_setassocsta_cmdrsp_callback+0x80/0x80 [r8188eu]
[ 967.338370] ? rtl8188eu_hal_deinit+0x199/0x1f0 [r8188eu]
[ 967.338467] rtw_cmd_thread+0x4b/0x1b0 [r8188eu]
[ 967.338493] ? rtw_setassocsta_cmdrsp_callback+0x80/0x80 [r8188eu]
[ 1088.129644] ? rtl8188eu_hal_deinit+0x199/0x1f0 [r8188eu]
[ 1088.129684] rtw_cmd_thread+0x4b/0x1b0 [r8188eu]
[ 1088.129708] ? rtw_setassocsta_cmdrsp_callback+0x80/0x80 [r8188eu]
Entonces, al buscar por el código del driver en Internet, se obtiene que el propio Github de aircrack-ng dispone de un repositorio con los drivers modificados para poder cambiar el modo de escucha de la antena.
Por tanto, se comienza el procedimiento para cambiar el firmware, empezando por actualizar los repositorios y el sistema, reiniciando posteriormente.
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─○ sudo apt update && sudo apt upgrade
Una vez reiniciado el sistema y cargado el nuevo kernel, si hubiera instalado una nueva versión, se deben instalar las cabeceras de dicho kernel y las dependencias del firmware.
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─○ sudo apt-get install linux-headers-$(uname -r) bc build-essential libelf-dev dkms git
Los paquetes linux-headers-$(uname -r), build-essential y dkms, son las dependencias necesarias para instalar Guest Additions de VirtualBox
Instaladas todas las dependencias, se puede comenzar a sustituir el firmware por el modificado por aircrack-ng, para ello, se desactiva el driver actual.
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─○ sudo rmmod r8188eu.ko
En este momento, las redes disponibles desaparecerán y el dispositivo dejará de reconocerse.
Se clona el repositorio nuevo desde Github.
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─○ git clone https://github.com/aircrack-ng/rtl8188eus.git
Se accede al directorio y se escala privilegios para modificar el firmware en siguientes pasos.
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─○ cd rtl8188eus
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─⠠⠵ sudo -i
Con permisos de root, se debe modificar el firmware que cargará en el arranque del sistema, modificando el fichero de Realtek, reiniciando posteriormente.
1
2
╭─root at kali in /home/s3cureroy
╰─⠠⠵ echo 'blacklist r8188eu' | sudo tee -a '/etc/modprobe.d/realtek.conf'
Cuando la máquina haya reiniciado correctamente, se continua el procedimiento para compilar el nuevo driver (paciencia, la compilación puede tardar unos minutos), entrando de nuevo en el repositorio clonado.
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─○ cd rtl8188eus
1
2
╭─s3cureroy at kali in /home/s3cureroy
╰─⠠⠵ sudo make && make install
Una vez terminado, se puede reiniciar el equipo, o se puede cargar el firmware directamente mediante sudo modprobe 8818eu
Se puede comprobar que el dispositivo vuelve a tener un driver cargado, porque vuelven a aparece las redes disponibles.
Activar modo monitor.
Con el firmware cargado correctamente, se vuelve a intentar activar nuevamente el modo Monitor en la interfaz con los pasos anteriores.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
╭─s3cureroy at kali in /home/s3cureroy
╰─⠠⠵ sudo airmon-ng start wlan0
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
526 NetworkManager
6336 wpa_supplicant
PHY Interface Driver Chipset
phy0 wlan0 8188eu TP-Link TL-WN722N v2/v3 [Realtek RTL8188EUS]
(monitor mode enabled)
Como informa el mensaje anterior, se deben cerrar algunos procesos que pueden interferir en los cambios de canal, para ello, se ejecuta el comando que indica, indicando que se ha “matado” el proceso correctamente.
1
2
3
4
5
6
7
╭─s3cureroy at kali in /home/s3cureroy
╰─⠠⠵ sudo airmon-ng check kill
Killing these processes:
PID Name
6336 wpa_supplicant
Se lanza de nuevo el comando que activa el modo Monitor, aunque éste, había sido activado previamente, viendo que esta vez, no arroja ningún aviso.
1
2
3
4
5
6
7
8
╭─s3cureroy at kali in /home/s3cureroy
╰─⠠⠵ sudo airmon-ng start wlan0
PHY Interface Driver Chipset
phy0 wlan0 8188eu TP-Link TL-WN722N v2/v3 [Realtek RTL8188EUS]
(monitor mode enabled)
Si se ejecuta de nuevo el comando iwconfig
para verificar la configuración de la interfaz, se observa, que el modo Monitor se encuentra activo.
Ya se puede realizar capturas de paquetes para intentar capturar algún handshake.
Espero que sea de ayuda, ¡hasta la próxima!