Análisis dinámico en Android - IV - Análisis del tráfico cifrado de forma simétrica

Introducción Además de las protecciones relacionadas con la exigencia de un certificado TLS específico (pinning) existe la posibilidad de cifrar las comunicaciones en red sobre el protocolo HTTP. En el caso del cifrado simétrico la aplicación obtendrá la clave del servidor o la obtendrá del propio código fuente de la aplicación, de forma estática (guardada en una variable), o de forma dinámica, en la que varios métodos ofuscados se ejecutarán para crear la clave a utilizar. ...

septiembre 1, 2024 · 4 min

Análisis dinámico en Android - III - Eliminación de restricciones de aplicaciones

Introducción Diversas aplicaciones como las relacionadas con entornos bancarios o con las administraciones públicas contienen restricciones que impiden su ejecución en los dispositivos móviles Android que han sido alterados, por ejemplo, al instalar Magisk y obtener permisos de superadministrador, haber desbloqueado el cargador de arranque o si se están ejecutando en emuladores y no en dispositivos reales, todo ello para evitar su análisis. En una aplicación de ejemplo habrá que eliminar esas restricciones del código fuente de la aplicación. Una opción será desempaquetar la aplicación y modificar el código .smali, que es un tipo de bytecode a bajo nivel no binario que puede ser leído. Para ello previamente extraeremos el archivo APK correspondiente a la aplicación y descompilaremos el código fuente de la aplicación utilizando la herramienta JADX. ...

agosto 1, 2024 · 6 min

Análisis dinámico en Android - II - Interceptación de comunicaciones HTTPS y SSL Pinning

Introducción Una de las fases del análisis dinámico de aplicaciones Android es la interceptación de las conexiones realizadas por parte de la aplicación a los servidores remotos. En el caso de que utilicen el protocolo HTTP podrán ser fácilmente interceptadas y manipuladas con un servidor proxy ya que el protocolo no utiliza cifrado. Pero en el caso de que utilice el protocolo HTTPS necesitaremos instalar un certificado de Autoridad de Certificación en nuestro dispositivo ya que la conexión será cifrada con éste. Adicionalmente, algunas aplicaciones usan la técnica de SSL Pinning, que consiste en confiar únicamente en determinador certificados embebidos en la aplicación. ...

diciembre 1, 2023 · 5 min

Análisis dinámico en Android - I - Instalación del entorno

Introducción Para la realización de una auditoría de seguridad de una aplicación de Android es necesaria la creación de un entorno personalizado, el cual puede estar basado en un dispositivo físico o en un emulador. Para la mayoría de los casos un emulador será suficiente. En este artículo crearemos una máquina virtual de Android en su arquitectura x86_64, y la modificaremos instalando Magisk, para obtener permisos de superusuario y poder instalar módulos, e instalaremos algunas aplicaciones. ...

noviembre 1, 2023 · 6 min