Saltar a contenido

Active Directory Objects

A menudo veremos el término "objects" al referirnos a AD. ¿Qué es un objeto? Un objeto puede definirse como CUALQUIER recurso presente dentro de un entorno de Active Directory, como OUs, impresoras, usuarios, Domain Controllers, etc.

AD Objects

image

Users

Estos son los usuarios dentro del entorno de AD de la organización. Los usuarios se consideran leaf objects, lo que significa que no pueden contener otros objetos dentro de ellos. Otro ejemplo de un leaf object es un buzón (mailbox) en Microsoft Exchange. Un user object se considera un security principal y tiene un security identifier (SID) y un global unique identifier (GUID). Los objetos de usuario tienen muchos posibles attributes, como su display name, la última hora de inicio de sesión, la fecha del último cambio de contraseña, la dirección de correo electrónico, la descripción de la cuenta, el administrador (manager), la dirección, y más. Dependiendo de cómo esté configurado un entorno de Active Directory en particular, puede haber más de 800 atributos posibles de usuario al considerar TODOS los atributos posibles, como se detalla aquí. Este ejemplo va mucho más allá de lo que típicamente se rellena para un usuario estándar en la mayoría de los entornos, pero muestra el tamaño y la complejidad de Active Directory. Son un objetivo crucial para los atacantes, ya que obtener acceso incluso a un usuario con privilegios bajos puede otorgar acceso a muchos objetos y recursos, y permitir una enumeración detallada de todo el domain (o forest).

Contacts

Un contact object generalmente se utiliza para representar a un usuario externo y contiene attributes informativos como nombre, apellido, dirección de correo electrónico, número de teléfono, etc. Son leaf objects y no son security principals (objetos seguros), por lo que no tienen un SID, solo un GUID. Un ejemplo sería una tarjeta de contacto para un proveedor externo o un cliente.

Printers

Un printer object apunta a una impresora accesible dentro de la red de AD. Al igual que un contact, una impresora es un leaf object y no es un security principal, por lo que solo tiene un GUID. Las impresoras tienen attributes como el nombre de la impresora, información del driver, número de puerto, etc.

Computers

Un computer object es cualquier computadora unida a la red de AD (workstation o server). Las computadoras son leaf objects porque no contienen otros objetos. Sin embargo, se consideran security principals y tienen un SID y un GUID. Al igual que los usuarios, son objetivos principales para los atacantes, ya que el acceso administrativo completo a una computadora (como la cuenta todopoderosa NT AUTHORITY\SYSTEM) otorga derechos similares a los de un usuario de domain estándar y se puede utilizar para realizar la mayoría de las tareas de enumeración que una cuenta de usuario puede hacer (con algunas excepciones en trusts de domain).

Shared Folders

Un shared folder object apunta a una carpeta compartida en la computadora específica donde reside la carpeta. Las shared folders pueden tener un control de acceso estricto y pueden ser accesibles para todos (incluso aquellos sin una cuenta válida de AD), abiertas solo para usuarios autenticados (lo que significa que cualquiera con una cuenta de usuario con privilegios bajos o una cuenta de computadora (NT AUTHORITY\SYSTEM) podría acceder), o estar restringidas para permitir el acceso solo a ciertos usuarios/grupos. Cualquiera que no tenga acceso explícito será denegado para listar o leer su contenido. Las shared folders no son security principals y solo tienen un GUID. Los atributos de una carpeta compartida pueden incluir el nombre, ubicación en el sistema, y derechos de acceso de seguridad.

Groups

Un grupo se considera un container object porque puede contener otros objetos, incluidos usuarios, computadoras e incluso otros grupos. Un grupo se considera un security principal y tiene un SID y un GUID. En AD, los grupos son una forma de gestionar los permisos de usuario y el acceso a otros objetos seguros (tanto usuarios como computadoras). Supongamos que queremos dar acceso a 20 usuarios de help desk al grupo de Remote Management Users en un jump host. En lugar de agregar a los usuarios uno por uno, podríamos agregar el grupo, y los usuarios heredarían los permisos deseados a través de su pertenencia al grupo. En Active Directory, comúnmente vemos lo que se llama "nested groups" (un grupo agregado como miembro de otro grupo), lo que puede llevar a que un usuario(s) obtenga derechos no intencionados. La pertenencia a nested groups es algo que vemos y a menudo aprovechamos durante penetration tests. La herramienta BloodHound ayuda a descubrir rutas de ataque dentro de una red y a ilustrarlas en una interfaz gráfica. Es excelente para auditar la membresía de grupos y descubrir/ver los impactos a veces no intencionados de la pertenencia a nested groups. Los grupos en AD pueden tener muchos atributos, siendo los más comunes el nombre, la descripción, la membresía y otros grupos a los que pertenece el grupo. Se pueden establecer muchos otros atributos, los cuales discutiremos más a fondo más adelante en este módulo.

