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

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

Malware sin archivo: la serie

En esta serie de artículos, analizaremos en profundidad los detalles técnicos de todos los tipos de malware sin archivos y sus ataques relacionados. Cubriremos una breve descripción 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 algunas condiciones y ataques teóricos sin archivos.

Evolución de los ataques sin archivo.

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 archivo.

Ahora, los ataques sin archivos no son necesariamente algo nuevo, ya que vimos el malware residente en la memoria en la naturaleza hace más de 15 años. Un ejemplo es el Lehigh Virus , en el que “llena una parte no utilizada del código del archivo del 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 DOS mientras el virus está en la memoria «.

Sin embargo, a medida que pasa el tiempo, las técnicas y herramientas utilizadas para llevar a cabo estos ataques son 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 infector de virus en realidad contenía el código malicioso y la carga útil que se ejecuta en la memoria.
  • Avanzando en el tiempo, un malware como Poweliks  usó una Runkey “NULL” (que hace que el contenido sea invisible) en el registro para ejecutar JavaScript y usó PowerShell para ejecutar un script codificado oculto en otras partes del registro. Esencialmente, la carga útil se almacenó en el registro, recuperando, decodificando y ejecutando solo durante el tiempo de ejecución.
  • Los kits de exploits de hoy en día, como Magnitude EK , pueden transmitir la carga útil y ejecutarse sin dejarla caer en el disco primero.
  • Malware como DNSMessenger  recupera el script malicioso de PowerShell de un servidor C2.
  • SamSam  escribe una carga útil de malware cifrada en el disco, y solo se desencripta cuando el atacante ejecuta manualmente un script que alimenta la contraseña de descifrado.

El problema con el malware sin archivos.

Cuando un equipo de SOC o un ingeniero de seguridad interno supervisa la red de una empresa y recibe una alerta de actividad sospechosa durante la búsqueda de amenazas, solo pueden esperar que exista un 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 el alcance del ataque.

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

Me gusta hacer la comparación de malware sin archivos con un ataque manual que un pirata informático podría realizar si obtiene 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 rastrear a la víctima remota, el malware sin archivos se puede ejecutar automáticamente. En muchos casos, el malware sin archivos utiliza exactamente las mismas herramientas que utiliza el pirata informático.

Por ejemplo, un ataque que usa la ejecución del script de PowerShell usa herramientas integradas de Windows para realizar actividades maliciosas. 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 el malware sin archivos tienen una herramienta gratuita a su disposición 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 ningún archivo para rastrear la historia 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 archivo o una violación manual, deja al ingeniero de seguridad con el mismo problema.

Mitigación

Ahora, hay maneras de ayudar a combatir esto. Sigo llamándolo un problema porque el manejo y la prevención de este tipo de ataques son un proceso continuo. La diferencia entre el uso benigno de PowerShell y el uso malicioso a veces puede ser mínima. Un ojo no entrenado puede mirar la ejecución y la actividad de PowerShell y no darse cuenta de que es malicioso en absoluto.

Alternativamente, 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 cual este problema es increíblemente difícil de resolver con la tecnología moderna. Estos tipos de ataques crean un escenario donde la solución no es una ciencia exacta. Es un problema que está en curso y se siguen realizando avances.

Como mencioné antes, algunos de estos ataques crean un escenario de «vivir fuera de la tierra» en el sentido de 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 entre en el sistema.

Déjame elaborar un poco. En el ejemplo de la explotación sin archivos / en el navegador, es importante primero intentar y bloquear el ataque antes de que comience. Es por esto que Malwarebytes desarrolló tecnología como la mitigación de explotaciones en sus programas de software . Supervisar 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 explotaciones 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 para reiniciarse después del reinicio.

Como expliqué, la lucha continúa, por lo que una gran parte de asegurarse de que estas amenazas no puedan causar daño es también responsabilidad del equipo de SOC. La aplicación de parches y la habilitación del registro y el control de acceso son una precaución necesaria. El mantenimiento a veces puede hacer toda 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 enfoque 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 las más comunes y proporcionan una mejor preparación y un conocimiento útil al tratar con futuros ataques de malware sin archivos.

Además, veremos no solo el malware sin archivos, sino también algunos ataques sin archivos. Por ejemplo,  Kovter usa caracteres no ASCII para crear claves de registro ilegibles que contienen JavaScript confuso. En este caso, el script malicioso 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 casi sin archivos, ya que después de obtener los archivos involucrados en el ataque, todavía no tiene suficiente información para analizar la carga útil. Si bien hay algunos archivos en el disco, como los cargadores y las cargas útiles cifradas, la carga útil es inaccesible a menos que intercepte el script que inició toda la cadena de eventos.

Sintonice la segunda parte de esta serie, en la que cubriremos los detalles técnicos de las diversas tácticas y técnicas utilizadas en los ataques sin archivos de la actualidad a través de algunas demostraciones personalizadas.