Tradicionalmente, los ataques de malware como siempre los hemos conocido son archivos escritos en el disco de una forma u otra que requieren ejecución para poder llevar a cabo su alcance malicioso. El malware sin archivos, por otro lado, está destinado a ser solo residente en memoria, idealmente sin dejar rastros después de su ejecución. La carga maliciosa existe dinámicamente y puramente en la memoria RAM, lo que significa que nunca se escribe nada directamente en la HD.

El objetivo de todo esto para el atacante es dificultar el análisis forense posterior a la infección. Además, esta forma de ataque hace que sea casi imposible que las firmas de los antivirus desencadenen una detección. En algunos casos específicos, como con SamSam , la única forma de recuperar una muestra para analizar sería detectar el ataque en vivo. Este es uno de los mayores desafíos cuando se trata de malware sin archivos.

Malware sin archivos: la serie

En esta serie de artículos, discutiremos los detalles técnicos de todos los tipos de malware sin archivos y sus ataques relacionados en profundidad. Vamos a cubrir una breve descripción general de los problemas y las características generales del malware sin archivos, sentando las bases para el análisis técnico en profundidad específico de varias muestras que emplean métodos sin archivos. Finalmente, terminaremos con algunos ataques y condiciones teóricos sin archivos.

Evolución de los ataques sin archivos

Antes de continuar, sería beneficioso echar un vistazo a un artículo que escribimos hace un par de años, que cubre los aspectos básicos de los ataques sin archivos.

Ahora, los ataques sin archivos no son necesariamente algo nuevo, ya que vimos malware residente en memoria en la naturaleza hace más de 15 años. Un ejemplo es el Virus Lehigh , en el que «rellena una parte no utilizada del código del archivo host en su espacio de pila, sin causar un aumento en el tamaño del host. Puede infectar otro archivo COMMAND.COM si se inserta un disco de DOS mientras el virus está en la memoria «.

Sin embargo, con el paso del tiempo, las técnicas y herramientas utilizadas para llevar a cabo estos ataques se han vuelto cada vez más avanzadas. De hecho, esta evolución es lo que ha hecho que el malware sin archivos reciba mucha atención entre los expertos en seguridad en los últimos años.

La progresión a lo largo de los años ha sido interesante:

  • Como se mencionó con Lehigh, el virus infectado en realidad contenía el código malicioso y la carga útil en memoria.
  • Avanzando en el tiempo, el malware como Poweliks  utilizó una Runkey «NULO» (que hace que el contenido sea invisible) en el registro para ejecutar JavaScript y usó PowerShell para ejecutar un script codificado oculto en otro lugar del registro. Esencialmente, la carga útil se almacenó en el registro, recuperación, decodificación y ejecución durante el tiempo de ejecución solamente.
  • Los kits de exploits de hoy en día, como Magnitude EK , pueden transmitir la carga útil y ejecutarla sin soltarla primero en el disco.
  • El malware como DNSMessenger  recupera el script de PowerShell malicioso de un servidor C2.
  • SamSam  escribe una carga de malware cifrada en el disco, y solo se descifra cuando el atacante ejecuta manualmente una secuencia de comandos que introduce la contraseña de descifrado.

El problema con el malware sin archivos

Cuando un equipo de SOC o un ingeniero de seguridad interno monitorean la red de una compañía y reciben una alerta de actividad sospechosa durante la búsqueda de amenazas, solo pueden esperar que exista malware tradicional basado en archivos. ¿Por qué? Es mucho más fácil para ellos poder rastrear qué daño se ha hecho, así como también el alcance del ataque.

Tener rastros de un malware basado en archivos en la red le da al equipo SOC un punto de partida definitivo para revisar. Estos archivos permiten a los ingenieros rastrear los orígenes del malware y generalmente dan una idea clara de cómo se violaron la red. Ya sea por correo electrónico vinculado a una descarga maliciosa o un compromiso del sitio web, tener el historial de archivos proporciona una línea de tiempo limpia que, en última instancia, hace que el trabajo sea mucho más fácil. Aún más, tener el binario permite a los equipos SOC analizar el código y ver exactamente qué sucedió, y qué sistemas y datos fueron dirigidos.

Me gusta comparar el malware sin archivos con un ataque manual que un pirata informático podría llevar a cabo si obtenía acceso directo a una máquina remota. El malware sin archivos es, en muchos sentidos, idéntico al enfoque de piratería manual, pero en lugar de tener que arrastrarse por la víctima remota, el malware sin archivos se puede ejecutar automáticamente. En muchos casos, las mismas herramientas exactas utilizadas por el hacker manual son utilizadas por el malware sin archivos.

