Cómo Pentest para Android | de M’hirsi Hamza | Octubre de 2020

Hola medio! Aquí estamos de nuevo para un nuevo artículo, hoy veremos cómo analizar la aplicación de Android en varios pasos:

1. Preparar nuestro entorno de trabajo
2. Pentest nuestra aplicación de Android

Podemos cualquiera pentest un Aplicación para Android en teléfono o en un virActual máquina en nuestra PC, personalmente prefiero una computadora virtual, por lo que no tengo que comprar un teléfono nuevo y erradicar eso. En mi caso, tenemos que instalar Genymotion desde este enlace en nuestra Kali máquina. nosotros también tenemos que descargar Paquetes y bibliotecas del SDK de Android, este video puede ser útil:

Fuente

Al usar Genymotion, el sistema operativo que usaremos ya está arraigado, simplemente usamos el siguiente comando para instalar nuestra aplicación en el emulador:

#adb install application.apk

Puedes consultar más información sobre adb enlace
En este artículo usaremos solo Drozer.

2. Aplicación Pentest para Android

Para analizar nuestra aplicación .apk, necesitamos descomprimirla tan fácilmente que cambiamos su extensión de .apk a .zip:

#cp application.apk application.zip
#unzip application.zip –d application

Cuando abrimos nuestro nuevo archivo InsecureBank, encontramos los siguientes archivos:

Leer información sobre certificado podemos ejecutar este comando, podemos cambiar esta certificación si queremos usar Burp suit:

#keytool –printcert –v – Archivo META-INF / CERT.RSA

Verificación de la aplicación integridad:

#jarsigner –verify application.apk

Para ver las clases en nuestra aplicación, necesitamos ejecutar este comando:

# d2j-dex2jar application.apk

Ahora podemos verificar el código de esta aplicación y encontrar el código. vulnerabilidad, se necesita mucho tiempo para comprender el código, pero generalmente el desarrollador no usa nombres de variables aleatorios, por lo que solo debe recordarlos, especialmente cuando se pasa de una clase a otra:

Tenemos varios componentes en este código:

+ android: exportado

Una de las mas cosas atacantes los intentos de capturarlos son un atributo de componente, especialmente si la variable exportada es verdadera, aquí el atacante puede saltar directamente a esta actividad usando «adb».
«El valor predeterminado depende de si la actividad contiene filtros de intención». La ausencia de filtros significa que la actividad solo se puede invocar ingresando su nombre de clase exacto. La presencia de al menos un filtro significa que la actividad está destinada a un uso externo, por lo que el valor predeterminado es «verdadero». Este atributo no es la única forma de restringir la actividad. exposición a otras aplicaciones. También puede utilizar permisos para restringir entidades externas que pueden desencadenar una actividad (consulte el atributo de permisos). » [Source]

Archivo de manifiesto

En este archivo vemos las actividades relevantes.
Primero debemos descomprimir la aplicación:

#apktool d application.apk

Fuente

En el archivo de manifiesto encontramos la etiqueta android: exported true, que menciona la vulnerabilidad. Y podemos llamar a estas actividades directamente.

DROZER es bueno herramienta que instalas en android y tu administración Desde el terminal, esta herramienta ayuda a comunicarse con otra aplicación y probarla fuga datos, saltar a actividades …

«Drozer le permite buscar vulnerabilidades en aplicaciones y dispositivos al asumir el rol de la aplicación e interactuar con la máquina virtual Dalvik, los puntos finales IPC de otras aplicaciones y el sistema operativo base.

drozer proporciona herramientas para ayudarlo a usar, compartir y comprender las vulnerabilidades públicas de Android. Le ayudará a desplegar el Agente de Drogas en la instalación a través de la explotación o la ingeniería social. Con la aplicación Weasel (uso útil avanzado de MWR), la farmacia puede maximizar los permisos disponibles instalando un agente completo, insertando un agente restringido en un proceso en ejecución o adjuntando un shell inverso que actúa como una herramienta de acceso remoto (RAT).» [Source]

Este video lo ayudará a comprender más al respecto. marco de referencia:

Desde aquí podemos entender que podemos lanzar directamente la página de transferencia con este comando:

> ejecutar app.activity.start – componente com.android.application com.android.application.Login

Otro módulo útil es app.package.attacksurface. Le dará información sobre los componentes exportados y también si la aplicación es ajustable o no. Veamos el uso de debuggable solicitud en otros artículos.

Para otros Herramientas Me gustaría que vieras estos videos / enlaces:

https://resources.infosecinstitute.com/android-hacking-security-part-11-blackbox-assessments-introspy/#gref

resumen

En este pequeño artículo, hemos visto cómo podemos fácilmente depurar Aplicaciones de Android y para encontrar diversas vulnerabilidades, para entrenarte realmente recomiendo depurar InsecureBank solicitud (Enlace descargar);) GL

+ referencias

https://resources.infosecinstitute.com/android-application-hacking-insecure-bank-part-2/#article

Espero que hayas disfrutado este artículo como siempre, si tienes algo que agregar, no dudes en escribir un comentario ^^ y seguirlo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *