¿Qué haces hoy, ”rompemos” alguna aplicación?

¿Qué haces hoy, ”rompemos” alguna aplicación?

Tiempo de lectura estimado: 5 minutos


Esta conferencia magistral pertenece al Módulo 9 “Pentesting” de C1b3rWall Academy 2021/2022. El objetivo de la misma es “romper” una aplicación móvil  para practicar.

Siguiendo el estándar de OWASP, se validan tres capas de seguridad:

  • L1: Seguridad estándar
  • L2: Defensa en profundidad
  • R: Resistencia contra la ingeniería inversa y manipulación

Suelen ser L1+R, o L2+R. L2+R suelen utilizarla aplicaciones que manejen muchos datos sensibles como bancos, empresas medicas, aseguradoras... 

Podemos guiarnos con el estándar de OWASP Top 10 Mobile, que mide las principales amenazas de dispositivos móviles:



Ejemplo práctico

Vamos a practicar a romper una aplicación, lo haremos con DIVA. Está preparada con vulnerabilidades con fines educativos y se puede descargar en GitHub. Para esta demo necesitamos una máquina virtual o un dispositivo real conectado con el programa Visor. Utilizaremos varias herramientas: ADB, jd-gui, dex2jar y apktool.

En este caso lo decompilaremos con apktool, generándonos la carpeta diva-beta y podremos ver la información en texto plano (permisos, activities…). Una vez hecho, podemos trabajar con ella.

Paramos el logcat y podemos ver los procesos y quedarnos con el identificador, en este caso 30977. Lanzamos el logcat de nuevo pero que nos muestre solo ese proceso. Una vulnerabilidad muy típica es que se queda guardada información sensible en el log, por ejemplo, al acceder con una tarjeta de crédito de forma errónea.

Con dex2jar hemos abierto el apk en jar con las classes.dex. En HardcodeActivity podemos obtener la clave de acceso simplemente copiándola del código.

También vamos a ver cómo ciertos parámetros no están ofuscados y es muy fácil acceder a ellos. A través de la shell podemos encontrar ciertas bases de datos en las cuales se encuentran los usuarios. Como no están cifradas podemos acceder a ellos muy fácilmente.

Además podemos hacer que nos devuelva los datos de un usuario conocido. Comprobamos que existe SQL injection con la típica comilla para forzar este tipo de errores. 

Dentro de las aplicaciones móviles están los webview, páginas embebidas que se van a cargar dentro de la aplicación. Con el esquema URI podemos interactuar con los webviews, concretamente con el file, que nos permite acceder a accesos locales. Gracias a él recuperaremos ficheros del dispositivo, entre ellos las credenciales del usuario.

En la masterclass en vídeo puedes ver de manera práctica el contenido de este artículo


¿Todavía no formas parte de C1b3rWall Academy? El contenido es gratuito, únete a otras 30.000 personas desde este enlace.

                   

Si te interesa este tema, puedes consultar la información y cursar el Máster en Ciberseguridad o ver la oferta de másteres desde aquí.


Ponente: Víctor Flores Sánchez

Red Team Leader en Viewnext (IBM). Cuenta con certificaciones CEH, ECSA, ISTQB TTA… y formaciones de entorno cloud como Azure o AWS.

¿Cuál es tu reacción?

like

dislike

love

funny

angry

sad

wow

Acción formativa gratuita en ciberseguridad. Web: https://c1b3rwallacademy.usal.es/