Los investigadores de seguridad revelan cómo el esquema de autenticación criptográfica en Netlogon se puede explotar para tomar el control de un controlador de dominio de Windows (DC).
Actualización: 21 de septiembre de 2020: La sección «Identificación de los sistemas afectados» se ha actualizado para incluir instrucciones para nuestra nueva comprobación no autenticada para Zerologon.
Actualización: 02 de octubre de 2020: La sección «Identificación de sistemas afectados» se ha actualizado para resaltar el lanzamiento de la plantilla de análisis Zerologon para Nessus y Tenable.io.
Fondo
El 11 de septiembre, investigadores de Secura publicaron una entrada de blog para una vulnerabilidad crítica que han denominado «Zerologon». La entrada del blog contiene un documento técnico que explica el impacto total y la ejecución de la vulnerabilidad, identificada como CVE-2020-1472, que recibió una puntuación CVSSv3 de 10,0, la puntuación máxima. Zerologon fue parcheado por Microsoft en la ronda de actualizaciones del Martes de parches de agosto. Esta divulgación sigue a una vulnerabilidad anterior relacionada con Netlogon, CVE-2019-1424, que Secura detalló a finales del año pasado.
Análisis
CVE-2020-1472 es una vulnerabilidad de escalamiento de privilegios debido al uso inseguro del cifrado AES-CFB8 para sesiones de Netlogon. El estándar AES-CFB8 requiere que cada byte de texto sin formato, como una contraseña, debe tener un vector de inicialización aleatorio (IV) para que no se puedan adivinar las contraseñas. La función ComputeNetlogonCredential de Netlogon establece el IV en 16 bits fijos, lo que significa que un atacante podría controlar el texto descifrado. Un atacante puede aprovechar esta falla para suplantar la identidad de cualquier equipo en una red al intentar autenticarse en el controlador de dominio (DC). A continuación, se pueden realizar otros ataques, incluida la adquisición completa de un dominio de Windows. El documento técnico de Secura también señala que un atacante sería capaz de ejecutar simplemente el script ‘secretsdump’ de Impacket para extraer una lista de hashes de usuario de un controlador de dominio de destino.
Para explotar esta vulnerabilidad, el atacante tendría que lanzar el ataque desde una máquina en la misma red de área local (LAN) que su objetivo. Un cliente vulnerable o DC expuesto a Internet no es explotable por sí mismo. El ataque requiere que el inicio de sesión falsificado funcione como un intento de inicio de sesión de dominio normal. Active Directory (AD) tendría que reconocer al cliente de conexión como dentro de su topología lógica, que las direcciones externas no tendrían.
Fuente de la imagen: Secura CVE-2020-1472 Whitepaper
Prueba de concepto
Se han publicado varias pruebas de concepto (PoC) en GitHub [1] [2] [3] [4] lo que demuestra un amplio interés y experimentación en toda la comunidad de seguridad. Los investigadores han estado trabajando rápidamente para confirmar la explotación exitosa. Las vulnerabilidades críticas y de alto perfil tienden a recibir un interés generalizado de los investigadores de seguridad y atacantes por igual.
En un ataque hipotético, se podría utilizar esta vulnerabilidad para desplegar ransomware en toda una organización y mantener una presencia persistente si los esfuerzos de limpieza y restauración se pierden cualquier script malicioso adicional. Las organizaciones con copias de seguridad accesibles en red podrían terminar con una tormenta perfecta si un grupo ransomware destruye copias de seguridad para aumentar su probabilidad de pago de la organización de la víctima.
Solución
La aplicación de la actualización del martes de parches de agosto del Aviso de Microsoft corregirá la vulnerabilidad aplicando la llamada a procedimiento remoto (RPC) en el protocolo Netlogon para todos los dispositivos Windows. Tenable recomienda encarecidamente a los usuarios y administradores que apliquen este parche lo antes posible.
Los usuarios deben tener en cuenta que Microsoft toma nota de que una revisión de este aviso llegará el 9 de febrero de 2021y que, una vez que comience la fase de aplicación, se requerirá el modo de aplicación para todos los dispositivos que no sean Windows. Los administradores pueden permitir manualmente dispositivos específicos a través de la directiva de grupo para las necesidades de dispositivos heredados.
Identificación de los sistemas afectados
Una lista de plugins Tenable para identificar esta vulnerabilidad se puede encontrar aquí. Tenable también lanzará plugins adicionales para la actualización del 9 de febrero de 2021. Un archivo de auditoría de cumplimiento, disponible aquí, se puede usar para asegurarse de que el valor de clave del Registro FullSecureChannelProtection se establece en la directiva de grupo en el controlador de dominio. La corrección de agosto de 2020 debe establecer esta clave del Registro después de que la revisión se haya aplicado correctamente.
Tenable también ha lanzado Microsoft Netlogon Elevation of Privilege, un complemento no autenticado para los clientes que desean escanear sus controladores de dominio para probar la capacidad de explotación. Este complemento intenta autenticarse en el destino utilizando una credencial de cliente cero después de proporcionar un desafío de cliente cero. En los objetivos vulnerables, esto tendrá éxito en promedio una vez cada 256 intentos, y este plugin intentará esto hasta 2000 veces con el fin de verificar si el objetivo se ve afectado. Debido al número de intentos de inicio de sesión necesarios para verificar con precisión la capacidad de explotación de un objetivo, Tenable no recomienda ejecutar este plugin junto con cualquier otro plugin en un análisis, ya que está destinado a los análisis de controlador de dominio de destino único. Para habilitar el complemento, los usuarios deben desactivar la opción «Usar solo credenciales proporcionadas por el usuario» en la sección Fuerza bruta en las opciones de evaluación en su configuración de análisis.
los usuarios de Tenable.io y Nessus también podrán aprovechar la nueva plantilla de análisis dedicada a Zerologon. El complemento 140657 y sus dependencias se habilitan automáticamente dentro de la plantilla, y también viene con los ajustes de fuerza bruta necesarios configurados automáticamente.