Organizational Units (OUs)

Una organizational unit, o OU a partir de ahora, es un container que los administradores de sistemas pueden utilizar para almacenar objetos similares para facilitar la administración. Las OUs se utilizan a menudo para la delegación administrativa de tareas sin otorgar a una cuenta de usuario derechos administrativos completos. Por ejemplo, podríamos tener una OU de nivel superior llamada Employees y luego OUs hijas bajo ella para los diversos departamentos como Marketing, HR, Finance, Help Desk, etc. Si una cuenta tuviera el derecho de restablecer contraseñas sobre la OU de nivel superior, este usuario tendría el derecho de restablecer contraseñas para todos los usuarios de la empresa. Sin embargo, si la estructura de OU fuera tal que departamentos específicos fueran OUs hijas de la OU de Help Desk, entonces cualquier usuario colocado en la OU de Help Desk tendría este derecho delegado si se le otorgara. Otras tareas que se pueden delegar a nivel de OU incluyen la creación/eliminación de usuarios, la modificación de la membresía de grupos, la gestión de enlaces de Group Policy, y la realización de restablecimientos de contraseñas. Las OUs son muy útiles para gestionar las configuraciones de Group Policy (que estudiaremos más adelante en este módulo) en un subconjunto de usuarios y grupos dentro de un domain. Por ejemplo, podríamos querer establecer una política de contraseñas específica para cuentas de servicio privilegiadas, por lo que estas cuentas podrían colocarse en una OU particular y luego asignar un Group Policy object, que aplicaría esta política de contraseñas a todas las cuentas colocadas dentro de ella. Algunos atributos de las OUs incluyen su nombre, miembros, configuraciones de seguridad y más.

Domain

Un domain es la estructura de una red de AD. Los domains contienen objetos como usuarios y computadoras, que están organizados en container objects: grupos y OUs. Cada domain tiene su propia base de datos separada y conjuntos de políticas que se pueden aplicar a todos y cada uno de los objetos dentro del domain. Algunas políticas se establecen por defecto (y se pueden ajustar), como la política de contraseñas del domain. Mientras que otras se crean y aplican en función de las necesidades de la organización, como bloquear el acceso a cmd.exe para todos los usuarios no administrativos o mapear unidades compartidas al iniciar sesión.

Domain Controllers

Los Domain Controllers son esencialmente el cerebro de una red de AD. Manejan solicitudes de autenticación, verifican usuarios en la red y controlan quién puede acceder a los diversos recursos en el domain. Todas las solicitudes de acceso son validadas a través del Domain Controller y las solicitudes de acceso privilegiado se basan en roles predefinidos asignados a los usuarios. También hacen cumplir las políticas de seguridad y almacenan información sobre todos los demás objetos en el domain.

Sites

Un site en AD es un conjunto de computadoras en una o más subnets conectadas utilizando enlaces de alta velocidad. Se utilizan para que la replicación entre Domain Controllers se realice de manera eficiente.

Built-in

En AD, built-in es un container que contiene default groups en un domain de AD. Se definen por defecto cuando se crea un domain de AD.

Foreign Security Principals

Un foreign security principal (FSP) es un objeto creado en AD para representar un security principal que pertenece a un forest externo de confianza. Se crean cuando se agrega un objeto como un usuario, grupo o computadora de un forest externo (fuera del actual) a un grupo en el domain actual. Se crean automáticamente después de agregar un security principal a un grupo. Cada foreign security principal es un objeto marcador de posición que contiene el SID del objeto externo (un objeto que pertenece a otro forest). Windows utiliza este SID para resolver el nombre del objeto a través de la relación de confianza. Los FSPs se crean en un container específico llamado ForeignSecurityPrincipals con un distinguished name como cn=ForeignSecurityPrincipals,dc=inlanefreight,dc=local.