fbpx
Capital Software

Vulnerabilidades en Active Directory: CVE-2021-42278 / CVE-2021-42287

CVE-2021-42278 / CVE-2021-42287
CVE-2021-42278 / CVE-2021-42287

El martes de parches de noviembre pasado, Microsoft public贸 avisos para abordar varias vulnerabilidades en Active Directory. El an谩lisis de estas vulnerabilidades mostr贸 que al combinar CVE-2021-42278 y CVE-2021-42287 es posible, en condiciones predeterminadas, que un usuario habitual se haga pasar por un administrador de dominio f谩cilmente. Esto significa que cualquier usuario de dominio puede convertirse efectivamente en administrador de dominio, lo que hace que estas vulnerabilidades sean extremadamente graves.聽Adem谩s, ya existen varios repositorios de Github con c贸digo PoC de uso gratuito que facilita la explotaci贸n de estas vulnerabilidades.

CVE-2021-42278: nombre de cuenta de computadora no v谩lido

Los nombres de cuentas de equipo en entornos de Active Directory siempre deben terminar con 芦$禄, sin embargo, esto no se aplica correctamente.聽El atributo del nombre de la cuenta de la computadora es 芦sAMAccountName禄.聽Es posible ver y editar este atributo manualmente usando la herramienta ADSIEdit, como se puede ver en la Figura 1.聽

Figura 1: Editando el atributo del nombre de la cuenta de la computadora usando ADSIEdit

Figura 1: Editando el atributo del nombre de la cuenta de la computadora usando ADSIEdit

En m谩quinas vulnerables, es posible cambiarle el nombre a un nombre de cuenta de controlador de dominio, que es un paso clave en la cadena de explotaci贸n.

Nombre principal de seguridad

Un nombre principal de seguridad (SPN) es el nombre que identifica una entidad autenticada, por ejemplo, machinename$@domainname.聽Kerberos utiliza los聽SPN聽como parte de los procedimientos de autenticaci贸n de varias entidades.聽B谩sicamente, es un identificador 煤nico de una instancia de servicio y lo utiliza la autenticaci贸n Kerberos para asociar una instancia de servicio con una cuenta de inicio de sesi贸n de servicio.

Esto puede plantear un problema al intentar cambiar el nombre de una cuenta de computadora a una cuenta de controlador de dominio porque cambiar el atributo samAccountName desencadenar谩 un cambio respectivo en el SPN de la cuenta.聽El intento de cambiarlo fallar谩 porque ya existe un SPN con este nombre.聽Para superar esto, es posible borrar el atributo 芦servicePrincipalName禄 de la m谩quina.聽Como resultado, tambi茅n se requieren privilegios para editar el atributo 芦servicePrincipalName禄 para aprovechar esta vulnerabilidad.

CVE-2021-42287 – Confusi贸n del centro de distribuci贸n de claves Kerberos

El Centro de distribuci贸n de claves de Kerberos (KDC) es un servicio de Active Directory que gestiona las solicitudes de tickets de Kerberos. Un boleto de concesi贸n de boletos, o TGT, es un tipo especial de boleto que se puede usar para obtener otros boletos. TGT se utiliza para solicitar tokens de acceso del Ticket Granting Service (TGS) para recursos/sistemas espec铆ficos en el dominio. Cuando se env铆a una solicitud de un ticket de servicio y no se encuentra, el KDC buscar谩 autom谩ticamente el ticket solicitado junto con 芦$禄.

S4U2self, o Service for User to Self, es una extensi贸n que permite a un servicio obtener un ticket de servicio Kerberos por s铆 mismo.聽El ticket de servicio contiene los grupos de usuarios y, por lo tanto, se puede utilizar en decisiones de autorizaci贸n.聽Todos los t茅rminos de Active Directory y las explicaciones completas se pueden encontrar聽aqu铆聽.

La vulnerabilidad puede desencadenarse en un escenario en el que un usuario obtiene un TGT, el usuario es eliminado y el TGT obtenido previamente se utiliza para solicitar un ticket de servicio para otro usuario para ellos mismos, b谩sicamente, S4U2self.聽En este caso, no se encontrar谩 al usuario y se ejecutar谩 una b煤squeda del usuario con 芦$禄 adjunto.聽Y si existe una cuenta de controlador de dominio con el nombre, se otorgar谩 un ticket de servicio al usuario solicitante, convirtiendo al usuario solicitante en administrador de dominio.

Combinando las vulnerabilidades

Para aprovechar este problema, un atacante necesita la capacidad de controlar una cuenta de computadora.聽Como se mencion贸, el atacante debe poder modificar tanto el atributo 芦servicePrincipalName禄 como el atributo 芦sAMAccountName禄.聽La forma m谩s sencilla de lograrlo es crear uno.聽La configuraci贸n predeterminada en un dominio permite que un usuario sin privilegios cree hasta 10 cuentas de computadora.聽Esto est谩 controlado por el atributo MachineAccountQuota.

En resumen, los pasos para aprovechar estas vulnerabilidades y obtener privilegios de administrador de dominio son los siguientes:

1. Enumere el Active-Directory para encontrar una cuenta de administrador de dominio.
2. Cree una nueva cuenta de computadora con 芦servicePrincipalName禄 despejado.
3. Aproveche CVE-2021-42278 para modificar 芦sAMAccountName禄 al nombre de la cuenta del administrador del dominio.
4. Obtenga un TGT de la cuenta de la computadora.
5. Restaure el nombre de la cuenta de la computadora para que no se encuentre cuando el KDC lo busque.
6. Aproveche CVE-2021-42287 utilizando el TGT obtenido para solicitar un ticket de servicio con S4U2Self.

La implementaci贸n del exploit se puede encontrar聽aqu铆.聽La Figura 2, a continuaci贸n, muestra la ejecuci贸n del c贸digo de explotaci贸n contra un servidor vulnerable:

Figura 2: Explotaci贸n de vulnerabilidades CVE-2021-42278 / CVE-2021-42287

Figura 2: Explotaci贸n de vulnerabilidades CVE-2021-42278/CVE-2021-42287

Protecci贸n contra la explotaci贸n

La combinaci贸n de las vulnerabilidades CVE-2021-42278 y CVE-2021-42287 permite a los usuarios sin privilegios convertirse f谩cilmente en administradores de dominio.聽Como resultado, instamos a las organizaciones a que apliquen los parches聽KB5008380聽y聽KB5008602 de Microsoft聽lo antes posible para mitigar el problema.

Fuente: FortiGuard Labs Threat Research Report

驴NECESITAS ASESOR脥A?

Con茅ctate con un experto

Abrir chat
1
Escanea el c贸digo
Hola, bienvenido a Capital Software, somos una empresa de soluciones inform谩ticas. 驴En qu茅 podemos ayudarte hoy?