GenericAll
During the BloodHound enumeration, it was identified that the
l.livingstone
user has the GenericAll privilege over the ResouceDC.resourced.local
host
┌──(kali㉿kali)-[~/PEN-200/PG_PRACTICE/resourced]
└─$ KRB5CCNAME=l.livingstone@ResourceDC.resourced.local.ccache bloodyAD -d RESOURCED.LOCAL -k --host ResourceDC.resourced.local --dc-ip $IP get writable
distinguishedName: CN=S-1-5-11,CN=ForeignSecurityPrincipals,DC=resourced,DC=local
permission: WRITE
distinguishedName: CN=RESOURCEDC,OU=Domain Controllers,DC=resourced,DC=local
permission: CREATE_CHILD; WRITE
OWNER: WRITE
DACL: WRITE
distinguishedName: CN=RID Set,CN=RESOURCEDC,OU=Domain Controllers,DC=resourced,DC=local
permission: WRITE
OWNER: WRITE
DACL: WRITE
distinguishedName: CN=DFSR-LocalSettings,CN=RESOURCEDC,OU=Domain Controllers,DC=resourced,DC=local
permission: CREATE_CHILD; WRITE
OWNER: WRITE
DACL: WRITE
distinguishedName: CN=Domain System Volume,CN=DFSR-LocalSettings,CN=RESOURCEDC,OU=Domain Controllers,DC=resourced,DC=local
permission: CREATE_CHILD; WRITE
OWNER: WRITE
DACL: WRITE
distinguishedName: CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=RESOURCEDC,OU=Domain Controllers,DC=resourced,DC=local
permission: WRITE
OWNER: WRITE
DACL: WRITE
distinguishedName: CN=L.Livingstone,CN=Users,DC=resourced,DC=local
permission: WRITE
This can be confirmed using bloodyAD
Exploit
GenericAll to a computer object usually leads to Resource-Based Constrained Delegation.
In the current context, that computer object happens to be the DC host.
Given the l.livingstone
user currently has a WinRM session, I can exploit it both locally and remotely
Moving on to the Privilege Escalation phase