10 jun. 2020

SMBleed y SMBGhost: vulnerabilidades críticas en SMB de Windows (Parchea!)


Investigadores en ciberseguridad han descubierto una nueva vulnerabilidad crítica que afecta al protocolo SMB y que podría permitir a los atacantes exponer la memoria del kernel de forma remota. Esto, combinado con otra vulnerabilidad ya conocida (CVE-2020-0796, también conocida como "SMBGhost"), podría conducir a la ejecución remota de código. Microsoft solucionó 129 vulnerabilidades durante junio de las cuales 16 son críticas pero ninguna está siendo ni explotada activamente ni ha sido publicada con anterioridad.

La vulnerabilidad identificada como es CVE-2020-1206 en el protocolo de compresión de SMBv3 que permite revelar memoria no inicializada (y por tanto información potencialmente sensible) recuerda a SMBGhost que se publicó oficialmente durante un breve periodo de tiempo y luego desapareció y que permitía ejecución de código en la funcionalidad de compresión de la versión 3 del protocolo de compartición.

Apodado "SMBleed" por la empresa de seguridad cibernética ZecOps, el defecto reside en la función de descompresión de SMB. Se trata de la misma función que con el error SMBGhost o EternalDarkness (CVE-2020-0796), que salió a la luz hace tres meses, convierte a los sistemas de Windows en vulnerables a ataques de malware que pueden propagarse a través de redes.
  • POC #1: SMBleed remote kernel memory read: POC #1 Link
  • POC #2: Pre-Auth RCE Combining SMBleed with SMBGhost:
La vulnerabilidad recién descubierta afecta las versiones de Windows 10 (1903 y 1909), para las cuales Microsoft ya lanzó actualizaciones de seguridad como parte de sus actualizaciones mensuales del Patch Tuesday para junio.

La Agencia de Seguridad de Infraestructura y Ciberseguridad de EE.UU. (CISA) emitió un aviso la semana pasada advirtiendo a los usuarios de Windows 10 para que actualizasen sus máquinas después de que el código de explotación para SMBGhost fuera publicado la semana pasada.

"Aunque Microsoft reveló y proporcionó actualizaciones para esta vulnerabilidad en marzo de 2020, los atacantes están apuntando a sistemas aún no parcheados, usando la prueba de concepto pública, según informes recientes de código abierto", declaró la CISA.

Según los investigadores de ZecOps, el fallo se debe al modo en que la función de descompresión ("Srv2DecompressData") maneja las solicitudes de mensajes especialmente diseñados (por ejemplo, SMB2 WRITE) enviados a un servidor SMBv3 específico, lo que permite a un atacante leer la memoria del kernel no inicializada y realizar modificaciones a la función de compresión.

La función Srv2DecompressData recibe el mensaje comprimido que envía el cliente, asigna la cantidad de memoria requerida y descomprime los datos. Luego, si el offset no es cero, copia los datos que se colocan antes de los datos comprimidos al comienzo del buffer asignado.

Si se configura el tamaño original del segmento comprimido, reflejado en la variable OriginalCompressedSegmentSize, para que ocupe más bytes, gracias a la ausencia de comprobaciones, se puede escribir fuera de los límites del buffer. Es decir, si tomamos como ejemplo que el tamaño de nuestros datos comprimidos fuera X después de la descompresión y configuramos OriginalCompressedSegmentSize para que sea X + 0x1000, obtendremos lo siguiente:

Los datos del kernel no inicializados se tratarán como parte de nuestro mensaje. Se utiliza el mensaje SMB2 WRITE porque nos permite controlar las cabeceras del mensaje al tiempo que permite que el buffer pueda contener datos no inicializados.

Mitigación

  • Actualización de Windows (recomendado)
  • El bloqueo del puerto 445 en aras de impedir los movimientos laterales usando estas vulnerabilidades
  • Aislamiento del host.
  • Deshabilitar la compresión SMB 3.1.1 (no es una solución recomendada)

Otras actualizaciones de Microsoft de junio

Se habla de fallos en varios tipos de "navegadores" que pueden confundir:
  • Internet Explorer si la vulnerabilidad solo afecta a este navegador (motor Trident).
  • Microsoft Browser si afecta tanto a Internet Explorer como Edge basado en el motor EdgeHTML.
  • Microsoft Edge si afecta a Edge con EdgeHTML.
  • Microsoft Edge (Chromium-based) si afecta al navegador más reciente y basado en Chromium. El fallo de este mes parece específico de Microsoft y no del motor.
  • La razón de esta distinción es también por el motor Chakra de JavaScript compartido.
Fuente: Hispasec

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!