Las aplicaciones que prometen hackear redes WiFi siguen siendo populares, pero ¿hasta qué punto cumplen lo que dicen? ¿Son realmente peligrosas? En este análisis se examina el comportamiento real de una de ellas.

📱Descarga e Interfaz de la Aplicación

Pantalla principal

La aplicación la encontraremos en un repositorio no oficial de Internet, donde se nos presentará de la siguiente forma:

Botón de descarga

Dentro de la aplicación tenemos dos opciones:

  • START NOW”, la cual no produce ninguna acción visible (posiblemente debido a incompatibilidad con versiones modernas de Android).
  • More Apps”, que redirige al perfil del desarrollador en la tienda.

Procederemos a la extracción del código de la aplicación con el fin de realizar un análisis estático del mismo, con el objetivo de descubrir su funcionalidad.

📦Extracción del Código de la Aplicación

En primer lugar, localizaremos el paquete que acabamos de descargar buscándolo por el nombre de la App dentro del terminal de Android Studio:

adb shell pm list packages | findstr hacker

Nota: En Linux en lugar de findstr se debe usar grep

Terminal de Android Studio

El nombre del paquete es ‘com.droidlake.wifi.password.hacker‘. Buscaremos ahora su ruta completa del archivo .apk dentro del emulador:

adb shell pm path com.droidlake.wifi.password.hacker
Terminal de Android Studio

En este caso, la aplicación sólo contiene un archivo .apk. Es común que las aplicaciones desarrolladas de forma profesional dividan su código en varios archivos con el fin de incluir de forma más eficiente paquetes de idiomas. En esta ocasión, todo el código se encuentra en un único archivo.

Extraeremos ahora el archivo ‘base.apk‘ del emulador:

adb pull /data/app/~~2uzc9MCzx8IvjZ6Ph7grXg==/com.droidlake.wifi.password.hacker-6AtZVzJIIV_FjksXh7P26A==/base.apk
Terminal de Android Studio

Tendremos el archivo en la ruta ‘C:\Users\diego\AppData\Local\Android\Sdk\platform-tools’. El siguiente paso será descompilarlo:

apktool d .\base.apk -o app1
Terminal de Android Studio

Tendremos ahora una carpeta llamada app1 con todo el código de la aplicación descompilado.

🔐Análisis de Permisos Requeridos

Teniendo acceso a todo el código fuente de la aplicación, en primer lugar revisaremos los permisos que requiere. Estos los podremos encontrar dentro de la carpeta generada por apktool, en el archivo ‘AndroidManifest.xml‘:

Carpeta del proyecto

En este caso, su contenido es el siguiente:

Código de Android Manifest

La aplicación ‘Wifi Hacker‘ requiere los siguientes permisos:

PermisoFunción
android.permission.INTERNETAcceso a Internet
android.permission.ACCESS_NETWORK_STATEEstado de la conexión a internet
android.permission.ACCESS_WIFI_STATEPermite consultar información de redes WiFi cercanas
android.permission.CHANGE_WIFI_STATEPermite a la app conectarse a otras redes WiFi

Estos permisos son coherentes para una aplicación cuya funcionalidad se limita a interactuar con redes WiFi. Por sí solos no indican ni una capacidad real de hackeo ni la ausencia total de riesgos para el dispositivo. Para evaluar ambos aspectos es necesario analizar el código que ejecuta la aplicación.

🔬Análisis Estático del Código

Para analizar el código usaremos la herramienta ‘jadx‘. Una vez iniciada, abriremos como proyecto el código previamente descompilado por ‘apktool‘ y comenzaremos por la clase de la pantalla principal, ‘MainActivity‘:

Código de la aplicación

En esta clase encontraremos los dos botones que aparecen en la pantalla principal de la aplicación.

Código de la aplicación

El primer botón muestra un anuncio (MainActivity.this.mInterstitialAd.show()) si está cargado (MainActivity.this.mInterstitialAd.isLoaded()). En el caso de que no haya un anuncio cargado, nos llevará a la clase ‘Activity_Continuoe‘, cuyo código es idéntico a ‘MainActivity‘, con la diferencia de que redirigirá a la clase ‘HackWifi‘ cuando el anuncio se haya cerrado, por lo que la omitiremos y avanzaremos con esta última (HackWifi).

El contenido de ‘HackWifi’ es el siguiente:

Código de la aplicación

Esta clase, nada más ser cargada, también buscará un anuncio que mostrar:

Código de la aplicación

