Evaluación de aplicaciones Android — Parte II

July 12, 2018
Pruebas de acceso móviles

Descompilación de aplicaciones Android

Supongo que ya tienes el archivo.apk instalable de la aplicación guardado en tu disco local (si no, consulta mi última publicación). En términos más simples, la descompilación es el método para ver los archivos de la aplicación. Los pasos para la descompilación de la aplicación son:

  • Cambie el nombre del archivo de la aplicación de .apk a .zip o .rar
  • Extraiga el archivo comprimido para ver los archivos de la aplicación

Los archivos de interés son:

  • AndroidManifest.xml - Contiene el permiso de la aplicación, los ajustes de configuración, los filtros y los ajustes del servicio. Busque el permiso de la aplicación o cualquier llamada de servicio externa. Puede encontrar más información aquí.
  • Clases. DEX — Contiene el código fuente de la aplicación, es decir, archivos de clases, archivos java, archivos xml, etc. Busque la implementación de la lógica empresarial, la lógica de cifrado/descifrado, las credenciales codificadas de forma rígida y los datos de prueba.

Hay muchas posibilidades de que el archivo AndroidManifest.xml esté codificado, por lo que debe decodificarlo con una herramienta de terceros antes de poder verlo. Descargue la utilidad AXMLPrinter2.jar desde aquí. A continuación se muestran los pasos para decodificar el archivo AndroidManifest.xml:

Ahora deberías poder ver tu aplicación AndroidManifest.xml en texto sin cifrar.
Otro método para inspeccionar el archivo AndroidManifest.xml es descargar e instalar Explorador de manifiestosaplicación en su dispositivo Android como se muestra:

El siguiente paso es descompilar las clases.d
archivo ex. Este es el archivo más importante para inspeccionar desde el punto de vista de la seguridad. Así es como puedes descompilarlo:

  • Descargue una herramienta de terceros llamada dex2jar desde aquí
  • A continuación se muestra el comando para convertir el archivo dex a jar:
  • Busque el archivo jar creado y cámbiele el nombre a rar o zip
  • Extraiga el archivo comprimido y visualice los archivos de clase con su descompilador java favorito

Inspección de bases de datos

El objetivo de esta prueba es buscar información confidencial almacenada en la base de datos de la aplicación. Hay muchas posibilidades de obtener las credenciales de usuario en texto plano o en información confidencial, como los detalles financieros del usuario, los números de SSN, etc. Android almacena todos los archivos relacionados con la aplicación en la carpeta /data/data. Puedes acceder a esos archivos desde adb.exe mediante los siguientes comandos:

dispositivos adb: se mostrará la lista de dispositivos conectados
cáscara ADB
su
cd /datos/datos/
ls
Busca tu carpeta de aplicaciones
cd com.android.applicationname
ls

Los archivos de la base de datos de la aplicación se almacenarán en la carpeta de bases de datos. Para ver el archivo de la base de datos, necesitamos usar la utilidad sqllite3 que viene junto con el kit de herramientas del SDK. Así es como puede verlos:

sqllite3 /data/data/com.android.nombredeaplicación/bases de datos/nombredebase de datos
.table: muestra todas las tablas de la base de datos
seleccione * de user_id;


En mi próxima publicación, cubriré más ataques específicos de aplicaciones y una lista de herramientas que son esenciales desde la perspectiva de Pentest.

¡¡¡Feliz lectura!!!

Share this post
Seguridad de Wordpress
Análisis de malware
Herramientas y técnicas
Pentestes
PTAAS
Suscríbase a nuestro boletín

Suscríbase a nuestro boletín hoy mismo y mejore sus conocimientos con información valiosa. ¡Es rápido, fácil y gratuito!

Be a Team Player
¡Gracias! ¡Su presentación ha sido recibida!
¡Uy! Algo salió mal al enviar el formulario.
Latest blogs

Latest updates in cybersecurity services

View All
Blacklock Blog Image