Se ha detectado un nuevo troyano de Android llamado SoumniBot dirigido a usuarios de Corea del Sur aprovechando las debilidades en el procedimiento de extracción y análisis del manifiesto.
El malware «se destaca por un enfoque poco convencional para evadir el análisis y la detección, es decir, la ofuscación del manifiesto de Android», dijo el investigador de Kaspersky, Dmitry Kalinin , en un análisis técnico.
Cada aplicación de Android viene con un archivo XML de manifiesto («AndroidManifest.xml») que se encuentra en el directorio raíz y declara los distintos componentes de la aplicación, así como los permisos y las características de hardware y software que requiere.
Sabiendo que los cazadores de amenazas normalmente comienzan su análisis inspeccionando el archivo de manifiesto de la aplicación para determinar su comportamiento, se ha descubierto que los actores de amenazas detrás del malware aprovechan tres técnicas diferentes para hacer el proceso mucho más desafiante.
El primer método implica el uso de un valor de método de compresión no válido al descomprimir el archivo de manifiesto del APK usando la biblioteca libziparchive, que trata cualquier valor que no sea 0x0000 o 0x0008 como sin comprimir.
«Esto permite a los desarrolladores de aplicaciones poner cualquier valor excepto 8 en el método de compresión y escribir datos sin comprimir», explicó Kalinin.
«Aunque cualquier desempaquetador que implemente correctamente la validación del método de compresión consideraría inválido un manifiesto como ese, el analizador APK de Android lo reconoce correctamente y permite que se instale la aplicación».
Vale la pena señalar aquí que el método ha sido adoptado por actores de amenazas asociados con varios troyanos bancarios de Android desde abril de 2023.
En segundo lugar, SoumniBot tergiversa el tamaño del archivo de manifiesto archivado, proporcionando un valor que excede la cifra real, como resultado de lo cual el archivo «sin comprimir» se copia directamente, y el analizador de manifiesto ignora el resto de los datos «superpuestos» que ocupan el archivo. resto del espacio disponible.
«Los analizadores de manifiestos más estrictos no podrían leer un archivo como ese, mientras que el analizador de Android maneja el manifiesto no válido sin ningún error», dijo Kalinin.
La última técnica tiene que ver con la utilización de nombres largos de espacios de nombres XML en el archivo de manifiesto, lo que dificulta que las herramientas de análisis asignen suficiente memoria para procesarlos. Dicho esto, el analizador de manifiesto está diseñado para ignorar los espacios de nombres y, como resultado, no se generan errores al manejar el archivo.
SoumniBot, una vez iniciado, solicita su información de configuración a una dirección de servidor codificada para obtener los servidores utilizados para enviar los datos recopilados y recibir comandos utilizando el protocolo de mensajería MQTT, respectivamente.
Está diseñado para iniciar un servicio malicioso que se reinicia cada 16 minutos si finaliza por algún motivo y carga la información cada 15 segundos. Esto incluye metadatos del dispositivo, listas de contactos, mensajes SMS, fotos, vídeos y una lista de aplicaciones instaladas.
El malware también es capaz de agregar y eliminar contactos, enviar mensajes SMS, alternar el modo silencioso y habilitar el modo de depuración de Android, sin mencionar ocultar el ícono de la aplicación para dificultar su desinstalación del dispositivo.
Una característica notable de SoumniBot es su capacidad para buscar en medios de almacenamiento externos archivos .key y .der que contengan rutas a «/NPKI/yessign», que se refiere al servicio de certificado de firma digital ofrecido por Corea del Sur para gobiernos (GPKI), bancos y bolsas de valores en línea (NPKI).
«Estos archivos son certificados digitales emitidos por los bancos coreanos a sus clientes y utilizados para iniciar sesión en servicios bancarios en línea o confirmar transacciones bancarias», dijo Kalinin. «Esta técnica es bastante poco común para el malware bancario de Android».
A principios de este año, la empresa de ciberseguridad S2W reveló detalles de una campaña de malware emprendida por el grupo Kimusuky, vinculado a Corea del Norte, que utilizó un ladrón de información basado en Golang llamado Troll Stealer para desviar certificados GPKI de sistemas Windows.
«Los creadores de malware buscan maximizar el número de dispositivos que infectan sin que nadie se dé cuenta», concluyó Kalinin. «Esto los motiva a buscar nuevas formas de complicar la detección. Desafortunadamente, los desarrolladores de SoumniBot lo lograron debido a validaciones insuficientemente estrictas en el código del analizador de manifiestos de Android».
Fuente y redacción: thehackernews.com