Las cuentas de servicio desempeñan un papel fundamental a la hora de permitir la comunicación de máquina a máquina en entornos de Active Directory (AD). Por ejemplo, las plataformas de correo electrónico, las bases de datos y las aplicaciones internas y orientadas a Internet dependen de estas cuentas para autenticarse en otras aplicaciones y servicios backend. También son muy utilizadas por las herramientas de seguridad para integrarse con plataformas supervisadas como AD.
Dado que las cuentas de servicio están omnipresentes en casi todas las operaciones empresariales, ofrecen a los ciberdelincuentes una superficie de ataque tentadoramente amplia con innumerables puntos de entrada potenciales. Numerosos ciberataques de alto perfil han comenzado con el compromiso de una cuenta de servicio.
Un ejemplo notable -el ataque NotPetya al gigante farmacéutico Merck en 2017- es uno de los más costosos de la historia, con daños por un total de 1.400 millones de dólares. Escalofriantemente, el punto inicial de compromiso fue una cuenta de servicio utilizada por System Center Configuration Manager (SCCM) para la aplicación de parches de software. (Analizamos este ataque en detalle en un episodio dedicado de nuestro podcast Podcast sobre protección de identidades híbridas.)
¿Por qué seguimos viviendo con un punto de exposición tan evidente en nuestro sistema de identidad? La respuesta: Es complicada.
¿Por qué es tan difícil proteger las cuentas de servicio?
El uso generalizado de cuentas de servicio hace que sean notoriamente difíciles de encontrar, gobernar y asegurar. Los retos se derivan de múltiples factores.
Las cuentas de servicio son críticas para la empresa
Si una cuenta de servicio no puede acceder a AD -por ejemplo, debido a un bloqueo de la cuenta o a un cambio de contraseña-, la aplicación asociada suele dejar de funcionar, lo que provoca la paralización de las operaciones empresariales.
Dado el carácter crítico de la mayoría de las aplicaciones y servicios empresariales, muchos profesionales de la seguridad dudan a la hora de realizar cambios relacionados con la seguridad que puedan perturbar una cuenta de servicio e interrumpir la actividad, por lo que las cuentas permanecen intactas y vulnerables.
Las cuentas de servicio tienen poca visibilidad
La mayoría de los entornos AD llevan funcionando muchos años, a veces décadas. Durante ese tiempo, se han incorporado, actualizado y retirado innumerables servicios integrados en AD. Y cada uno introduce su propio conjunto de cuentas de servicio con permisos específicos.
A diferencia de las cuentas de usuario humano, que suelen gestionarse mediante procesos estructurados de incorporación y baja, las cuentas de servicio suelen carecer de una gestión formal del ciclo de vida. Como resultado, cuando las aplicaciones se dan de baja, sus cuentas de servicio asociadas suelen quedarse atrás.
Con el tiempo, estas cuentas de servicio heredadas se acumulan. Las organizaciones pueden tener cientos o incluso miles de cuentas obsoletas y sin gestionar en el entorno, cada una de ellas un riesgo potencial para la seguridad.
Las contraseñas estáticas de las cuentas de servicio están por todas partes
Las cuentas de servicio suelen utilizar contraseñas estáticas que rara vez cambian y que a veces están codificadas en scripts o aplicaciones. Estas credenciales son difíciles de rotar, y una vez expuestas -a través de fugas de código fuente, archivos de configuración o volcados de memoria- pueden ser explotadas por atacantes que luego se mueven lateralmente o escalan privilegios en el entorno.
Las contraseñas estáticas débiles son especialmente vulnerables a los ataques de pulverización de contraseñas. Dado que las cuentas de servicio no pueden utilizar la autenticación multifactor, carecen de una capa esencial de protección. En entornos AD, también son susceptibles al Kerberoasting, donde los atacantes extraen y crackean tickets de servicio para obtener contraseñas en texto plano.
Las cuentas de servicio suelen tener privilegios excesivos
Los equipos de aplicaciones y desarrolladores suelen asignar permisos excesivos a las cuentas de servicio porque carecen de un conocimiento profundo de los modelos de permisos y delegación de Active Directory. En lugar de adoptar un enfoque matizado, pueden crear de forma rutinaria cuentas con privilegios elevados y permisos que exceden con mucho lo necesario.
Esta práctica ofrece a los atacantes una gran oportunidad de aprovechar cualquiera de las numerosas técnicas de ataque para hacerse con el control de una cuenta de servicio y escalar rápidamente los privilegios. Además, la mayor parte de la actividad de las cuentas de servicio no suele estar supervisada, por lo que el compromiso de la cuenta a menudo no se detecta hasta que es demasiado tarde.
Cómo cerrar la brecha de seguridad de las cuentas de servicio
Juntos, estos retos plantean un problema casi insuperable para los equipos de seguridad, dejando las cuentas de servicio como una laguna crítica en la mayoría de los programas de seguridad de identidad.
Veamos un enfoque por capas para abordar este difícil problema.
Inventariar y clasificar
El primer paso es descubrir todas las cuentas de servicio en su entorno de Active Directory. Normalmente, para ello se utilizan herramientas como scripts de PowerShell o plataformas de gobierno de identidades.
A continuación, identifique el propietario, la finalidad y los sistemas asociados de cada cuenta. Clasifíquelas por nivel de privilegios, unidad organizativa y método de autenticación. Elimine las cuentas huérfanas o no utilizadas y mantenga un inventario centralizado actualizado periódicamente.
Aplicar el mínimo privilegio
Asigne sólo los permisos necesarios para el funcionamiento de cada cuenta de servicio. Evite conceder derechos de administrador de dominio o administrador de empresa a menos que sea absolutamente necesario.
Siempre que sea posible, utilice cuentas de servicio gestionadas por grupo (gMSA) para simplificar la gestión de permisos y reducir el riesgo.
Elimine las credenciales codificadas
Analice scripts, tareas programadas y aplicaciones en busca de credenciales incrustadas. Siempre que sea posible, sustituya las contraseñas codificadas por soluciones de almacenamiento seguro como Windows Credential Manager o gMSA para evitar la fuga de credenciales.
Para algunas cuentas, no se pueden evitar las contraseñas codificadas. En estos casos, asegúrate de utilizar una contraseña segura de alta entropía con la máxima longitud de caracteres permitida.
Supervisar y alertar
La actividad de las cuentas de servicio debe seguir patrones y ubicaciones de inicio de sesión predecibles. Active la auditoría de los eventos de inicio de sesión de las cuentas de servicio y controle los comportamientos inusuales, como los inicios de sesión desde hosts inesperados o a horas intempestivas.
Integre los registros con una plataforma de gestión de eventos e información de seguridad (SIEM) para centralizar la supervisión y generar alertas de actividades sospechosas.
Restringir el inicio de sesión y el acceso
Utilice la directiva de grupo para denegar los derechos de inicio de sesión interactivo a las cuentas de servicio. Restrinja dónde pueden autenticarse las cuentas mediante la configuración Estaciones de trabajo de inicio de sesión, permitiendo que los inicios de sesión se produzcan sólo en los servidores necesarios.
Automatización de la seguridad por niveles de las cuentas de servicio
Como probablemente se haya dado cuenta, el enfoque tradicional de la gestión de cuentas de servicio y la mitigación de vulnerabilidades requiere una cantidad prohibitiva de tiempo y recursos. Naturalmente, con eso cuentan los ciberatacantes.
Por eso Semperis ha propuesto una alternativa.
Nuestro módulo Service Accounts Protection mejora las capacidades de Directory Services Protector DSP)ayudando a simplificar el proceso de protección de cuentas de servicio y reduciendo en gran medida el tiempo y el esfuerzo requeridos en los pasos que hemos descrito.
Este módulo descubre continuamente cuentas de servicio desconocidas y extraviadas, detecta configuraciones erróneas de cuentas de servicio y saca a la luz configuraciones de riesgo y exposiciones críticas, a la vez que le alerta de comportamientos maliciosos y anómalos.
Las cuentas de servicio han sido durante mucho tiempo el talón de Aquiles de la seguridad de la identidad, una brecha crítica que los atacantes siempre intentan atacar. DSP le ayuda a defenderlas.