Los investigadores de Wiz Security han documentado un nuevo malware llamado PyLoose, que explota cargas de trabajo en la nube para minar criptomonedas Monero.
PyLoose es un malware sin archivos, ya que no deja rastro alguno en la máquina explotada. El actor de la amenaza obtiene el malware de forma remota y lo ejecuta directamente en la memoria de tiempo de ejecución de Python, lo que dificulta su detección por parte de las herramientas de seguridad habituales. Se recomienda a los administradores de cargas de trabajo en la nube que estén alerta y protejan sus redes.
Sin dejar rastro del ataque
Hay un nuevo malware en la naturaleza dirigido a cargas de trabajo en la nube expuestas, donde el desconocido actor de la amenaza explota los recursos de la víctima para minar criptomonedas Monero. Los investigadores de Wiz denominaron PyLoose al nuevo malware, que se ejecuta en la memoria de tiempo de ejecución de Python para evitar ser detectado.
Los investigadores detectaron por primera vez ataques PyLoose en la naturaleza el 22 de junio de 2023, y observaron al menos 200 casos de compromiso. Los actores de la amenaza comienzan accediendo a los servicios de Jupyter Notebook disponibles públicamente, ya que no restringen los comandos del sistema. Tras el acceso inicial, el actor de la amenaza emite una solicitud HTTPS GET para obtener la carga útil de Pastebin y ejecutarla directamente en la memoria de ejecución de Python.
Según los investigadores, los autores utilizan la herramienta memfd de Linux para ejecutar la carga útil. Y como se carga directamente en la unidad de memoria del sistema, los actores de la amenaza no dejan ningún rastro. Por ello, los investigadores no pudieron atribuir este ataque a ningún actor de amenazas específico. Pero afirman que el equipo que está detrás de esto es sofisticado, ya que se dirige a instancias en la nube con ataques sin archivos.
Una vez cargado, el malware sin archivos utilizará los recursos de la víctima para minar criptomonedas Monero para el actor de la amenaza, que serán transportadas posteriormente a la cartera del hacker. Como no hay mucha información identificable sobre este malware, los usuarios deben estar atentos a cualquier actividad sospechosa en sus sistemas.
Por qué los actores de amenazas usan ataques sin archivos
Los ataques sin archivos son más evasivos que los ataques que se basan en colocar una carga útil en el disco. Esto se debe a que son:
- Más difícil de detectar: para detectar de forma efectiva el malware sin archivos en Linux, las organizaciones deben implementar soluciones de seguridad avanzadas que utilicen técnicas de monitoreo de memoria y análisis basadas en el comportamiento en tiempo de ejecución.
- Más difícil de investigar: una vez detectada, el hecho de que la carga útil "vive" en la memoria complica el proceso de análisis forense, ya que el archivo debe volcarse de la memoria mientras el recurso está en funcionamiento. Por lo tanto, la naturaleza efímera de las cargas de trabajo en la nube dificulta aún más la investigación.
- Menos común: como se mencionó anteriormente, los casos documentados de ataques sin archivos dirigidos a cargas de trabajo en la nube son raros. Como resultado, los equipos de seguridad pueden poner menos esfuerzo en la detección de este tipo de ataque.
Qué es memfd la ejecución sin archivos ?
El descriptor de archivo de memoria, memfd , es una función de Linux que permite la creación de objetos de archivo anónimos respaldados en memoria que se pueden usar para diversos fines, como la comunicación entre procesos o el almacenamiento temporal. Los actores de amenazas a veces abusan de esta función de Linux para ejecutar cargas útiles sin escribirlas en el disco y, por lo tanto, evitan las herramientas de seguridad tradicionales que se basan en escaneos binarios básicos. Una vez que la carga útil se coloca dentro de una sección de memoria creada a través de memfd
, los atacantes pueden invocar una de las exec
llamadas al sistema en ese contenido de memoria, tratándolo como si fuera un archivo normal en el disco y, por lo tanto, iniciar un nuevo proceso.
Los procesos en vivo ejecutados desde memfdpueden identificarse en una carga de trabajo en funcionamiento al inspeccionar el enlace simbólico de /proc/{pid}/exe
, que comienza con el /memfd
: prefijo.
Atribución
El atacante hizo todo lo posible para no ser rastreado mediante el uso de un servicio abierto de intercambio de datos para alojar la carga útil de Python, adaptando la técnica de ejecución sin archivos a Python y compilando un minero XMRig para incrustar su configuración para evitar tocar el disco o usar un comando revelador. línea.
Todos 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. Por lo tanto, no hay indicadores sólidos que puedan vincular este ataque a un actor de amenazas específico.
Cómo prevenir ataques como PyLoose
Para asegurarse de que su servicio Jupyter Notebook no sea susceptible a este tipo de ataque, considere tomar las siguientes medidas de precaución:
- Evite exponer públicamente servicios como Jupyter Notebook, ya que eso puede conducir a la ejecución del código.
- Utilice una contraseña/token de seguridad complejo para acceder a su servicio o, idealmente, una plataforma de identidad gestionada de forma centralizada con MFA u otros métodos de autenticación sólidos.
- Restrinja la ejecución de comandos del sistema y otros vectores de ejecución sin restricciones.
¿Cómo puede ayudar Wiz?
- Gestión de riesgos: el escáner de configuración de host sin agente de Wiz detecta instancias de servidor de Jupyter Notebook mal configuradas y expuestas públicamente, lo que le permite identificar cualquier instancia en su entorno que permita el acceso remoto no autenticado desde cualquier dirección IP.
- Detección de amenazas: el sensor de tiempo de ejecución de Wiz detecta este tipo de amenazas sin archivos a medida que el adversario se mueve a través de la cadena de ataque, desde la entrega de la carga útil inicial ("Se ejecutó la herramienta Ingress") y la carga útil sin archivos ("Se detectó la ejecución sin archivos") hasta la ejecución. actividades de criptominería finales previstas ("Conexión a un grupo de criptominería conocido"). La siguiente alerta de ejemplo detalla una ejecución sin archivos de PyLoose:
Deja una respuesta
También Puedes Leer: