Análisis dinámico de App Android
Necesitaremos
instalar la App, para ello usaremos adb, si ya tienes tu Android SDK, ya
tienes la herramienta, en Windows la ruta que tenemos aquí es la siguiente:
C:\Users\Josue\AppData\Local\Android\sdk\platform-tools
Si la añades
a tu Path, podrás usarla solo con escribir adb en la consola, mucho más cómodo
que escribir toda la ruta cada vez, para ello dirígete al siguiente punto:
Panel de control > Sistema y
seguridad > Sistema > Configuración avanzada del sistema
Hay damos en
el botón Variables de entorno, se nos abrirá la siguiente ventana:
Ahí, en la
sección de Variables del sistema, tendremos que buscar la variable
llamada Path, y dar en editar, donde añadiremos la ruta del
platform-tools, aceptamos todo y ya está hecho.
Para
instalar una aplicación, tiene que estar conectado el emulador (o dispositivo
real), y ejecutar:
adb install <APP>
Teniendo en
cuenta que aquí se considera que solo tenemos un dispositivo conectado, si no
tendríamos que elegir, por ejemplo, añadiendo la opción -d indicamos que
el comando se dirija a dispositivos conectados por USB, y -e para
emulador, existen otras que se pueden ver en la ayuda de la herramienta.
Una vez
instalada la aplicación, se procede a abrirla en el emulador y se ve como
sigue:
Ya podemos
comenzar a probar la aplicación y llevar a cabo nuestra práctica.
Por ejemplo,
empezando por algo sencillo, y sabiendo desde la parte I del tutorial, análisis
estático, que su código era vulnerable por no validar lo que insertaba el
usuario, nos movemos al punto 7, donde se pide el nombre de un usuario a
buscar, si insertamos lo primero que se nos puede ocurrir (‘ or ‘1’=’1),
que raro que se nos ocurra semejante cosa :O, si no viene en ningún ejemplo…
XD.
Para esta
aplicación no necesitamos más, vemos que no se valida bien la entrada del
usuario, no tiene nada de novedad… SQL injection de lo más sencillo.
Ahora si
entramos al punto 3 para almacenar datos (usuario y contraseña), veremos
que tiene otra vulnerabilidad, y es que cualquiera puede leer estos datos en
claro, basta con usar adb:
adb shell
Esto nos da
acceso al emulador que tenemos corriendo (recuerda las opciones -d, -e). Una
vez dentro nos movemos al directorio /data/data, que es donde se guardan
los datos de las aplicaciones. Allí buscamos por datos que pertenezcan a diva.
Si miramos
el archivo.xml que se ve en la imagen anterior, vemos lo siguiente, (aunque en
la prueba se ha utilizado usuario root, que tiene todos los permisos, se podría
ver con cualquier usuario):
CiberByte,
que recuerdos, fue mi primer blog, y esta imagen se reutiliza de allí :).
También
podemos descargarnos el archivo a través de pull y verlo en nuestro PC. Hasta
aquí llega este post, aún puedes pasar más tiempo practicando con la
aplicación, revisando el código y probando sus distintos fallos.
No hay comentarios:
Publicar un comentario