Zerologon se abrió camino en nuestra conciencia colectiva a fines de septiembre de 2020, cuando se reveló que los piratas informáticos estaban apuntando activamente a la vulnerabilidad. Si bien el parche completo estuvo disponible en febrero de 2021, tanto Microsoft como la Agencia de Seguridad de Infraestructura y Ciberseguridad de EE.UU. han alentado a las empresas a usar el parche parcial disponible, pero muchos usuarios finales postergaron o no implementaron el parche parcial en absoluto. Ahora que tenemos cierta perspectiva sobre la vulnerabilidad, es importante revisar y comprender qué podemos aprender de ella. Zerologon no es de ninguna manera una pequeña vulnerabilidad. A continuación, se incluyen varias cosas que las organizaciones deben saber sobre Zerologon, y algunas conclusiones que deben incorporar y tener en cuenta para futuras vulnerabilidades potenciales.
¿Qué es Zerologon?
Zerologon es el nombre que se le da a una vulnerabilidad identificada en CVE-2020-1472. Proviene de una falla en el proceso de inicio de sesión: el vector de inicialización (IV) se establece en ceros todo el tiempo, mientras que un IV siempre debe ser un número aleatorio. Zero Logon ataca por tanto a Windows 10.
Esta peligrosa vulnerabilidad tiene un 10 sobre 10 (CVSS v3.1) para la gravedad del Common Vulnerability Scoring System (CVSS). Existen exploits activos de prueba de concepto (POC) conocidos de Zerologon, y es muy probable que veamos ataques en el mundo real pronto.
La Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) emitió una directiva de emergencia ordenando a las agencias federales civiles que parcheen o deshabiliten inmediatamente todos los servidores Windows afectados y advirtió a las organizaciones no gubernamentales que hicieran lo mismo. Microsoft lanzó el primero de dos parches en agosto de 2020, y deben aplicarse a todos los controladores de dominio.
Zerologon es una vulnerabilidad crítica en el Protocolo remoto de Windows Netlogon (MS-NRPC) que, cuando se explota, permite a un pirata informático hacerse pasar por cualquier computadora, incluido el controlador de dominio raíz. Netlogon es un componente de autenticación central de Active Directory, lo que significa que básicamente proporciona un canal seguro entre las computadoras y los controladores de dominio.
El acceso administrativo de Active Directory no es una broma, ya que puede otorgar a los atacantes un acceso elevado a las aplicaciones comerciales principales. Con ese acceso, un atacante podría modificar una política de grupo para entregar una carga útil que se puede enviar a cada computadora con Windows en la red de alguien. Dado que muchos ataques de ransomware entregan una carga útil que se ejecuta de una vez en una red, sin ninguna posibilidad de detenerlo, esto debe tomarse en serio.
A través de Zerologon, la política de grupo de Active Directory también se puede utilizar para infectar terminales, reconfigurar la seguridad y tomar el control de Active Directory a través de una parte no protegida de la red. La directiva de grupo es un objetivo específico porque es parte de cada Active Directory, brinda acceso al control sobre todos los sistemas y permite la capacidad de realizar casi cualquier tarea. Todo esto significa que si un atacante logra aprovechar la falla, puede hacer casi cualquier cosa que quiera en un entorno de TI.
¿Cuándo fue descubierta esta vulnerabilidad?
Esta vulnerabilidad fue anunciada en septiembre de 2020 por Tom Tervoort, un investigador holandés que trabaja para Secura. En realidad, la vulnerabilidad se corrigió en agosto, pero no fue hasta que el investigador publicó su informe en septiembre que comenzamos a ver POC y otras actividades.
El artículo de Tervoort detalla su descubrimiento y el proceso que lo condujo. Durante su investigación, notó una falta significativa de información sobre MS-NRPC. Intrigado, Tervoort buscó más información.
Si bien Tervoort inicialmente buscaba un ataque de persona en el medio, descubrió otra vulnerabilidad detallada en CVE-2020-1424. Continuando con su investigación, identificó lo que ahora se conoce como Zerologon.
La parte crítica de su descubrimiento es que Microsoft implementó una variación única de criptografía que es diferente a todos los demás protocolos RPC. En los días de Windows NT, las cuentas asignadas a una computadora no se identificaban como un principal de primera clase. Eso significaba que Microsoft no podía usar Kerberos o NTLM estandarizados para autenticar cuentas de computadoras o máquinas.
Como resultado, los desarrolladores crearon una alternativa. Es increíblemente difícil crear códigos y protocolos de cifrado que no se puedan descifrar. De hecho, puede pasar mucho tiempo antes de que se descubran los defectos, como es el caso aquí.
¿Cómo funciona?
Esta vulnerabilidad Zerologon explota una falla criptográfica en el Protocolo remoto de Active Directory Netlogon (MS-NRPC) de Microsoft. Permite a los usuarios iniciar sesión en servidores que utilizan NT LAN Manager (NTLM).
El mayor problema con esta vulnerabilidad es que MS-NRPC también se usa para transmitir ciertos cambios de cuenta, como contraseñas de cuentas de servicios informáticos. Pensando en su origen, es posible ver la justificación para agregar esta característica. Sin embargo, la falta de validación en el origen de la solicitud para cambiar estas contraseñas se ha convertido en un problema de seguridad importante.
Esta vulnerabilidad permite a un pirata informático tomar el control de un controlador de dominio (DC), incluido el DC raíz. Esto se hace cambiando o eliminando la contraseña de una cuenta de servicio en el controlador. El pirata informático puede entonces simplemente provocar una denegación de servicio o hacerse cargo y ser propietario de toda la red.
Para que los atacantes aprovechen esta vulnerabilidad, deben poder configurar una sesión de protocolo de control de transmisión (TCP) con un controlador de dominio. Si están físicamente dentro de la red, podrían estar en el escritorio de un usuario o en un puerto abierto en una ubicación como una sala de conferencias.
Estos exploits se califican como ataques internos, los ataques más costosos para una empresa en la actualidad. Pueden establecerse desde fuera de la red siempre que puedan establecerse en algún lugar para establecer la sesión TCP con el controlador.
Al usar AES-CFB8 con un IV fijo de 16 bytes de ceros, Tervoort descubrió que existe la posibilidad de que una de cada 256 claves utilizadas cree un texto cifrado que tenga un valor de todos ceros. Esta es una cantidad extremadamente pequeña de claves para que el atacante intente crear un texto cifrado de todos los ceros. Solo tomaría una cuestión de 2-3 segundos, como máximo, para que la computadora del hacker hiciera esto.
Si la máquina que se comunica con un controlador de dominio pertenece a un usuario que simplemente sigue su día como de costumbre, no hay ningún problema real. Se produce este texto cifrado mal construido, pero el proceso de autenticación de red funcionará. El problema solo aparece cuando un hacker intenta explotar el sistema.
En el ataque probado por Tervoort, el pirata primero tendría que falsificar la credencial o contraseña de un cliente en la red. Debido a la mala implementación del IV dentro de MS-NRPC, solo se necesitan alrededor de 256 intentos para hacerlo bien.
Normalmente, la cuenta de un usuario se bloquearía después de tres intentos de adivinar una contraseña, pero no ocurre lo mismo con una computadora o una cuenta de máquina. Cuando una computadora inicia sesión, no se establece un límite para los intentos de contraseña incorrectos, lo que permite una ráfaga continua de intentos en poco tiempo para que los piratas informáticos ingresen. Deben encontrar una de las claves que produzca un cifrado todo cero. texto.
¿Qué pueden hacer los piratas informáticos una vez que han falsificado la identidad de una computadora en la red? Con ese primer paso de suplantación de identidad logrado, el atacante no sabría la clave de cifrado real de la sesión. Los atacantes solo han podido falsificar su identidad al finalmente presionar una de las 256 claves que produce un texto cifrado completamente cero. El siguiente paso es deshabilitar «firmar y sellar».
La firma y el sellado de RPC es el mecanismo utilizado para el cifrado de transporte dentro de MS-NRPC. Esto parece un proceso lógico, ya que deberíamos cifrar más de nuestros datos en tránsito. Sin embargo, dentro de MS-NRPC, esta es una característica opcional que se desactiva simplemente al no establecer una bandera en el encabezado de un mensaje.
Una vez que la firma y el sellado están desactivados, los mensajes se envían en claro. Los piratas informáticos podrían realizar cualquier acción que quisieran, incluida la eliminación de una contraseña o la configuración de otro valor. Habrá un parche de Microsoft en febrero de 2021 para exigir la firma y el sellado.
El tercer paso es cambiar la contraseña de la cuenta que ha sido falsificada. El dispositivo más eficaz para suplantar sería un servidor AD, preferiblemente incluso el servidor AD raíz. Para cambiar la contraseña, los atacantes utilizan el mensaje NetServerPasswordSet2 en MS-NRPC.
Es posible cambiar una contraseña simplemente enviando el marco con la nueva contraseña preferida. El método más sencillo es eliminar la contraseña o establecerla en un valor en blanco; el pirata informático ahora puede iniciar sesión mediante un proceso normal.
¿Por qué es tan peligroso?
Zerologon aprovecha un algoritmo criptográfico débil utilizado en el proceso de autenticación de Netlogon.
Este error permite que un atacante manipule los procedimientos de autenticación de Netlogon y:
- Suplantar la identidad de cualquier computadora en una red al intentar autenticarse contra el controlador de dominio
- Deshabilitar las funciones de seguridad en el proceso de autenticación de Netlogon
- Cambiar la contraseña de una computadora en el Active Directory del controlador de dominio (una base de datos de todas las computadoras unidas a un dominio y sus contraseñas).
La esencia, y la razón por la que el error se ha llamado Zerologon, es que el ataque se realiza agregando cero caracteres en ciertos parámetros de autenticación de Netlogon.
Todo el ataque es muy rápido y puede durar hasta tres segundos como máximo. Además, no hay límites sobre cómo un atacante puede usar el ataque Zerologon. Por ejemplo, el atacante también podría hacerse pasar por el propio controlador de dominio y cambiar su contraseña, lo que le permitirá hacerse cargo de toda la red corporativa.
Existen limitaciones sobre cómo se puede utilizar un ataque de Zerologon en Windows 10. Para empezar, no se puede utilizar para hacerse cargo de servidores Windows desde fuera de la red. Un atacante primero necesita un punto de apoyo dentro de una red.
Sin embargo, cuando se cumple esta condición, literalmente se termina el juego para la empresa atacada.
Este ataque tiene un impacto enorme. Básicamente, permite que cualquier atacante de la red local (como un infiltrado malintencionado o alguien que simplemente conectó un dispositivo a un puerto de red local) comprometa por completo el dominio de Windows.
Además, este error también es una bendición para las bandas de malware y ransomware, que a menudo se basan en infectar una computadora dentro de la red de una empresa y luego propagarse a muchas otras. Con Zerologon, esta tarea se ha simplificado considerablemente.
La detección de Zerologon es difícil ya que el atacante se está autenticando esencialmente en el dominio de una manera que se asemeja al comportamiento legítimo de la cuenta / usuario. Además, el vector de ataque principal está a nivel de red, en contraposición a la interacción con el sistema de archivos de un host. Como resultado, abordar la falla directamente está ‘fuera del alcance’ de muchas soluciones tradicionales de seguridad de punto final.
¿Qué parche instalar para evitar el exploit Zerologon?
Parchear Zerologon no fue una tarea fácil para Microsoft, ya que la compañía tuvo que modificar la forma en que miles de millones de dispositivos se conectan a las redes corporativas, interrumpiendo efectivamente las operaciones de innumerables empresas.
Este proceso de parcheo está programado para tener lugar en dos fases. El primero tuvo lugar en agosto de 2020, cuando Microsoft lanzó una solución temporal para el ataque Zerologon.
Este parche temporal hizo que las funciones de seguridad de Netlogon (que Zerologon estaba deshabilitando) fueran obligatorias para todas las autenticaciones de Netlogon, rompiendo efectivamente los ataques de Zerologon.
No obstante, un parche más completo se programó para febrero de 2021, en caso de que los atacantes encuentren una forma de evitar los parches de agosto. Desafortunadamente, Microsoft anticipa que este último parche terminará rompiendo la autenticación en algunos dispositivos.
Los parches solo están disponibles para las versiones de Windows Server que aún son compatibles y reciben actualizaciones de seguridad, pero en la práctica, muchas redes tienen dispositivos de Windows heredados o dispositivos que no son de Windows que se comunican con los controladores de dominio mediante el protocolo.
Las actualizaciones permitirán a los controladores de dominio (DC) proteger los dispositivos Windows de forma predeterminada, registrar eventos para el descubrimiento de dispositivos no compatibles y tener la opción de habilitar la protección para todos los dispositivos unidos al dominio con excepciones explícitas.
Otros consejos para protegerse de Zerologon
Aquí tienes otros consejos que puedes usar para protegerte de la vulnerabilidad Zerologon.
- Cierra proactivamente las brechas entre parches. Las máquinas que no son de Windows todavía están algo desprotegidas de ZeroLogon. Busca en tu red cuentas de computadora que no sean de Windows con privilegios elevados (por ejemplo, privilegios de replicación de dominio), ya que podrían usarse para lanzar un ataque ZeroLogon exitoso incluso en controladores de dominio parcheados.
- Para mitigar más daños, asegúrate de estar monitorizando tu entorno contra tales ataques.
- Habilita la autenticación multifactor (MFA) para todas las cuentas o al menos las cuentas con privilegios. En ese caso, incluso si una cuenta privilegiada se ve comprometida, el intento de acceso seguirá siendo denegado.
- Supervisa posibles intentos de explotación con herramientas de código abierto.
Escribe aquí tu comentario