LummaC2 Stealer es un malware avanzado de robo de información diseñado específicamente para apuntar a datos confidenciales de billeteras de criptomonedas y extensiones 2FA en varios navegadores web.
El ladrón fue descubierto a finales de 2022 y opera como un “MaaS”, lo que permite a los atacantes comprar a varios precios.
Los equipos de seguridad de Google y Mandiant descubrieron recientemente que el ladrón LummaC2 aprovecha activamente la dirección indirecta del flujo de control personalizado para su ejecución.
Ladrón LummaC2 que explota el flujo de control personalizado
El ladrón “LummaC2” (“LUMMAC.V2”) aprovecha la “direccionamiento indirecto del flujo de control personalizado” para manipular las rutas de ejecución y se basa en el aplanamiento tradicional del flujo de control.
Esta tecnología frustra eficazmente las herramientas de análisis binario como 'IDA Pro' y 'Ghidra', limitando significativamente los esfuerzos de 'ingeniería inversa' y 'detección automática'.
Para combatir esto, los analistas de seguridad han desarrollado un “método de desofuscación automatizado” utilizando corte simbólico hacia atrás.
Su enfoque se centra principalmente en distinguir entre instrucciones originales e “instrucciones del despachador” insertadas por ofuscadores dentro de funciones protegidas.
Los investigadores aprovecharon el motor de ejecución simbólica Triton para realizar un seguimiento hacia atrás para aislar las instrucciones del despachador y determinar cómo calcular las transferencias de control indirectas.
Tipos de bloques de Dispatcher (Fuente – Google)
Las herramientas de ofuscación utilizan varios tipos de bloques de despachador:
Basado en registros Diseño de orden mixto basado en memoria Distribuidor condicional especial (para lógica estándar, bucles y manejo de llamadas al sistema) Compilador ofuscante Diseño de distribuidor (Fuente: Google)
Reconstruya y desofusque las muestras reconstruyendo el flujo de control original a través de un algoritmo transversal de búsqueda en profundidad (DFS) y el procesamiento estratégico de saltos condicionales para un análisis binario estático completo que puede estar en cualquier formato adecuado.
Este método proporciona información crítica a los equipos de seguridad y permite un análisis y una detección más efectivos de la amenaza en evolución “LummaC2”.
Además de esto, la desofuscación reconstruye la funcionalidad original eliminando elementos agregados por el ofuscador y preservando al mismo tiempo la semántica del programa.
Este proceso implica la reescritura de instrucciones, donde las instrucciones desofuscadas sobrescriben la función protegida desde su punto de entrada.
Bloqueo de despachadores (Fuente: Google)
Se tratan dos casos de saltos indirectos: bloques de despachadores incondicionales y bloques de despachadores condicionales. Esto último requiere determinar el tipo de salto original ('jz', 'jnz', 'jl') según la instrucción setcc. El proceso de reconstrucción filtra las instrucciones del despachador y los duplicados.
Sigue la reubicación de compensación y las instrucciones de referencia de memoria (saltos, llamadas) se ajustan para tener en cuenta la nueva ubicación de la instrucción después de que se elimina el código ofuscado.
Esta técnica se ha aplicado al malware LummaC2, donde se utiliza corte hacia atrás y ejecución simbólica para identificar las instrucciones originales y eliminar el código del despachador.
Este proceso garantiza que la función desofuscada ocupe menos espacio que la función ofuscada, y que el espacio restante se llene con el relleno del compilador (“instrucciones 0xCC”).
Este método demuestra la amplia aplicabilidad del “backward slicing” en ingeniería inversa y análisis de malware.
Señales de compromiso
Familia de malware relacionado con MD5 d01e27462252c573f66a14bb03c09dd2LUMMAC.V25099026603c86efbcf943449cd6df54aLUMMAC.V2205e45e123aea66d444feaba9a846748LUMMAC.V2
Analice enlaces sospechosos utilizando la nueva herramienta de navegación segura de ANY.RUN: pruébela gratis
LummaC2 Stealer Abusing Customized Control Flow Indirection For Execution