Pruebas dinámicas de aplicaciones de Android.


Se realizan pruebas dinámicas para identificar vulnerabilidades durante el funcionamiento de la aplicación. En este artículo quiero compartir varias formas de probar la aplicación para Android. También mostraré cómo configurar y configurar el equipo. A quién le importa, bienvenido al gato.

Las pruebas dinámicas implican analizar registros de aplicaciones, analizar el tráfico de las aplicaciones, encontrar errores durante la operación, etc. Para realizar las pruebas, debe configurar la máquina virtual en Genimotion, como se describe aquí .

Qué herramientas se utilizan para el análisis dinámico:

  • BurpSuite;
  • Inspakage
  • Pidcat u otra aplicación con permisos de lectura para registros.

Cómo probar con BurpSuite

Primero debe configurar el proxy e importar el certificado. BurpSuite muestra las vulnerabilidades de la aplicación al anclaje SSL y puede encontrar vulnerabilidades que existen en el servidor con el que la aplicación está en contacto.

1. Instalar un proxy

Primero necesita ver información sobre las interfaces para la configuración correcta del proxy.


Fig. 1. Información sobre las interfaces.

Configurar proxies en BurpSuite.


Fig. 2. Configuración de proxy en BurpSuite.

Instalamos proxies en el dispositivo en el que realizaremos las pruebas.


Fig. 3. Configuración de proxy en el dispositivo.

Ingrese http [:] // burp / en el navegador; esto es necesario para descargar el certificado. Y descargue el certificado para trabajar. A continuación, debe abrir la carpeta "Descargas", hay un certificado descargado. Una pulsación larga en el certificado muestra un menú en el que seleccionamos "Cambiar nombre" y cambiamos la extensión a .cer e importamos el certificado.


Fig. 4. Descargar certificado /

2. Certificado de importación

Entramos en la configuración del dispositivo, buscamos el elemento "Seguridad", luego seleccionamos "Instalar desde SD". Desde la carpeta "Descargas", seleccione el certificado que fue descargado y renombrado. Después de que necesite darle un nombre al certificado.


Fig. 5. Certificado de importación.


Fig. 6. Certificado de importación.

3. Verificación de la instalación del certificado y visualización del tráfico a través de BurpSuite.


Fig. 7. Prueba de la corrección de la importación de certificados.


Fig. 8. Observamos las solicitudes que provienen del dispositivo.

Ahora puede probar la interacción con la API.

A partir de Android 7, este método de agregar un certificado Burp a confiable no funcionará para la mayoría de las aplicaciones; de forma predeterminada, los certificados de usuario ya no son confiables. Por lo tanto, tendrá que rootear, dar al certificado el nombre correcto y ponerlo en el directorio del sistema. (Comentario de y4ppieflu)
Cómo probar en Inspakage

Inspekage es una herramienta que permite realizar pruebas dinámicas de aplicaciones de Android y le ayuda a comprender qué hace la aplicación en tiempo de ejecución. Inspekage muestra el funcionamiento de la aplicación con:

  • archivos
  • bases de datos
  • criptografía
  • solicitudes http
  • cuerdas
  • troncos y otros


Fig. 9. Iniciando la aplicación para pruebas.


Fig. 10. Iniciando la aplicación para pruebas.

Después de iniciar la aplicación, en el navegador, ingrese https [:] // 192 [.] 168 [.] 100 [.] 198 [:] 8008 vaya a la consola de la aplicación (Fig. 11).


Fig. 11. Ejecutar la consola en un navegador.

A continuación, vaya a las pestañas de la consola:

  • Preferencias compartidas - Fig. 12: demuestra la interacción de la aplicación con los recursos locales.
  • Serialización - Fig. 13
  • Criptografía - Fig. 14: demuestra el trabajo con criptografía (SSL / TLS no está incluido aquí)
  • Hash - Fig. 14
  • SQLite - Figura 15
  • HTTP - foto. 16 - en BurpSuite esta pestaña se divulga mejor
  • FileSystems - Fig. 17 - aplicación de trabajo con archivos
  • IPC - Fig. 18, etc.


Fig. 12. Preferencias compartidas.


Fig. 13. Serialización.


Fig. 14. Crypto.


Fig. 15. Hash.


Fig. 16. SQLite.


Fig. 17. HTTP.


Fig. 18. Sistema de archivos.


Fig. 19. IPC.

Prueba con Pidcat

Pidcat es una aplicación que lee registros de operaciones de la aplicación. Al realizar la prueba, debe realizar las funciones de la aplicación y ver qué datos se encuentran en los registros de trabajo. Básicamente, la información de servicio se muestra allí, sucede que puede obtener información crítica, por ejemplo, una copia de seguridad de una clave privada. Si el dispositivo contiene malware, esta información puede caer en manos de un atacante.


Fig. 20. Copia de seguridad de la clave privada.


Fig. 21. Información confidencial.

Conclusión

En la práctica, se muestran los métodos de prueba dinámica básica de las aplicaciones de Android que utilizamos en ByteCode para trabajar. También hay un módulo para pruebas automatizadas en el marco MobSF, pero esto requiere un artículo separado.

Source: https://habr.com/ru/post/es432820/


All Articles