Escrito por Dexter Shin Resumen Los cibercriminales evolucionan constantemente sus técnicas para evitar las medidas de seguridad. Recientemente, el equipo de investigación móvil de McAfee descubrió campañas de malware que abusan de .NET Maui, un marco de desarrollo multiplataforma, para evadir la detección. Estas amenazas se disfrazan de aplicaciones legítimas, apuntando a los usuarios a robar información confidencial. Este blog destaca cómo operan estos malware, sus técnicas de evasión y recomendaciones clave para mantenerse protegidos. Antecedentes en los últimos años, los marcos de desarrollo móvil multiplataforma han crecido en popularidad. Muchos desarrolladores usan herramientas como Flutter y React nativo para crear aplicaciones que funcionan tanto en Android como en iOS. Entre estas herramientas, Microsoft proporciona un marco basado en C#, llamado Xamarin. Dado que Xamarin es bien conocido, los cibercriminales a veces lo usan para desarrollar malware. Anteriormente hemos encontrado malware relacionado con este marco. Sin embargo, Microsoft terminó el soporte para Xamarin en mayo de 2024 e introdujo .NET Maui como su reemplazo. A diferencia de Xamarin, .NET Maui expande el soporte de la plataforma más allá de los dispositivos móviles para incluir Windows y MacOS. También se ejecuta en .NET 6+, reemplazando el estándar .NET anterior e introduce optimizaciones de rendimiento con una arquitectura liviana basada en manejadores en lugar de renderistas personalizados. A medida que la tecnología evoluciona, los cibercriminales también se adaptan. Reflejando esta tendencia, recientemente descubrimos nuevas campañas de malware de Android desarrolladas usando .NET Maui. Estas aplicaciones tienen sus funcionalidades centrales escritas completamente en C# y almacenadas como binarios de blob. Esto significa que, a diferencia de las aplicaciones tradicionales de Android, sus funcionalidades no existen en archivos Dex o bibliotecas nativas. Sin embargo, muchas soluciones antivirus se centran en analizar estos componentes para detectar el comportamiento malicioso. Como resultado, .Net Maui puede actuar como un tipo de empacador, lo que permite que el malware evite la detección y permanezca activo en los dispositivos durante mucho tiempo. En las siguientes secciones, presentaremos dos campañas de malware de Android que usan .NET Maui para evadir la detección. Estas amenazas se disfrazan de servicios legítimos para robar información confidencial de los usuarios. Exploraremos cómo operan y por qué representan un riesgo significativo para la seguridad móvil. ¿Estoy protegido? McAfee Mobile Security ya detecta todas estas aplicaciones como Android/Fakeapp y protege a los usuarios de estas amenazas. Para obtener más información sobre nuestro producto móvil, visite McAfee Mobile Security. Hallazgos técnicos Si bien encontramos múltiples versiones de estas aplicaciones maliciosas, los siguientes dos ejemplos se utilizan para demostrar cómo evaden la detección. En primer lugar, ¿dónde encuentran los usuarios estas aplicaciones maliciosas? A menudo, estas aplicaciones se distribuyen a través de tiendas de aplicaciones no oficiales. Los usuarios generalmente se dirigen a tales tiendas haciendo clic en enlaces de phishing disponibles por fuentes no confiables en grupos de mensajes o mensajes de texto. Es por eso que recomendamos en McAfee que los usuarios evitan hacer clic en enlaces no confiables. Ejemplo 1: Aplicación del banco falso La primera aplicación falsa que encontramos se disfraza en sí misma como IndoInd Bank, específicamente dirigida a los usuarios indios. Cuando un usuario lanza la aplicación, les pide que ingresen detalles personales y financieros, incluido su nombre, número de teléfono, correo electrónico, fecha de nacimiento e información bancaria. Una vez que el usuario envía estos datos, se envía inmediatamente al servidor C2 (comando y control) del atacante. Figura 1. Pantalla de la aplicación Fake Indusind Bank que solicita información del usuario como se mencionó anteriormente, este no es un malware Android tradicional. A diferencia de las aplicaciones maliciosas típicas, no hay rastros obvios de código dañino en el código Java o nativo. En cambio, el código malicioso está oculto dentro de los archivos BLOB ubicados dentro del directorio de ensamblajes. Figura 2. BLOB contiene código malicioso El siguiente fragmento de código revela cómo la aplicación recopila y transmite datos de usuario al servidor C2. Según el código, la aplicación estructura la información requerida como parámetros antes de enviarla al servidor C2. Figura 3. Código C# responsable de robar datos del usuario y enviarlos al servidor C2 Ejemplo 2: aplicación SNS falsa en contraste con la primera aplicación falsa, este segundo malware es aún más difícil para la seguridad de la seguridad. Se dirige específicamente a los usuarios de habla china e intenta robar contactos, mensajes SMS y fotos de sus dispositivos. En China, donde el acceso a Google Play Store está restringido, tales aplicaciones a menudo se distribuyen a través de sitios web de terceros o tiendas de aplicaciones alternativas. Esto permite a los atacantes difundir su malware más fácilmente, especialmente en regiones con acceso limitado a tiendas de aplicaciones oficiales. Figura 4. Sitio de distribución y aplicación Fake X dirigida a usuarios de habla china Una de las técnicas clave que este malware usa para permanecer sin detectar es la carga dinámica de varias etapas. En lugar de incrustar directamente su carga útil maliciosa en un formato de fácil acceso, encripta y carga sus archivos DEX en tres etapas separadas, lo que hace que el análisis sea significativamente más difícil. En la primera etapa, la actividad principal de la aplicación, definida en androidmanifest.xml, descifra un archivo encriptado por XOR y lo carga dinámicamente. Este archivo inicial actúa como cargador para la siguiente etapa. En la segunda etapa, el archivo cargado dinámicamente descifra otro archivo encriptado AES y lo carga. Esta segunda etapa aún no revela el comportamiento malicioso central, pero sirve como otra capa de ofuscación. Finalmente, en la tercera etapa, el archivo descifrado contiene código relacionado con el marco .NET Maui, que luego se carga para ejecutar la carga útil principal. Figura 5. Carga dinámica de múltiples etapas La carga útil principal está oculta en última instancia dentro del código C#. Cuando el usuario interactúa con la aplicación, como presionar un botón, el malware roba silenciosamente sus datos y los envía al servidor C2. Figura 6. Código C# responsable de robar imágenes, contactos y datos de SMS más allá de la carga dinámica de varias etapas, este malware también emplea trucos adicionales para dificultar el análisis. Una técnica es manipular el archivo androidmanifest.xml agregando un número excesivo de permisos innecesarios. Estos permisos incluyen grandes cantidades de cadenas sin sentido generadas al azar, lo que puede causar errores en ciertas herramientas de análisis. Esta táctica ayuda a la detección de malware al interrumpir los escáneres automatizados y el análisis estático. Figura 7. Archivo AndroidManifest.xml con permisos aleatorios excesivos Otra técnica clave es la comunicación de socket. En lugar de usar solicitudes HTTP estándar, que son más fáciles de interceptar, el malware se basa en las conexiones de socket TCP para transmitir datos. Este enfoque dificulta que las herramientas de proxy HTTP tradicionales capturen el tráfico de red. Además, el malware cifra los datos antes de enviarlos, lo que significa que incluso si los paquetes son interceptados, sus contenidos siguen siendo ilegibles. Un aspecto más importante a tener en cuenta es que este malware adopta varios temas para atraer a los usuarios. Además de la aplicación Fake X, también descubrimos varias aplicaciones de citas que usan las mismas técnicas. Estas aplicaciones tenían diferentes imágenes de fondo, pero compartían la misma estructura y funcionalidad, lo que indica que probablemente fueron creadas por el mismo desarrollador que la aplicación X falsa. La aparición continua de aplicaciones similares sugiere que este malware se está distribuyendo ampliamente entre los usuarios de habla china. Figura 8. Varias aplicaciones falsas que utilizan las mismas recomendaciones de técnica y conclusión, el aumento del malware basado en .NET Maui destaca cómo los cibercriminales están evolucionando sus técnicas para evitar la detección. Algunas de las técnicas descritas incluyen: hechizos de código de código dentro de los ensamblajes de la carga de la etapa de la etapa comunicaciones cifradas con estas técnicas de evasión, las amenazas pueden permanecer ocultas durante largos períodos, haciendo que el análisis y la detección sean significativamente más desafiantes. Además, el descubrimiento de múltiples variantes que utilizan las mismas técnicas centrales sugiere que este tipo de malware se está volviendo cada vez más común. Los usuarios siempre deben ser cautelosos al descargar e instalar aplicaciones de fuentes no oficiales, ya que estas plataformas a menudo son explotadas por los atacantes para distribuir malware. Esto es especialmente preocupante en países como China, donde el acceso a tiendas de aplicaciones oficiales es restringido, lo que hace que los usuarios sean más vulnerables a tales amenazas. Para mantenerse al día con la rápida evolución de las tácticas cibercriminales, se les recomienda encarecidamente a los usuarios que instalen software de seguridad en sus dispositivos y lo mantengan actualizado en todo momento. Mantenerse vigilante y garantizar que existan medidas de seguridad pueden ayudar a proteger contra las amenazas emergentes. Al usar la seguridad móvil McAfee, los usuarios pueden mejorar la protección de su dispositivo y detectar amenazas relacionadas con este tipo de malware en tiempo real. Glosario de términos Indicadores de compromiso (IOC) APKS: C2: TCP[://]120.27.233.135:1833 https[://]Onlinedeskapi.com Presentación de McAfee+ Identity Robo Protection and Privacy para su vida digital Descargar McAfee+ Now \ x3cimg Height = «1» Width = «1» Style = «Display: Ninguno» Src = «https://www.facebook.com/tr?id=766537420057144&ev=pageview&noscript=1″ » /> \ x3c /noscript> ‘);
Deja una respuesta