10 métodos para identificar y proteger a los usuarios privilegiados de AD
Oct 3, 2023
Comprometer cuentas privilegiadas es el penúltimo objetivo de la mayoría de los ciberataques; una vez que los atacantes obtienen acceso privilegiado, pueden lograr su objetivo final, ya sea robar o cifrar activos de información o interrumpir las operaciones comerciales. Por lo general, los ciberdelincuentes obtienen un punto de apoyo en una red al comprometer una cuenta de bajo nivel en una máquina local. Utilizando una variedad de técnicas, luego intentan tomar el control de las cuentas más privilegiadas que necesitan para acceder a los datos sensibles y sistemas de la organización. En Active Directory (AD) environments, el verdadero premio es una cuenta de Administrador de Dominio, pero cualquier cuenta privilegiada a menudo es suficiente.
Solicite una Demostración Individual:
Elementos clave de Privileged Access Management
Un atacante con acceso privilegiado puede moverse prácticamente libremente a través de su AD domain y acceder a sus recursos de TI más valiosos. Por lo tanto, para mantener la seguridad y el cumplimiento, es imperativo establecer una gobernanza de identidad sólida y gestión de acceso sobre todas las cuentas privilegiadas en su entorno de AD.
Específicamente, garantizar la seguridad de sus sistemas y datos implica dos componentes clave:
- Identificar qué usuarios tienen qué privilegios para qué activos de TI
- Detectando cuándo cualquier cuenta obtiene Privileged Access por primera vez
Es vital entender que Privileged Access Management no es un esfuerzo único. A medida que los usuarios se integran y cambian de roles y el entorno de TI evoluciona, los derechos y membresías de grupo cambian, y los equipos de seguridad necesitan detectar cualquier cambio que podría ser malicioso o inapropiado.
A continuación se presentan los 10 métodos principales que puede utilizar para proteger sus cuentas de usuario privilegiadas de compromisos. Forman parte de una estrategia de seguridad integral para evitar que usuarios no autorizados obtengan acceso privilegiado a AD.
Obtenga una copia de cortesía:
1.Gestione de cerca los grupos privilegiados integrados como Domain Admins.
Los grupos privilegiados integrados de AD como Administrators, Domain Admins, Enterprise Admins y Schema Admins son un punto de partida obvio. A continuación está el grupo Local Administrators en cada uno de tus endpoints de Windows, que proporciona acceso privilegiado a esos sistemas.
Identificar a los miembros de cada uno de estos grupos es tan fácil como ver la pestaña de Propiedad de Membresía del grupo en Active Directory Users & Computers (ADUC). Otra manera es usar el cmdlet de PowerShell Get-ADGroupMember como se muestra en la captura de pantalla a continuación. Este es el método preferido cuando necesitas analizar múltiples grupos de manera rápida.
Tenga en cuenta que las revisiones periódicas de los miembros del grupo ofrecen una visión del estado del grupo en ese momento solamente. Sin embargo, es un buen punto de partida.
2. Verifique la existencia de grupos anidados dentro de grupos privilegiados.
Es vital verificar si los grupos privilegiados tienen algún grupo como miembros, ya que estos grupos anidados otorgan a sus miembros todos los derechos de acceso del grupo privilegiado. Por ejemplo, en la captura de pantalla a continuación, puedes ver que uno de los miembros del grupo Domain Admins es un grupo llamado LabPowerUsers — lo que significa que cualquier miembro del grupo LabPowerUsers tiene privilegios administrativos en todo el dominio.
Siempre que sea posible, debe evitar anidar grupos, especialmente dentro de grupos privilegiados, porque proporciona a los atacantes una forma de acceder a recursos críticos y datos con menos riesgo de activar alarmas: agregan una cuenta que controlan a un grupo anidado, en lugar de directamente al grupo privilegiado principal, que puede estar más vigilado.
Como se mostró anteriormente, el cmdlet Get-ADGroupMember solo revela los miembros inmediatos del grupo consultado, por lo que enumerará cualquier grupo anidado pero no sus miembros. Una forma de mostrar también los miembros de cualquier grupo anidado es utilizar el filtro LDAP que se muestra en rojo a continuación:
param([string]$groupDn )
$s = new-object system.directoryservices.directorysearcher
$s.searchroot = new-object system.directoryservices.directoryentry
$s.filter = “(&(memberOf:1.2.840.113556.1.4.1941:=$groupDn))”
$s.propertiestoload.add(“name”)
$s.propertiestoload.add(“objectclass”)
$r = $s.FindAll()
foreach ($e in $r)
{Write-Host
$e.Properties.objectclass[$e.Properties.objectclass.Count-1]:
$e.properties.name
Si este código se guarda como un script (.GetNestedMembers.ps1), se puede ejecutar de la siguiente manera, especificando el Distinguished Name del grupo deseado:
.GetNestedMembers.ps1 -groupDn “CN=Administrators,CN=Builtin,DC=lab,DC=local”
La salida muestra el nombre del grupo y enumera sus miembros:
group : Domain Admins
user : bosshogg
user : azuresync
user : Barry Vista
user : Randy Smith
user : AdminService
Para obtener una visibilidad rápida de los privilegios elevados sin todas las complicaciones y gastos de la programación de scripts, muchas organizaciones optan por invertir en una herramienta de terceros de Privileged Access Management (PAM) como la Netwrix PAM solution.
3. Preste atención a los permisos de la unidad organizativa (OU).
Además de obtener privilegios a través de la membresía de grupo, los usuarios pueden recibir control delegado a nivel de la unidad organizativa. La captura de pantalla a continuación muestra un grupo al que se le han delegado privilegios para la OU de Ventas; cada miembro de ese grupo podrá realizar las tareas seleccionadas, incluida la modificación de la membresía de cualquier grupo en la OU de Ventas.
Hacer seguimiento de los permisos de las OU se complica por la herencia. Como en la seguridad NTFS, los permisos de las OU padres se propagan hacia las OU hijas y objetos hoja. Esto puede resultar en que muchos usuarios tengan privilegios elevados que son difíciles de descubrir, como se ilustra en la siguiente captura de pantalla que muestra todas las OU hijas y objetos hoja de la OU de Ventas:
Aunque puedes romper la herencia de una OU padre, hacerlo puede causar problemas, como que los gerentes no puedan gestionar los objetos de los que son responsables.
Para generar eventos de auditoría cada vez que se accede a un objeto de directorio, puede usar AD Group Policy. Vaya a Configuración del Equipo > Configuración de Windows > Configuración de Seguridad > Configuración Avanzada de Política de Auditoría > Políticas de Auditoría > Acceso DS y configure Auditar Cambios del Servicio de Directorio como se muestra a continuación.
Tenga en cuenta que activar esta auditoría generará un gran volumen de entradas de registro, por lo que revisar manualmente los registros de auditoría lleva mucho tiempo. Además, las entradas de registro no detallarán qué permisos se están asignando; simplemente revelan que los permisos de una OU en particular necesitan ser revisados.
4. Busque derechos equivalentes a administrador en controladores de dominio (DCs).
Los controladores de dominio son máquinas especiales que ejecutan el sistema operativo Windows Server y proporcionan servicios vitales de autenticación y autorización. Por lo tanto, es importante buscar cuentas con privilegios de nivel de administrador en sus DCs. Por ejemplo, se podría otorgar a una cuenta de servicio el derecho de respaldar o restaurar archivos en los DCs. Los ataques pueden comprometer estas cuentas utilizando herramientas de código abierto como Mimikatz para descubrir sus hashes de contraseña y luego descifrar sus contraseñas en texto plano.
Puede identificar qué cuentas tienen estos derechos basándose en:
- Revisando la política de Controladores de Dominio predeterminada
- Usando un script de PowerShell
- Usando herramientas de Privileged Access Management (PAM) como Netwrix PAM solutions
5. Descubra a los usuarios con autoridad para restablecer contraseñas de otras cuentas.
La capacidad de restablecer la contraseña de una cuenta de usuario es altamente buscada por los actores de amenazas, porque restablecer la contraseña de una cuenta les permite tomar control de la misma. Este derecho está incluido en el permiso de Control Total. También puede delegar el permiso específico para restablecer contraseñas de otros usuarios utilizando el asistente de Delegación de Control, como se muestra a continuación:
En el ejemplo a continuación, los miembros del grupo de soporte de PC tienen permiso para restablecer las contraseñas de los administradores de dominio. Por lo tanto, al comprometer la cuenta de cualquier miembro del grupo de soporte de PC, un atacante puede obtener fácilmente privilegios elevados en todo el dominio.
Revisar manualmente cada OU y objeto de usuario para ver quién tiene este privilegio consume mucho tiempo y es propenso a errores, y tratar de auditar manualmente toda la actividad de restablecimiento de contraseña es igualmente impracticable. Netwrix AD security facilita ver qué cuentas tienen derechos de restablecimiento de contraseña. La captura de pantalla a continuación muestra un entorno en el que 1,000 usuarios en el dominio prod.net pueden tener su contraseña restablecida por 15 individuos diferentes:
6. Monitoree el uso de cuentas de servicio privilegiadas.
Una sugerencia anterior mencionaba la necesidad de vigilar las cuentas de servicio que tienen derechos de acceso en un DC equivalentes a los de los administradores. Pero los riesgos asociados con las cuentas de servicio no se limitan a los DCs. Cargas de trabajo como Exchange, SQL Server, soluciones de respaldo y otras aplicaciones empresariales funcionan bajo cuentas de servicio que a menudo tienen privilegios administrativos, y cualquiera que conozca las credenciales de dicha cuenta puede usarla con fines maliciosos.
Las contraseñas de las cuentas de servicio a menudo no se cambian regularmente, o incluso nunca, por lo que a menudo no está claro exactamente quién las conoce. Incluso si las contraseñas de las cuentas de servicio se cambian regularmente, la actividad de inicio de sesión de estas cuentas debe ser auditada para asegurar que se utilicen solo para los servicios asignados y no para actividades ilícitas, como el inicio de sesión interactivo en un controlador de dominio.
Usar el registro de seguridad en un DC para determinar si se está utilizando incorrectamente una cuenta de servicio requiere ensamblar múltiples piezas de un rompecabezas. Por ejemplo, el Evento 4768 muestra que se solicitó un ticket de autenticación Kerberos y el 4672 indica que se asignaron privilegios especiales al nuevo inicio de sesión, pero necesitan estar correlacionados con el Evento 4624 (una cuenta fue iniciada sesión con éxito).
7. Descubra usuarios con acceso de escritura a GPOs que se aplican a DCs o servidores que ejecutan aplicaciones con Privileged Access Management.
La Directiva de Grupo es una herramienta poderosa para gestionar tanto usuarios como máquinas como DCs, servidores de aplicaciones y endpoints de Windows. Es por eso que los atacantes intentan tomar control de ella y por qué es imperativo para usted monitorear quién tiene acceso de escritura a cualquier objeto de Directiva de Grupo (GPO).
Un buen punto de partida es revisar los permisos en todas las GPOs que están vinculadas ya sea a la raíz del Dominio o a la OU de Controladores de Dominio. Esto se hace fácilmente revisando la pestaña de Delegación de la política de Controladores de Dominio predeterminada, como se muestra a continuación:
8. Identifique todas las cuentas de usuario con acceso a cualquier solución de AD management.
Muchas organizaciones utilizan soluciones de terceros para simplificar las tareas de gestión de AD. Estas soluciones a veces pueden habilitar dos métodos de ataque para actores de amenazas que buscan obtener acceso privilegiado.
- La primera implica el uso de una cuenta de servicio o proxy que se le otorga acceso privilegiado a todo o un subconjunto de AD para habilitar las funciones de gestión de la solución.
- El segundo método utiliza cualquier cuenta con permisos asignados dentro de la solución de gestión. Aquí, a un usuario de bajo nivel se le podría otorgar la capacidad de realizar tareas privilegiadas (por ejemplo, restablecer la contraseña de otro usuario) sobre un subconjunto de cuentas de AD. Dependiendo del nivel de delegación, obtener el control sobre una cuenta como esta puede ser tan bueno como ser un Administrador de Dominio.
Para obtener visibilidad sobre estos riesgos, debe realizar un inventario de todas las aplicaciones de gestión en uso. Tenga en cuenta que a menudo no residen en un controlador de dominio. Luego necesita identificar todas las cuentas de servicio y proxy que tienen acceso privilegiado y monitorear lo que estas cuentas están haciendo. La mayoría de las soluciones de gestión proporcionan algún medio para establecer un rastro de auditoría para monitorear comportamientos inapropiados. Cualquier alerta generada por estas aplicaciones también puede ser dirigida a una solución SIEM si una está disponible.
Alternativamente, Netwrix Auditor puede enviar resúmenes de actividad diarios detallando todos los cambios en hardware y software, tareas programadas, aplicaciones, configuraciones de red y más en sus servidores Windows. A continuación se muestra una captura de pantalla que muestra todas las aplicaciones instaladas:
9. No olvide a los administradores de infraestructura de virtualización.
Para asegurar su entorno virtual de AD, debe saber qué cuentas tienen acceso privilegiado a su infraestructura virtual. Recuerde que cualquiera que gestione el entorno virtual que aloja DCs o servidores miembros tiene el equivalente de acceso administrativo a una máquina física.
Por ejemplo, si estás ejecutando Hyper-V, los miembros del grupo local de Administradores de Hyper-V tienen acceso a nivel de administrador en el sistema operativo invitado. De manera similar, en entornos VMware, el usuario root en un sistema ESXi tiene el mismo nivel de acceso. Y aunque los servidores miembros pueden no alojar AD, cualquier aplicación de gestión o cuentas de servicio con privilegios de AD presentan el mismo riesgo.
10. Evite que los administradores dejen rastros de credenciales.
Cuando un usuario inicia sesión en un sistema, partes de la información de credenciales a menudo permanecen después de que el usuario cierra sesión. Esta información puede incluir contraseñas en texto claro, hashes de contraseñas, hashes NTLM y tickets de Kerberos. Utilizando herramientas como Mimikatz, los atacantes pueden explotar fácilmente estos artefactos dejados en la memoria de servidores y estaciones de trabajo para autenticarse como cuentas con privilegios. Por ejemplo, las contraseñas en texto claro pueden simplemente reutilizarse, y los hashes pueden ser transmitidos como parte de una solicitud de autenticación, utilizando herramientas de hacking adicionales para obtener acceso a otros sistemas.
Lamentablemente, identificar qué máquinas tienen artefactos de credenciales privilegiadas en ellas es casi imposible. Por lo tanto, su enfoque debe estar en determinar dónde están iniciando sesión los usuarios privilegiados.
Como se mencionó anteriormente, puede monitorear el ID de evento 4627 (Privilegios especiales asignados a un nuevo inicio de sesión) en cualquier sistema Windows actual para grupos que se sabe que son privilegiados. Y puede monitorear el ID de evento 4769 (Se solicitó un ticket de servicio Kerberos) en sus DCs para identificar inicios de sesión privilegiados.
Después de tener una idea de cómo se están utilizando las cuentas privilegiadas, asegúrese de que la configuración de WDigest impida que las contraseñas en texto claro se almacenen en la memoria. También debe prohibir que las cuentas privilegiadas se utilicen en estaciones de trabajo de usuarios para mantener seguras sus credenciales y usar una cuenta con privilegios de Administrador Local para abordar problemas de los usuarios finales.
Manteniendo un control estricto sobre las cuentas Privileged Accounts
Las cuentas de usuario privilegiadas — desde cuentas con derechos de Administrador local en una máquina hasta aquellas con privilegios completos de Administrador de Dominio — son regularmente el objetivo de adversarios. Para prevenir violaciones y tiempos de inactividad, necesitas saber quiénes son tus usuarios privilegiados y monitorear los cambios que podrían afectar el acceso privilegiado. Sin embargo, si dependes de herramientas nativas, la evaluación y el monitoreo son procesos que consumen tiempo y son propensos a errores. Para el monitoreo confiable 24/7 que necesitas para proteger tus cuentas privilegiadas de compromisos y mal uso, necesitas herramientas automáticas de terceros. La Netwrix suite of solutions te brinda la visibilidad que requieres para detectar y frustrar intentos de privilege escalation y abuso de privilegios.
Compartir en
Aprende más
Acerca del autor
Joe Dibley
Investigador de seguridad
Investigador de seguridad en Netwrix y miembro del Equipo de Investigación de Seguridad de Netwrix. Joe es un experto en Active Directory, Windows y una amplia variedad de plataformas y tecnologías de software empresarial, Joe investiga nuevos riesgos de seguridad, técnicas de ataque complejas y las mitigaciones y detecciones asociadas.
Aprende más sobre este tema
Usando Windows Defender Credential Guard para proteger credenciales Privileged
¿Qué es Microsoft LAPS: Cómo puede mejorar su seguridad?
Pasos para controlar los derechos de administrador local
5 consejos principales para la solución de contraseñas de administrador local (LAPS)
Principales soluciones de Privileged Access Management (PAM)