Las auditorías a aplicaciones es uno de los servicios que ofrecemos en Sidertia Solutions. Este tipo de análisis permite detectar vulnerabilidades.

La primera operación que realizamos es la extracción del fichero APK (Android Application Package) para su análisis. Esto en caso de que el cliente no nos proporcione una versión concreta.

Esta operación se puede hacer desde un dispositivo no rooteado sin ningún problema, pero en este ejemplo se va a realizar desde un emulador de Genymotion que sí está rooteado (Android 7, API 24).

En este caso vamos a extraer una aplicación de linterna llamada “Flashlight”, para ello el primer paso es conectar con el dispositivo o emulador utilizando ADB (Android Debug Bridge). Es esencial que, si el dispositivo no está conectado con cable al PC, esté conectado a la misma red que el PC. Ejecutamos el siguiente comando para conectar con el emulador en el puerto por defecto 5555:

				
					adb connect <IP_DISPOSITIVO>:5555
				
			
adb connect

Una vez conectados, vamos a listar todos los paquetes (aplicaciones) que están instalados en el dispositivo con el siguiente comando:

				
					(Linux) adb shell pm list packages | grep -i <NOMBRE_APP>
(Windows) adb Shell pm list packages | findstr -i <NOMBRE_APP>
				
			
adb shell pm list packages

El comando anterior utiliza adb para invocar una Shell del dispositivo y pm para invocar al Package Manager del dispositivo. 

Luego ejecuta el comando list packages de Package Manager para obtener la lista completa de paquetes. Posteriormente se filtra la lista para obtener el que estamos buscando.

Una vez localizado el nombre del paquete que estamos buscando, ejecutamos el siguiente comando para obtener la ruta de dicho paquete:

				
					adb shell pm path <PAQUETE_APP>
				
			
adb shell pm path

Este comando es similar al anterior, pero ahora se usa el comando path y el nombre del paquete.

Por último, extraemos el fichero utilizando la ruta obtenida en el comando anterior de la siguiente forma:

				
					adb pull <RUTA_PAQUETE_APP>
				
			
adb shell pm list packages

Este comando ha creado un fichero llamado base.apk en el directorio actual, este es el fichero APK de la aplicación.

Antes de comenzar con el análisis, se recomienda obtener el hash de la aplicación:

Esto permitirá identificar correctamente el APK que ha sido objeto de auditoría.

Comparte:

Post Relacionados.