Skip to content

SMBleed, nueva vulnerabilidad que permite filtrar memoria del kernel de Windows

SMBleed, nueva vulnerabilidad que permite filtrar memoria del kernel de Windows

Microsoft ha descubierto y corregido una nueva vulnerabilidad, en las últimas semanas, que afectaría al protocolo SMB de Windows. Hablamos de SMBleed con ID CVE-2020-1206 y que permitiría a un atacante exfiltrar memoria del kernel sin necesidad de autenticarse, remotamente.

Si se combina este problema con otros se podría llegar a ejecutar código remotamente. También hay que mencionar que podría combinarse con exploits de tipo SMBGhost (CVE-2020-0796) para conseguir un RCE con pre-autenticación. Esta última vulnerabilidad fue reconocida en Marzo.

SMB hace referencia a Server Message Block,un protocolo de comunicación muy común en redes Windows (aunque no en exclusiva) que permite compartir archivos, impresoras y otros recursos en red.

En los últimos parches de seguridad de Microsoft para Junio se trata esta y otras amenazas serias para productos Windows.

SMBleed, la última vulnerabilidad del protocolo SMB en Windows

La atribución del descubrimiento es para los expertos de ZecOps, que de hecho dieron con SMBleed mientras analizaban una función para realizar un exploit del anterior SMBGhost.

El problema reside en el mecanismo de compresión implementado en el protocolo SMBv3.1.1 y afecta en cómo el sistema gestiona algunas peticiones:

Este no es el único fallo en la descompresión de SMB. SMBleed ocurre en la misma función que lo hace SMBGhost. Esto permite al atacante leer memoria del kernel sin inicializar, como hemos descrito en este artículo. […] Para explotar la vulnerabilidad en un servidor, un atacante sin autenticar podría diseñar y enviar un paquete específico a un servidor usando SMBv3.1.1.

ZecOps

Para explotar esta vulnerabilidad en un cliente, un atacante sin autenticar necesitaría primero configurar un servidor de SMBv3 manipulado y convencer a un usuario para que conecte con él.

Mitigación y detalles

Las versiones de Windows afectadas son todas las recientes, incluyendo Windows 10 y Windows Server con versiones 1903, 1909 y 2004. Sistemas o versiones menores de Windows 10 anteriores a esta no están afectadas.

Para mitigar el alcance de esta vulnerabilidad podemos, antes de aplicar el parche (si lo queremos) hacer dos cosas.

Deshabilitar compresión en SMBv3.1.1

  • Abriremos una consola de Powershell como administrador.
  • Introduciremos el siguiente comando:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force

NOTA: Microsoft advierte de que esta mitigación no beneficia a clientes, solo a servidores, así que no dejan de recomendar aplicar los parches.

Alternativas para solventar SMBleed y SMBGhost

Microsoft y los expertos de ZecOps recomiendan además otros métodos alternativos. Además, cualquiera de los siguientes servirá para remediar ambas vulnerabilidades.

  1. Aplicar los parches oficiales
  2. Bloquear el puerto 445 impedirá movimientos laterales utilizando estos mecanismos
  3. Establecer el aislamiento de host (host isolation). Ojo, requiere Docker y está pensado para entornos de desarrollo o pruebas.
  4. Deshabilitar la compresión de SMBv3.1.1 que de paso diremos que no es la solución ideal y solo debe ser una correción temporal.

PoC

Existe una prueba de concepto de este exploit y además han dejado disponible el código fuente. El PoC se basa en combinar SMBGhost con SMBleed para obtener un ataque de tipo RCE o Remote Code Execution.

deweloper View All

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja un comentario