
Una de las etapas de probar una aplicación móvil es un análisis estático. El análisis estático de la aplicación es el análisis de la aplicación sin realizar ninguna función de la aplicación. Lo más conveniente para mí de los frameworks de código abierto es MobSF. A quién le importa, bienvenido al gato.
MobSF realiza análisis estáticos de aplicaciones: Android, Apple iOS y Windows Phone y análisis dinámico: solo aplicaciones de Android. Le diré cómo realizar un análisis dinámico en el próximo artículo dedicado a MobSF. Puede encontrar una descripción más detallada y un manual de instalación
aquí .
Después de instalar MobSF, realizaremos el siguiente archivo por lotes para iniciar el servidor (escribí para mí, por lo tanto, la unidad D).
d: cd .\MobSF\ python .\manage.py runserver
Luego debe ir a la dirección
http [:] // 127.0.0.1:8000 y se abrirá la página principal (Fig. 1). No hay mucho funcional aquí:
- carga de archivos;
- ver informes sobre escaneos pasados;
- Cambiar a la documentación de la API
- transición al proyecto github.
Fig. 1. La página principalDespués de descargar y analizar el archivo, aparece una página con el resultado del análisis (Fig. 2). A la izquierda hay un menú que le permite saltar rápidamente por la página (el resultado es voluminoso simplemente). Qué información útil hay en esta captura de pantalla:
- cantidad de hash de la aplicación
- Versiones de sistema operativo Android compatibles
- la cantidad y los tipos de componentes (exportados o no), esto es importante, ya que los componentes exportados pueden generar vulnerabilidades críticas;
- la capacidad de ver y descargar archivos java y smali que pueden analizarse con otras herramientas o manualmente;
- ver el archivo de manifiesto para su análisis.
Fig. 2. El resultado del análisis.Vamos más allá En la fig. La Figura 3 muestra la información del certificado mediante el cual se firmó la solicitud.
Fig. 3. Información del certificadoLa siguiente es una descripción del análisis de permisos, que se describe en el archivo AndroidManifest.xml (Fig. 4). MobSF analiza los permisos de la aplicación, determina su estado, para la criticidad y la descripción de los permisos. Aquí debe comprender la arquitectura del sistema operativo Android para la crítica real de la aplicación.
Fig. 4. Análisis de permisos de AndroidLa pestaña Análisis de seguridad -> Análisis de código (Fig. 5) muestra el resultado del análisis de código Java realizado por un analizador estático que identifica vulnerabilidades potenciales, determina su gravedad y los archivos en los que se encontró este tipo de vulnerabilidad. En muchos sentidos, estos resultados son falsos positivos, pero debe verificar esto dos veces.
Fig. 5. Análisis de códigoLa siguiente pestaña (Fig. 6) es el análisis de archivos en el servicio virustotal.com. En este caso, el archivo no se detectó como infectado.
Fig. 6. Análisis de archivosLa pestaña URL (Figura 7) muestra una lista de URL, direcciones IP y archivos en los que se almacenan o llaman. Esta sección analiza dónde la aplicación envía datos o dónde almacena información.
Fig. 7. URL de pestañaLa pestaña "Cadenas" (Fig. 8) analiza los archivos de texto que están en el directorio res. Al analizar la aplicación, estos archivos pueden contener cuentas codificadas y otros datos confidenciales. Aunque en mi memoria esto no fue así.
Fig. 8. Análisis de archivos de texto.La pestaña "Componentes" (Fig. 9) muestra una lista completa de componentes (actividad, servicio, proveedor de contenido y recibos), bibliotecas y archivos importados sin definir una extensión.
Fig. 9. Lista de componentesAdemás, el análisis del código fuente se puede realizar utilizando el analizador estático del escáner VCG. VCG necesita código fuente. El código fuente se puede descargar a través del botón Descargar código Java (Fig. 10). El archivo se descarga en un archivo ZIP. A continuación, debe extraer la carpeta con los archivos del archivo (Fig. 11).
Fig. 10. Descargando el código fuente
Fig. 11. Extrayendo el código fuenteEl escaneo del código fuente se realiza de la siguiente manera:
- En la pestaña "Configuración", seleccione "Java" - Figura 12.
- En la pestaña "Archivo", seleccione "Nuevo directorio de destino" - Figura 13.
- En la pestaña "Escanear", seleccione "Escaneo completo" - Figura 14.
Fig. 12. Selección del código fuente
Fig. 13. Subir un directorio con archivos
Fig. 14. Iniciar escaneoUna vez que se completa el escaneo, el escáner muestra los nombres de la vulnerabilidad, su criticidad, una breve descripción y el lugar en el código fuente (Fig. 15). Puede obtener una lista completa de vulnerabilidades y ordenarlas por su criticidad (Fig. 16).
Fig. 15. Descripción de vulnerabilidades.
Fig. 16. La lista completa de vulnerabilidadesConclusiónEl análisis estático de la aplicación y el código fuente proporciona conceptos básicos sobre la arquitectura de la aplicación y los posibles vectores de ataque. De acuerdo con la metodología utilizada por
ByteCode, es de él que comienza el análisis de cualquier aplicación del cliente que llegó al pentest.