Utilizando PowerView

Enumeracion de GPO con PowerView:

El siguiente comando entrega todas las GPO utilizando una GPO:

PS C:\Users\admin\Desktop> Get-NetGPO | %{Get-ObjectAcl -ResolveGUIDs -Name $_.Name}

AceType               : AccessAllowed
ObjectDN              : CN={6AC1786C-016F-11D2-945F-00C04fB984F9},CN=Policies,CN=System,DC=spartancybersec,DC=corp
ActiveDirectoryRights : CreateChild, DeleteChild, ReadProperty, WriteProperty, GenericExecute
OpaqueLength          : 0
ObjectSID             :
InheritanceFlags      : ContainerInherit
BinaryLength          : 36
IsInherited           : False
IsCallback            : False
PropagationFlags      : None
SecurityIdentifier    : S-1-5-21-1861162130-2580302541-221646211-1121
AccessMask            : 131127
AuditFlags            : None
AceFlags              : ContainerInherit
AceQualifier          : AccessAllowed

Análisis Técnico de la ACE

  1. AceType: AccessAllowed

    • Esta ACE otorga permisos en lugar de denegarlos. Indica que las acciones especificadas están permitidas para el sujeto identificado por el SecurityIdentifier.

  2. ObjectDN

    • CN={6AC1786C-016F-11D2-945F-00C04fB984F9},CN=Policies,CN=System,DC=spartancybersec,DC=corp es el Distinguished Name del objeto de política de grupo (GPO) al que se aplica esta ACE. Este nombre único identifica la GPO dentro del dominio spartancybersec.corp.

  3. ActiveDirectoryRights

    • Los derechos asignados incluyen CreateChild, DeleteChild, ReadProperty, WriteProperty, y GenericExecute.

      • CreateChild y DeleteChild: Permiten crear o eliminar objetos hijos dentro del contexto de esta GPO.

      • ReadProperty y WriteProperty: Permiten leer y modificar las propiedades de la GPO.

      • GenericExecute: Permite ejecutar acciones genéricas, aunque este permiso puede necesitar interpretación adicional según el contexto.

  4. SecurityIdentifier

    • S-1-5-21-1861162130-2580302541-221646211-1121 representa al usuario o grupo al que se aplican estos permisos. Este SID necesita ser resuelto para identificar al sujeto específico dentro del dominio.

  5. InheritanceFlags: ContainerInherit

    • Indica que esta ACE se hereda a los objetos contenedores dentro de la GPO. Es relevante para entender cómo se propagan los permisos a través de las políticas.

  6. AccessMask: 131127

    • Es una representación numérica de los permisos específicos otorgados, útil para interpretaciones programáticas o de scripts.

  7. AuditFlags y AceFlags

    • AuditFlags: None indica que no hay configuraciones específicas de auditoría asociadas con esta ACE.

    • AceFlags: ContainerInherit reafirma la herencia de contenedor de esta ACE.

Implicaciones en Seguridad

  • Análisis de Riesgo: La presencia de derechos como WriteProperty y CreateChild en una GPO es significativa, ya que las GPOs afectan a múltiples usuarios y máquinas en un dominio. La capacidad de modificar una GPO puede llevar a cambios en la configuración de seguridad o políticas operativas a lo largo de toda la red.

  • Punto de Explotación Potencial: Un atacante que gana control sobre una cuenta con estos derechos en una GPO podría potencialmente implementar cambios perjudiciales o maliciosos en la política de grupo, afectando a todo el dominio.

Si realizamos una conversion de SID, podemos apreciar que corresponde al usuario:

PS C:\> $sid = New-Object System.Security.Principal.SecurityIdentifier("S-1-5-21-1861162130-2580302541-221646211-1121")
PS C:\> $user = $sid.Translate([System.Security.Principal.NTAccount])
PS C:\> $user.Value
SPARTANCYBERSEC\gpowrite.user

Última actualización