Con el creciente despliegue de soluciones de seguridad en infraestructuras de nube, los piratas informáticos han comenzado a adoptar tácticas innovadoras para atacar estos entornos. Una forma es utilizar cargas útiles sin archivos que nunca crean archivos en el disco y se cargan directamente en la memoria del sistema. Una técnica capaz de evadir la vigilancia de las herramientas de seguridad.
"Recientemente detectamos un ataque sin archivos dirigido a cargas de trabajo en la nube", dijo en su informe de los investigadores de Wizuna empresa especializada en seguridad en la nube. “El ataque se basa en código Python que carga un minero XMRig directamente en la memoria usando memfduna técnica sin archivos conocida por Linux. Hasta donde sabemos, este es el primer ataque sin archivos basado en Python documentado públicamente dirigido a cargas de trabajo en la nube y, según nuestra evidencia, este ataque se ha utilizado en casi 200 casos para criptominería”, dijeron. agregaron.
El malware PyLoose
Según las cadenas de la URL desde la que los atacantes lo implementaron, los expertos llamaron a esta carga útil malware PyLoose. Se encontró en instancias desprotegidas de Jupyter Notebook, una plataforma interactiva basada en web que se puede implementar en servidores en la nube y admite más de 40 lenguajes de programación, incluido Python. Además de ser accesibles al público, estas instancias no limitaban el acceso a ciertos módulos de Python como hueso Y subprocesolo que puede hacer que se ejecuten comandos del sistema. Los atacantes utilizaron código Python para descargar y ejecutar un script creado con una herramienta de código abierto llamada fileless-elf-exec. El script importó bibliotecas para la invocación directa de llamada al sistemaejecución de orden huesooperaciones base64 y descompresión zlib. Luego procedió a decodificar y descomprimir una carga útil y utilizó memfd para crear un búfer, escriba en él el contenido de la carga útil e invoquelo directamente desde la memoria.
la funcionalidad memfd Linux, abreviatura de "descriptores de archivos de memoria", almacena objetos de archivos en la memoria para usarlos en la comunicación entre procesos o como almacenamiento temporal. "Los ciberdelincuentes a veces abusan de esta característica de Linux para ejecutar cargas útiles sin escribirlas en el disco, evitando así las herramientas de seguridad tradicionales que dependen de análisis binarios", dijeron los investigadores de Wiz. "Una vez que la carga útil se coloca en una sección de memoria creada por memfdLos atacantes pueden invocar uno de ejecutivo de llamadas al sistema sobre este contenido de la memoria, tratándolo como si fuera un archivo normal en el disco, e iniciando así un nuevo proceso. Si se busca, procesos creados a partir del contenido. memfd pueden identificarse con bastante facilidad porque los enlaces simbólicos a los que apuntan no son rutas de archivos en el disco, sino entradas como /memfd. En este caso, la carga útil que se ejecutaba desde la memoria era una versión precompilada de XMRig, un programa de minería de criptomonedas de código abierto comúnmente utilizado en ataques de criptojacking que implican el secuestro de recursos informáticos para extraer criptomonedas. criptomoneda sin el conocimiento del propietario.
Ataques sin archivos en Linux, bastante raros
Los ataques sin archivos a servidores Linux no son nuevos, pero son relativamente raros para cargas de trabajo en la nube. La ventaja para los atacantes es que son más difíciles de detectar sin soluciones de seguridad basadas en el monitoreo del comportamiento y la memoria. Estos ataques también complican las investigaciones post-mortem posteriores al compromiso porque las cargas útiles desaparecen de la memoria cuando se cierran las cargas de trabajo y los equipos de seguridad aún no están familiarizados con estas técnicas. Uno de los pocos casos documentados de ataques sin archivos contra servidores Linux data de 2021: un grupo de hackers conocido como TeamTNT implementó malware escrito en lenguaje Go explotando una herramienta de carga de memoria llamada Ezuri.
Con PyLoose, “el atacante hizo todo lo posible para volverse imposible de rastrear: utilizó un servicio abierto de intercambio de datos para alojar la carga útil de Python, adaptó la técnica de ejecución sin archivos a Python y compiló un minero XMRig para integrar su configuración y evitar el contacto. el disco o usando una línea de comando que podría revelar su presencia”, dijeron los investigadores de Wiz. "Todos estos pasos sugieren que el adversario tiene un nivel de sofisticación rara vez visto en la mayoría de los ataques documentados públicamente a cargas de trabajo en la nube". Los investigadores aconsejan a las empresas que eviten exponer públicamente servicios como Jupyter Notebook, utilizar autenticación multifactor u otras plataformas de identidad sólidas para acceder a estos servicios y restringir funciones que podrían conducir a la ejecución de comandos del sistema.
Otras noticias que te pueden interesar