Noticias y Alertas
Header

Fileless malware: que es y como funciona…

octubre 26th, 2018 | Posted by kwelladm in Publicaciones | Virus, troyanos, malware

Si bien los ataques y familias de malware actuales tienen algún tipo de archivo en una etapa de su operación, el malware moderno que es capaz de evadir la detección incluye al menos algunas capacidades de fileless.
En lugar de intentar decidir si la amenaza no tiene archivos en su totalidad, es más fructífero considerar qué tácticas emplea para superar las defensas de la empresa. Es probable que impliquen una combinación de las técnicas mencionadas a continuación, incluido el uso de documentos maliciosos, scripts, LoL y la inyección en memoria. Tales métodos sin archivos se han convertido en la nueva norma.

Tipos de ataques sin archivo

Los ataques sin archivo incorporan una variedad de técnicas que permiten comprometer los puntos finales a pesar de la presencia de controles anti-malware y la existencia de listas blancas de aplicaciones válidas.
A continuación, se presenta un resumen de los métodos involucrados en dichos ataques, presentados para brindar claridad y especificidad a las discusiones sobre amenazas sin archivos. Examinemos las técnicas específicas que comprenden ataques sin archivos y por qué a menudo no son detectadas por las defensas existentes.

Es válido aclarar que algunas de estas técnicas involucra algún tipo de archivo o script pero, de todos modos, se entiende que es fileless porque no se incluyen archivos ejecutables o compilados propiamente dichos.

Técnica # 1: Documentos maliciosos

Los ataques que muchos profesionales clasifican como sin archivos a menudo involucran archivos de documentos. En tales situaciones, el atacante suministra el documento malicioso, generalmente como un archivo adjunto de correo electrónico, para uno de los siguientes propósitos:

  • Los documentos pueden actuar como contenedores flexibles para otros archivos. El atacante puede incrustar un archivo JavaScript en un documento de Microsoft Office, por ejemplo, y engañar al destinatario para que haga doble clic en el archivo incrustado para ejecutar el script. Otros tipos de documentos que pueden llevar archivos incluyen PDF y RTF. Dado que esta capacidad es una característica de las aplicaciones respectivas, las tecnologías antimalware generalmente no interfieren con su uso.
  • Los documentos pueden llevar exploits que ejecutan código malicioso. La complejidad de las características de los documentos de hoy ofrece una gran superficie de ataque para explotar vulnerabilidades como el análisis de errores. En tales escenarios, el exploit puede desencadenar la ejecución del shellcode empaquetado en la aplicación comprometida, dando al atacante un punto de apoyo en el punto final incluso sin guardar el código en el sistema de archivos.
  • Los documentos pueden ejecutar la lógica maliciosa que comienza la infección. Los documentos modernos admiten potentes capacidades de secuencias de comandos, como la capacidad de Microsoft Office para ejecutar macros VBA. Dichas características permiten al atacante implementar una lógica maliciosa sin un ejecutable compilado, aprovechando la debilidad de muchas herramientas antimalware para distinguir entre scripts nefarios y benignos. Las habilidades de los scripts de documentos incluyen iniciar programas y descargar códigos maliciosos.

Aunque los documentos residen en el sistema de archivos del sistema, ofrecen a los adversarios la oportunidad de evitar colocar los ejecutables maliciosos tradicionales en el disco. En muchos casos, el documento conduce a la ejecución de código malicioso directamente en la memoria del sistema como parte de la infección sin archivos. Para ver un ejemplo de cómo los atacantes usan documentos para iniciar un ataque, vea la reseña de Omri Moyal sobre el uso indebido del soporte de Microsoft Office para DDE o la publicación sobre atacantes que se insertan en la conversación para propagar malware.

Técnica # 2: Scripts maliciosos

De acuerdo con el objetivo de evitar la compilación de código malicioso en ejecutables tradicionales, los autores de malware se basan en scripts durante los ataques que tienen atributos sin archivos. Más allá de los scripts admitidos de forma nativa por los documentos, como se mencionó anteriormente, los scripts que se ejecutan directamente en Microsoft Windows ofrecen a los adversarios las siguientes ventajas:

  • Pueden interactuar con el sistema operativo sin restricciones que algunas aplicaciones, como los navegadores web, pueden imponer en el script.
  • Son más difíciles de detectar y controlar que los ejecutables maliciosos compilados.
  • Ofrecen una oportunidad flexible para dividir la lógica maliciosa en varios procesos para evadir la detección de comportamiento.
  • Se pueden ofuscar para despistar a los analistas y evadir aún más la detección con tecnologías anti-malware.

Microsoft Windows incluye intérpretes de script para PowerShell, VBScript, archivos por lotes (BAT) y JavaScript. Las herramientas que los atacantes invocan para ejecutar estos scripts incluyen powershell.exe, cscript.exe, cmd.exe y mshta.exe. Con la adición del Subsistema de Windows para Linux, Microsoft ofrece aún más tecnologías de scripting en el punto final. Para ver un ejemplo de los desafíos que enfrentan las empresas para restringir el uso indebido de estas herramientas, consulte la publicación de Gal Bitensky que trata sobre la utilidad Invoke-NoShell.

Los atacantes también pueden utilizar frameworks que ofuscan los script sin tener que implementar esas tácticas de evasión. Estas medidas incluyen la técnica Invoke-Obfuscation de Daniel Bohannon para PowerShell y el framework Invoke-DOSfuscation. Para ver tales tácticas en acciones, se puede ver el análisis de Minerva sobre la ofuscación de scripts de Emotet.

Técnica # 3: Vivir fuera de la tierra (Living off the Land – LoL)

