Icono del sitio Una Al Día

Detectada vulnerabilidad crítica que afecta a Windows DNS Server desde hace 17 años

Investigadores de Check Point Research han descubierto un fallo importante en Windows DNS Server. Esta vulnerabilidad, apodada SIGRed, permite la ejecución remota de código y afecta a todas las ediciones de Windows Server desde 2003 a 2019.

SIGRed, al que se le ha asignado el identificador CVE-2020-1350, se puede ejecutar a través de una petición DNS maliciosa. Dado que el servicio DNS tiene privilegios elevados (SYSTEM), explotado de forma correcta, un atacante podría llegar a adquirir permisos de Administrador de Dominio, lo que afectaría a toda la infraestructura de una empresa. Una característica especialmente peligrosa es su naturaleza de gusano, una vez ha comprometido un servidor puede buscar nuevos objetivos y de esta forma propagarse sin control por toda la red. En consecuencia, tiene una puntuación CVSS de 10.

Algunas consideraciones necesarias para comprender cómo funciona el ataque:

El escenario para explotar SIGRed tiene que ver con cómo el servidor DNS trata una respuesta para una consulta reenviada:

Captura de paquetes del servidor DNS víctima realizando peticiones al DNS malicioso

Para poder explotar la vulnerabilidad, el tamaño de la respuesta TCP tiene que superar los 64 KB. Con este fin, nos fijamos en la función dns.exe!SigWireRead.

Código desensamblado de la función dns.exe!SigWireRead

Podemos observar que la función RR_AllocateEx calcula la memoria necesaria para alojar el Resource Record, esperando como parámetros registros de 16 bits. Esto significa que si pasamos un resultado mayor a 65.535 bytes (o 64 KB, el tamaño máximo de la respuesta TCP) podríamos provocar un integer overflow. Considerando que esta dirección de memoria asignada es pasada a memcpy como búfer de destino, podríamos llegar a tener un heap buffer overflow controlado.

Con el propósito de aprovechar esta vulnerabilidad es necesario utilizar la compresión mediante punteros en la respuesta del servidor DNS malicioso, que una vez es descomprimida por la víctima permite obtener un valor superior a los 65.535 bytes necesarios que mencionamos previamente.

Microsoft ha confirmado que no ha detectado una explotación activa de SIGRed en estos momentos y en su parche de seguridad de julio ha solucionado este problema. Desde Hispasec Sistemas recomendamos aplicar las últimas actualizaciones de Windows Server para mitigar el impacto de esta vulnerabilidad.

Más información:

Informe de Check Point Research: https://research.checkpoint.com/2020/resolving-your-way-into-domain-admin-exploiting-a-17-year-old-bug-in-windows-dns-servers/

Comunicado de Microsoft sobre CVE-2020-1350: https://msrc-blog.microsoft.com/2020/07/14/july-2020-security-update-cve-2020-1350-vulnerability-in-windows-domain-name-system-dns-server/

Acerca de Javier Aranda

Javier Aranda Ha escrito 40 publicaciones.

Salir de la versión móvil