Cómo hackear pods de Kubernetes y ejecutar código malicioso de forma remota

n

Según los hallazgos de los expertos en seguridad de Akamai, una vulnerabilidad de alta gravedad en Kubernetes puede explotarse para lograr la ejecución remota de código (RCE) en cualquier punto final de Windows que forme parte del clúster.

nnnn

La falla, identificada como CVE-2023-3676 y con una puntuación CVSS de 8,8, afecta el procesamiento de archivos YAML por parte de Kubernetes. El sistema de orquestación de contenedores utiliza estos archivos para diversos fines, incluida la configuración, la gestión y el manejo de secretos, entre otras cosas.
Los archivos YAML se utilizan para casi todos los aspectos del funcionamiento de Kubernetes, incluida la configuración, la implementación automática, la escalabilidad, la administración de pods de aplicaciones en contenedores y muchos otros.

nnnn

En 2022 se descubrió que el constructor de SnakeYAML incluía la vulnerabilidad CVE-2022-1471, que permitía la ejecución de código remoto en aplicaciones susceptibles.

nnnn

El propio Kubernetes encontró muchas vulnerabilidades, como CVE-2021-25749 (las cargas de trabajo podrían ejecutarse como ContainerAdministrator aunque la opción runAsNonRoot estuviera configurada como verdadera), CVE-2017-1002101 y CVE-2021-25741 (situaciones de carrera y enlaces simbólicos en combinación con la subpropiedad subPath en un archivo YAML).

nnnn

nnnn

Cuando los usuarios establecen un pod, también tienen la opción de crear un directorio compartido entre el pod y el host. Este directorio se denomina “volúmenes”.

nnnn

Para que los volúmenes sean accesibles, al archivo YAML se le debe agregar el parámetro de volumen, además de mountPath (que especifica la ubicación del contenedor) y hostPath (que especifica la ubicación del host).

nnnn

nnnn

También se puede montar el directorio compartido en un lugar específico con la ayuda de la subpropiedad subPath. Luego, kubelet lee este archivo YAML, que verifica cada parámetro en el archivo YAML y utiliza la función interna isLinkPath para asegurarse de que no se formen enlaces simbólicos en el argumento subPath. Se genera un comando de PowerShell para determinar el tipo de ruta tomando la subpropiedad subPath del archivo YAML y usándola como parámetro en el comando. Después de eso, el ejecutivo. La llamada a la función de comando recibe este comando de PowerShell y lo procesa.

nnnn

Una investigación adicional descubrió que la variable “exec.Command” puede usarse junto con la entrada del usuario que no ha sido desinfectada, lo que resulta en una vulnerabilidad de inyección de comandos.

nnnn

Deshabilitar el uso de Volume.Subpath, utilizar el agente Open Policy Agent (OPA) de código abierto para establecer reglas para prohibir archivos YAML particulares y aplicar control de acceso basado en roles (RBAC) para restringir la cantidad de usuarios que pueden realizar actividades en un cluster son algunos de los remedios recomendados.

nnnn

nnnn

“CVE-2023-3676 exige privilegios mínimos y, como resultado, establece un umbral bajo para los atacantes. Todo lo que un atacante necesita es acceso a un nodo y la capacidad de aplicar privilegios. “El alto impacto junto con la facilidad de explotación generalmente significa que no Hay una mayor probabilidad de ver este ataque (y ataques similares) en organizaciones”, escribe Akamai. “El alto impacto junto con la facilidad de explotación también significa que hay una mayor probabilidad de ver ataques similares.

n

El cargo Cómo hackear pods de Kubernetes y ejecutar código malicioso de forma remota apareció primero en Noticias de seguridad informática, ciberseguridad y hacking.

n

grandmaster

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *