Home Tecnología Malware Korplug Unmascarado – TTPS, Flujo de control, COI expuestos

Malware Korplug Unmascarado – TTPS, Flujo de control, COI expuestos

48
0

Una sofisticada cepa de malware conocida como KorPlug se ha convertido en una amenaza significativa en el panorama de ciberseguridad, empleando técnicas de ofuscación avanzadas para evadir la detección y complicar los esfuerzos de análisis.

Este malware representa un desarrollo particularmente preocupante debido a su implementación de los mecanismos de ofuscación O-LLVM, que transforman las estructuras del programa convencional en patrones de flujo de control altamente complejos que resisten los enfoques de ingeniería inversa tradicionales.

El malware KorPlug inicia su secuencia de ataque a través de técnicas de carga lateral de DLL, dirigida a utilidades legítimas para lograr la ejecución del código inicial.


The malware’s payload, identified with SHA-256 hash b6b239fe0974cf09fe8ee9bc5d0502174836a79c53adccdbb1adeb1f15c6845c, operates as a 624 KB x86 PE file that circumvents standard Windows DLL loading procedures through shellcode-style execution via the EnumSystemGeoID Llamada de función API.

Desglose de shellcode (fuente – veng.ai)

Investigadores de veng.ai identificado que la carga útil de la segunda etapa del malware exhibe una estructura de gráficos de flujo de control anómalos dentro de su función inicializar, presentando desafíos analíticos significativos tanto para el desmontaje estático como en las metodologías de análisis dinámico.

Los investigadores descubrieron que KorPlug aprovecha las modificaciones de infraestructura del compilador O-LLVM para implementar tres estrategias de ofuscación primarias: aplanamiento del flujo de control, inyección de flujo de control falso y sustitución de instrucciones.

Versión simplificada del CFG de una función ejemplar (fuente – veng.ai)

El impacto del malware se extiende más allá de las técnicas de evasión típicas, ya que fundamentalmente altera la arquitectura de ejecución del binario para derrotar a los mecanismos de detección basados ​​en la firma y aumentar sustancialmente la dificultad de ingeniería inversa.

Las herramientas tradicionales de desobfuscación, incluidas las soluciones disponibles públicamente, demostraron una efectividad limitada contra la sofisticada implementación de ofuscación de Korplug sin una modificación significativa.

Análisis de ofuscación de flujo de control avanzado

La característica más distintiva del malware de Korplug radica en su implementación del aplanamiento del flujo de control, que transforma las estructuras de funciones convencionales en mecanismos de despacho basados ​​en interruptores.

Esta técnica de ofuscación crea una red compleja de bloques básicos interconectados que oscurecen la verdadera lógica operativa del malware.

Manipulación de variable de estado que permite el bloque A del Bloque A relevante al Bloque B relevante o al Bloque C relevante (Fuente – Veng.ai)

El gráfico de flujo de control ofuscado contiene varios componentes críticos que los investigadores deben identificar para un análisis efectivo.

El bloque previo al disco sirve como el punto de entrada principal, caracterizado por un recuento de predecesor inusualmente alto en relación con otros bloques básicos.

Este componente contiene una lógica operativa mínima, que generalmente consiste en una instrucción de salto incondicional que dirige la ejecución al bloque inicial del despachador.

Def Idention_relevant_blocks (CFG): relevante_blocks = () para el bloque en cfg.nodes (): if has_state_variable_assignment (block): block_type = classify_assignment_type (block) relevante_blocks.append ((block, block_type)) return_blocks

El mecanismo del despachador opera mediante la manipulación de una variable de estado designada, con bloques básicos individuales que asignan valores discretos para controlar las rutas de ejecución posteriores.

Los bloques de la red troncal contienen la lógica de transición central, utilizando operaciones JMP, MOV, SUB y JZ para evaluar el contenido variable de estado y facilitar los saltos calculados a los bloques sucesores apropiados.

El análisis de veng.ai reveló que la desobfuscación efectiva requiere un mapeo sistemático de los valores variables de estado en todos los bloques relevantes, seguido de correlación con las operaciones de comparación de bloques de la red troncal para reconstruir la secuencia de ejecución original.

Gráfico de flujo de control antes y después del parche (fuente – veng.ai)

El proceso de desobfuscación implica operaciones de parcheo binarios que redirigen el flujo de ejecución directamente a los bloques sucesores previstos, restaurando de manera efectiva la estructura de flujo de control original de la función mientras evita el mecanismo de despachador ofuscado por completo.

Aumente su SOC y ayude a su equipo a proteger su negocio con inteligencia gratuita de amenazas de primer nivel: Solicitar prueba de prueba premium de búsqueda TI.

Fuente de noticias