Por ejemplo, un ataque que utiliza la ejecución de scripts de PowerShell usa herramientas incorporadas de Windows para realizar actividad maliciosa. Dado que las herramientas como PowerShell suelen estar en la lista blanca (ya que se utilizan a diario para actividades no maliciosas), tanto los atacantes manuales como los malware sin archivos tienen a su disposición una herramienta gratuita para llevar a cabo el ataque. Esto hace que la actividad maliciosa sea mucho más difícil de rastrear para un equipo SOC. No hay un archivo para rastrear el historial de. El ingeniero de seguridad ahora debe mirar otros artefactos y eventos registrados para intentar llegar a una conclusión. Ya sea un ataque sin archivos o una violación manual, deja al ingeniero de seguridad con el mismo problema.

Mitigación

Ahora, hay formas de ayudar a combatir esto. Continúo llamándolo un problema porque manejar y prevenir este tipo de ataques es un proceso continuo. La diferencia entre el uso benigno de PowerShell y el uso malintencionado a veces puede ser minuto. Un ojo no entrenado puede observar la ejecución y actividad de PowerShell y no darse cuenta de que es malicioso en absoluto.

Alternativamente, a menudo ocurre exactamente lo contrario. El observador puede mirar un registro de actividad benigno y pensar que es sospechoso. El hecho de que discernir entre estas dos condiciones sea difícil incluso para los expertos en seguridad es la razón por la que este problema es increíblemente difícil de resolver con la tecnología moderna. Este tipo de ataques crea un escenario donde la solución no es una ciencia exacta. Es un problema continuo y se siguen realizando avances.

Como mencioné anteriormente, algunos de estos ataques crean un escenario de «vivir de la tierra» en el que aprovechan las herramientas integradas de Windows. Debido a esto, un método para evitar este ataque sería identificar la amenaza en su punto de entrega, antes de que llegue al sistema.

Déjame elaborar un poco. En el ejemplo de la explotación sin archivos / en el navegador, es importante probar primero y bloquear el ataque antes de que comience. Es por eso que Malwarebytes desarrolló tecnología como la mitigación de exploits en sus programas de software . Monitorear la memoria y examinar la cadena de ejecución es un gran primer paso para poder bloquear genéricamente estos ataques. Nuestra tecnología de mitigación de exploits ha demostrado históricamente ser efectiva contra este tipo de ataque. Sin embargo, incluso si el código puede infectar el sistema, una buena solución de protección de punto final puede identificar la actividad anómala, rastrear el código oculto y eliminarlo del sistema, lo que interrumpirá la capacidad del malware de reiniciarse después del reinicio.

Como expliqué, la lucha está en curso, y esa es la razón por la cual una gran parte de asegurarse de que estas amenazas no puedan causar daños también es responsabilidad del equipo SOC. Aplicar parches y habilitar el registro y el control de acceso son una precaución necesaria. El mantenimiento a veces puede marcar la diferencia como la primera y última línea de defensa. Esto también ayudará a acelerar el tiempo de reacción en caso de un compromiso.

Series futuras: tipos sin archivos y semi-sin archivos

El objetivo del resto de esta serie será cubrir los tipos de malware sin archivos y los ataques de los últimos cinco años. Las técnicas utilizadas en este grupo son más comunes y proporcionan una mejor preparación y conocimiento útil cuando se trata de futuros ataques de malware sin archivos.

Además, veremos no solo el malware puro sin archivos, sino también algunos ataques sin archivos. Por ejemplo,  Kovter utiliza caracteres que no son ASCII para crear claves de registro ilegibles que contienen JavaScript ofuscado. En este caso, la secuencia de comandos maliciosa técnicamente existe en el disco como claves de registro, sin embargo, no es un archivo en el disco en el sentido tradicional.

SamSam  es otro tipo de malware que considero semi-sin archivos, en el sentido de que después de obtener los archivos involucrados en el ataque, todavía no tienes suficiente información para analizar la carga útil. Si bien hay algunos archivos en el disco, como cargadores y cargas cifradas, la carga no se puede acceder a menos que intercepte el script que inició toda la cadena de eventos.

Sintonícese para la segunda parte de esta serie, donde trataremos los detalles técnicos de las diversas tácticas y técnicas utilizadas en los ataques de archivos actuales, haciendo referencia a muestras que utilizan estas técnicas en la naturaleza.