Open Policy Agent (OPA) es un motor de políticas de código abierto diseñado para unificar la aplicación de políticas en entornos nativos de la nube.
Esto permite a las organizaciones gestionar políticas utilizando un lenguaje descriptivo de alto nivel llamado “Rego”.
Los investigadores de ciberseguridad de Tenable identificaron recientemente una vulnerabilidad de autenticación forzada para SMB que afecta a todas las versiones de Windows OPA.
Durante una investigación de seguridad de la herramienta 'Policy as Code', los investigadores descubrieron una vulnerabilidad crítica llamada 'OPA' para Windows ('CVE-2024-8260', 'CVSSv3 puntuación 6.1'). “Estila”
La vulnerabilidad afecta a las ediciones Standard y Enterprise y podría permitir que un atacante explote la CLI de OPA y su paquete de lenguaje de programación Go manipulando argumentos relacionados con archivos.
Desafío cibernético del Mes Nacional de Concientización sobre la Ciberseguridad: pruebe sus habilidades ahora
Específicamente, en lugar de proporcionar una “regla Rego legítima” o un “paquete de políticas”, el atacante ingresa una ruta “UNC” maliciosa que apunta a un “recurso compartido SMB” remoto e intenta autenticarse en el sistema Windows.
Este intento de autenticación expone las credenciales del “NT LAN Manager” (“NTLM”) de la víctima al servidor de control del atacante, lo que permite “ataques de retransmisión de credenciales” o “descifrado de contraseñas sin conexión” mediante hashes NTLM capturados.
Credenciales NTLM capturadas (Fuente – Tenable)
La vulnerabilidad se demostró mediante varios “comandos OPA” en los que los investigadores pudieron capturar intentos de autenticación utilizando una “herramienta de respuesta” en un servidor controlado por un atacante.
opa eval –paquete opa run -s opa eval -d
Esta falla de seguridad afecta a todas las versiones de OPA para Windows hasta que se parchee en la versión 0.68.0 y es importante actualizar a la última versión para evitar ataques de robo de credenciales.
Esta vulnerabilidad se produce principalmente debido a una “limpieza insuficiente de rutas” en el paquete “github(.)com/open-policy-agent/opa/loader”, y es causada por una “limpieza insuficiente de rutas” en “github(.)com/ paquete open-policy-agent/opa/loader”. ” no se pudo validar correctamente. La ruta UNC se utiliza durante la operación de carga del paquete.
Si se proporciona como entrada una ruta UNC maliciosa (una ruta de recurso compartido de red que comienza con “\”), estas funciones intentarán establecer una “conexión de red SMB” al recurso compartido remoto sin las comprobaciones de seguridad adecuadas.
Todos los símbolos afectados se describen a continuación.
Todo TodoRegos AsBundle Filtrado FiltradoRutas FiltradasRutasFS GetBundleDirectoryLoader GetBundleDirectoryLoaderFS GetBundleDirectoryLoaderWithFilter
Un atacante puede aprovechar este comportamiento para desencadenar intentos fraudulentos de autenticación de SMB y provocar el robo de credenciales mediante capturas de hash “NTLM” y otros “ataques basados en autenticación”.
La causa raíz se remonta al paquete “loader.go”, que realiza solo una validación mínima antes de pasar rutas especificadas por el usuario directamente a las operaciones del sistema de archivos de Go.
Un parche de seguridad implementado en la versión 0.68.0 solucionó este problema agregando comprobaciones integrales de validación de rutas UNC a todas las funciones afectadas.
Esto evita intentos de acceder a recursos compartidos remotos a través de rutas UNC.
Esta vulnerabilidad afecta específicamente a organizaciones y proveedores que han integrado OPA en su infraestructura de seguridad a través del Go SDK y requiere un análisis de seguridad exhaustivo de los componentes de código abierto utilizados en entornos empresariales.
Seminario web gratuito sobre cómo proteger su pequeña empresa de las ciberamenazas avanzadas -> Mírelo aquí