Las discusiones sobre ataques sin archivos a menudo incluyen el mal uso de las numerosas utilidades integradas en Microsoft Windows. Estas herramientas permiten a los atacantes pasar de una etapa del ataque a otra sin confiar en ejecutables maliciosos compilados. Este modo de operación a veces se llama “living off the land” (LoL).

Una vez que el código malicioso puede interactuar con los programas locales, posiblemente al iniciar la infección con un documento, el atacante puede hacer un mal uso de las utilidades integradas en el sistema operativo para descargar artefactos maliciosos adicionales, iniciar programas y scripts, robar datos, moverse lateralmente, mantener la persistencia, y más.
Las muchas herramientas que los atacantes invocan para estos fines incluyen regsvr32.exe, rundll32.exe, certutil.exe y schtasks.exe. Para obtener una lista completa y una descripción de dichos binarios, bibliotecas y scripts integrados, se puede consultar el proyecto LOLBAS de Oddvar Moe.

El Windows Management Instrumentation (WMI), integrado en el sistema operativo, ofrece a los atacantes oportunidades adicionales para “vivir fuera de la tierra”. WMI permite a los adversarios interactuar con la mayoría de los aspectos del sistema con la ayuda del ejecutable wmic.exe (y algunos otros), así como mediante el uso de scripts (por ejemplo, PowerShell). Dado que estas acciones solo involucran capacidades de Windows integradas y de “confianza”, son difíciles de detectar y restringir para las tecnologías antimalware. Para obtener una explicación completa de cómo WMI puede ayudar con los ataques sin archivos, se puede consultar el artículo de Matt Graeber Abusando de WMI para crear una puerta trasera persistente, asíncrona y sin archivos [PDF].

Los atacantes aumentan dramáticamente sus posibilidades de evadir las herramientas antimalware, incluidas las medidas de inclusión en listas blancas de antivirus y aplicaciones, al confiar en tales utilidades benignas y confiables. Para ver ejemplos adicionales de dichas técnicas, se puede consultar la descripción general de Matthew Dunwoody sobre el uso de WMI y PowerShell en la APT 29 para plantar puertas traseras sin archivos.

Técnica # 4: Código malicioso en la memoria

Examinar los archivos en el disco es la mayor ventaja de muchos productos antimalware, pero a menudo tienen problemas con la detección del código malicioso que reside únicamente en la memoria. La memoria es volátil y dinámica, lo que brinda al malware la oportunidad de cambiar su forma u operar de otra manera en el punto ciego del antivirus y tecnologías similares.

Una vez que el atacante comienza a ejecutar código malicioso en el equipo, posiblemente utilizando los métodos descritos anteriormente, el adversario puede desempaquetar el malware en la memoria sin guardar artefactos en el sistema de archivos. Esto puede implicar extraer el código en el propio espacio de memoria del proceso. En otros casos, el malware inyecta el código en procesos confiables y benignos.

Ejemplos de técnicas de ataque en memoria incluyen lo siguiente:

  • La inyección en memoria utiliza características de Microsoft Windows para interactuar con el sistema operativo sin explotar vulnerabilidades. Por ejemplo, las llamadas a la API a menudo abusadas por malware para inyección incluyen VirtualAllocEx y WriteProcessMemory, que permiten que un proceso escriba código en otro proceso. Para ver estas técnicas en acción, se puede leer la descripción general de Gal Bitensky sobre el ataque de AZORult.
  • Los atacantes pueden empaquerar ejecutables compilados en scripts que extraen la carga útil maliciosa en la memoria en tiempo de ejecución. Un ejemplo de estos conjuntos de herramientas es PowerSploit, que se puede ver en acción en el análisis de GhostMiner de Asaf Aprozper y Gal Bitensky. Veil Framework, de Chris Truncer, es otro ejemplo.
  • Process Doppelgänging es otro ejemplo de un enfoque para evitar el sistema de archivos que no implica la inyección de memoria en un sentido clásico. En su lugar, el atacante hace un uso incorrecto de las capacidades de transacción NTFS integradas en Microsoft Windows para modificar temporalmente un archivo de confianza en la memoria y sin realizar cambios en el disco. El malware SynAck usó esta técnica de evasión, como lo describen Anton Ivanov, Fedor Sinitsyn y Orkhan Mamedov.

Las técnicas en memoria permiten a los atacantes eludir muchos controles antimalware, incluida la inclusión en la lista blanca de aplicaciones. Aunque las herramientas antivirus intentan capturar la inyección de memoria, la capacidad constante de los adversarios para infectar puntos finales resalta sus limitaciones. La herramienta CoffeeShot de Asaf Aprozper demuestra la naturaleza frágil de tales intentos de detección al implementar un método de inyección en Java.

Archivos legítimos utilizados por fileless

A continuación, se incluye una lista de los procesos y componentes legítimos comúnmente utilizados junto con el malware sin archivos:

  • Mshta.exe: Microsoft HTML Application Host es una utilidad que se encarga de ejecutar archivos HTA (aplicación HTML) en Windows.
  • Wscript.exe: Windows Script Host proporciona un entorno en el que los usuarios pueden ejecutar scripts en una variedad de lenguajes de scripting para realizar todo tipo de tareas.
  • Powershell: Windows PowerShell es un shell de línea de comandos de Windows y que es una variante mucho más poderosa de la línea de comandos normal cmd.exe.
  • WMI: Windows Management Instrumentation es una tecnología de administración de Windows que puede usarse para administrar equipos locales y remotos. WMI se utiliza en las tareas de administración diarias con lenguajes de programación o scripting.

Los ataques con atributos sin archivos se benefician de las características de las aplicaciones y el sistema operativo, explotando las dificultades que experimentan las herramientas antimalware cuando intentan detectar y prevenir su uso indebido.

Fuente: Minerva | EmsiSoft

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Deja un comentario