Home Tecnología Palo Alto Networks lanzó un tutorial de análisis de mega malware útiles...

Palo Alto Networks lanzó un tutorial de análisis de mega malware útiles para cada analista de malware

93
0

Palo Alto Networks ha publicado un extenso tutorial de análisis de malware que detalla la disección de una sofisticada amenaza basada en .NET que ofrece el troyano de acceso remoto (RAT) REMCOS.

La emergencia del malware destaca una tendencia en la que los actores de amenaza abusan cada vez más de los entornos y herramientas de desarrollo legítimos, como el tiempo de ejecución de Microsoft .NET, para ejecutar campañas complejas de infección de varias etapas.

Esta muestra en particular demuestra un nivel elevado de capacidad de evasión, incluidas las transiciones de código administradas a las personas, la resolución de API de tiempo de ejecución e inyección de procesos contra ejecutables benignos.


La cadena de ataque comienza con un ejecutable de .NET aparentemente inocuo, ofuscado para ocultar su intención. Este cargador inicial recupera una carga útil en línea disfrazada de un PDF de un repositorio de BitBucket comprometido.

En lugar de los datos del documento, el archivo contiene shellcode generado por donas diseñado para ejecutar directamente en la memoria. Al evitar las escrituras de disco, los atacantes reducen significativamente el riesgo de detección por los motores antivirus tradicionales que dependen del escaneo de firma estática.

Analistas de Palo Alto Networks identificado La muestra durante una operación de caza de amenazas específica y señaló su capacidad para la ejecución de la transición entre diferentes entornos de tiempo de ejecución, un sello distintivo de las técnicas de intrusión avanzadas.

Una vez descargada, la carga útil sufre una rutina de decodificación ASCII-Hexadecimal ASCII simple para reconstruir el código de carcasa real.

El cargador utiliza los servicios de interoperación de .NET para invocar llamadas nativas de la API de Windows dinámicamente, asignando la memoria ejecutable con VirtualAlloc antes de copiar la carga útil decodificada en ella.

Esta combinación de código administrado ofuscado y llamadas no administradas tardías complica el análisis estático, al tiempo que evita muchas heurísticas que marcan importaciones sospechosas.

Los investigadores de Palo Alto Networks señalaron que esta resolución de API deliberada en tiempo de ejecución permitió al atacante omitir importaciones sensibles del encabezado ejecutable portátil (PE), evadiendo aún más la detección estática.

Desde un punto de vista técnico, la sofisticación de la carga útil es evidente al examinar las rutinas de derivación AMSI y ETW en memoria.

Rutinas de derivación AMSI y ETW en memoria (fuente-GitHub)

Las funciones AMSI como Amsiscanbuffer se parcan directamente en la memoria con instrucciones que los obligan a devolver siempre AMSI_RESULT_CLEAN.

Un fragmento representativo ilustra este mecanismo de parcheo:-

byte () parche = {0x33, 0xc0, 0xc2, 0x18, 0x00}; // xor eaax, eax; Ret 0x18 Marshal.Copy (Patch, 0, AmSiscanBufferPtr, Patch.length);

Esto asegura que incluso si las herramientas de seguridad enganchan estas funciones, los búferes maliciosos parecerán inofensivos.

Del mismo modo, las llamadas a EtweventWrite se reemplazan con una sola instrucción RET, rastreando de eventos con cegamiento efectivo para Windows, que muchos productos de detección de puntos finales usan para correlacionar los comportamientos maliciosos.

Uno de los aspectos más intrigantes técnicamente del mecanismo de infección es su creación de una instancia de tiempo de ejecución del lenguaje común (CLR) a partir de shellcode no administrado.

ClrCreateInstance (Fuente – Github)

Después de deshabilitar los ganchos defensivos, el shellcode usa clrcreateInstance e iClrmetahost :: getRuntime para generar un nuevo tiempo de ejecución de .NET dentro del mismo proceso, luego carga un ensamblaje de .NET ofuscado en un appdomain.

Persistencia de esta cadena de ejecución

La etapa final aprovecha el método _type.invokemember para ejecutar un método de punto de entrada específico dentro de ese ensamblaje, que a su vez genera installutil.exe en un estado suspendido.

La persistencia de esta cadena de ejecución depende en gran medida de la inyección del proceso. El ensamblaje malicioso escribe una carga útil REMCOS descifrada en la memoria del proceso suspendido a través de múltiples llamadas de WriteProcessMemory antes de cambiar la protección de la memoria a PAGE_EXECUTE_READ con VirtualProtectEx y la ejecución de reanudación.

Este método de inyección de múltiples chunk puede ayudar a evadir los escáneres de memoria diseñados para detectar asignaciones maliciosas grandes y contiguas.

Mientras que el análisis dinámico, muestra de manera concluyente el banner REMCOS RAT ASCII integrado en el ejecutable inyectado, confirmando el objetivo final de la campaña.

Banner ASCII REMCOS RAT (Fuente – GitHub)

Al caminar a los lectores a través de cada etapa, desde la ofuscación inicial hasta la activación final de la carga útil, el tutorial de Palo Alto Networks no solo disecciona una amenaza en vivo sino también a los analistas de armas con técnicas repetibles para diseccionar malware complejo de runtimes híbridos.

Esta versión se destaca como un tutorial forense detallado y una guía de laboratorio práctica, lo que lo convierte en un recurso valioso para los ingenieros inversos que enfrentan amenazas que combinan la ofuscación del código administrado con la explotación de API nativa en las cadenas de ataque modernas.

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