Sin embargo, sí que presenta una funcionalidad diferente, encapsulada en el siguiente código:

Código de la aplicación

Una vez ejecutado, buscará todas las redes WiFi disponibles. Este código trabaja junto con el siguiente, cuya funcionalidad es mostrar por pantalla todas las redes encontradas. Al avanzar en el flujo de la aplicación, nos redirigirá a la clase ‘HackWifiPassword.class‘.

Código de la aplicación

En la clase ‘HackWifiPassword’, se realizan 3 tareas. En primer lugar, se cargan los anuncios nada mas entrar en la pantalla:

Código de la aplicación

También tiene almacenado el siguiente texto:

final String[] array = {"Start Processing on " + this.text, "Intilaizing......", "Intro: Wifi Crackepass -pk is a networking software used for detecting paket sniffer, IP and IP/Http -TK cracker tool or wireless networks 192.802.203 whose ack address is in series of 192.802 and it has linux os. It works especially os with hardware sniffing capabilty. If it does work then there is some manufacture problem", "Tarz xvjf compat-wireless-3.8-2.78-58.1", "Rkj5-2.tar.bz2-001 ", "Aireplay-ng-pk -1 01 -b ", "Scaning device 23:62:568:2... ", "Trying PIN opening a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s- t-u-v-w-x-y-z.. ", "Increpting digit 1-2-3-4-5-6-7-8-9 ", "Checking specail character...", "Reciving request ", "Farwarding identity response... ", "Scaning and Analyzing.... ", "Mkd -f-h-i-o-u-e ", "", "Analyzed data.... ", "Crackpass -k/data/wifi/directory ", "Airmotion.sh start ra0 ", "Airplay -1 0 -b rto- " + this.text, "Sending password authentication request ", "Authentication successfully ", "", "Sending association password request", "Analyzing .....Please wait ", "IP config wlano hk ethernet ", "IP config done.. ", "IP config piano up ", "Congratulation !! Hack Successfully"};

Este array se itera y muestra por pantalla sin ninguna otra funcionalidad real:

Código de la aplicación

Haciendo que el usuario vea en la pantalla del móvil lo siguiente:

Start Processing on WIFI_SELECCIONADO

Intilaizing......

Intro: Wifi Crackepass -pk is a networking software used for detecting paket sniffer, IP and IP/Http -TK cracker tool or wireless networks 192.802.203 whose ack address is in series of 192.802 and it has linux os. It works especially os with hardware sniffing capabilty. If it does work then there is some manufacture problem

Tarz xvjf compat-wireless-3.8-2.78-58.1

Rkj5-2.tar.bz2-001 

Aireplay-ng-pk -1 01 -b 

Scaning device 23:62:568:2... 

Trying PIN opening a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z..

Increpting digit 1-2-3-4-5-6-7-8-9 

Checking specail character...

Reciving request 

Farwarding identity response... 

Scaning and Analyzing.... 

Mkd -f-h-i-o-u-e 

Analyzed data.... 

Crackpass -k/data/wifi/directory 

Airmotion.sh start ra0 

Airplay -1 0 -b rto- WIFI_SELECCIONADO

Sending password authentication request 

Authentication successfully 

Sending association password request

Analyzing .....Please wait 

IP config wlano hk ethernet 

IP config done.. 

IP config piano up 

Congratulation !! Hack Successfully

Por último, una vez se ha ejecutado todo el código anterior, nos lleva a la pantalla ‘Show_password‘:

Código de la aplicación

Al entrar en ella vemos que, de nuevo, lo primero que hace es mostrar anuncios:

Código de la aplicación

Por último, muestra una cadena de caracteres de longitud y contenido aleatorios como contraseña:

Código de la aplicación

🧾Conclusión

En conclusión, la aplicación analizada no implementa ningún mecanismo real de ataque a redes WiFi, se limita a escanear las redes disponibles y simular un proceso de hackeo mediante textos predefinidos y temporizadores. Sin embargo, más allá de este caso concreto, este tipo de aplicaciones pone de manifiesto los riesgos de descargar software desde fuentes no oficiales.

Aunque en este caso se trata principalmente de una app engañosa con fines publicitarios, otras aplicaciones similares pueden incluir funcionalidades mucho más intrusivas, como recopilación de datos personales, instalación de malware o abuso de permisos del sistema.

Por ello, es fundamental analizar el origen de las aplicaciones, revisar los permisos solicitados y desconfiar de aquellas que prometen capacidades poco realistas, especialmente en ámbitos como la seguridad o el hacking.