Find all domain objects that our user hash rights over
Based on the GUID above, we can google or use this command
Using the steps above is inefficient so we use this command below that has the -ResolveGUIDs flag
Using the -ResolveGUIDs Flag
We can do the steps above using Get-Acl and GetADUser cmdlets
Creating a List of Domain Users
A Useful foreach Loop
Further Enumeration of Rights Using damundsen
Now we can see that our user damundsen has GenericWrite privileges over the Help Desk Level 1 group. This means, among other things, that we can add any user (or ourselves) to this group and inherit any rights that this group has applied to it. A search for rights conferred upon this group does not return anything interesting.
Let's look and see if this group is nested into any other groups, remembering that nested group membership will mean that any users in group A will inherit all rights of any group that group A is nested into (a member of). A quick search shows us that the Help Desk Level 1 group is nested into the Information Technology group, meaning that we can obtain any rights that the Information Technology group grants to its members if we just add ourselves to the Help Desk Level 1 group where our user damundsen has GenericWrite privileges.
Investigating the Help Desk Level 1 Group with Get-DomainGroup
Let's recap where we're at:
We have control over the user wley whose hash we retrieved earlier in the module (assessment) using Responder and cracked offline using Hashcat to reveal the cleartext password value
We enumerated objects that the user wley has control over and found that we could force change the password of the user damundsen
From here, we found that the damundsen user can add a member to the Help Desk Level 1 group using GenericWrite privileges
The Help Desk Level 1 group is nested into the Information Technology group, which grants members of that group any rights provisioned to the Information Technology group
Now let's look around and see if members of Information Technology can do anything interesting. Once again, doing our search using Get-DomainObjectACL shows us that members of the Information Technology group have GenericAll rights over the user adunn, which means we could:
Modify group membership
Force change a password
Perform a targeted Kerberoasting attack and attempt to crack the user's password if it is weak
Investigating the Information Technology Group
Finally, let's see if the adunn user has any type of interesting access that we may be able to leverage to get closer to our goal.
Looking for Interesting Access
The output above shows that our adunn user has DS-Replication-Get-Changes and DS-Replication-Get-Changes-In-Filtered-Set rights over the domain object. This means that this user can be leveraged to perform a DCSync attack
Enumerating ACLs with Bloodhound
Set the wley user as our starting node, select the Node Info tab and scroll down to Outbound Control Rights. This option will show us objects we have control over directly, via group membership, and the number of objects that our user could lead to us controlling via ACL attack paths under Transitive Object Control.
If we click on the 1 next to First Degree Object Control, we see the first set of rights that we enumerated, ForceChangePassword over the damundsen user.
Viewing Node Info through BloodHound
image
If we right-click on the line between the two objects, a menu will pop up. If we select Help, we will be presented with help around abusing this ACE, including:
More info on the specific right, tools, and commands that can be used to pull off this attack
Operational Security (Opsec) considerations
External references.
Investigating ForceChangePassword Further
image
If we click on the 16 next to Transitive Object Control, we will see the entire path that we painstakingly enumerated above. From here, we could leverage the help menus for each edge to find ways to best pull off each attack.
Viewing Potential Attack Paths through BloodHound
image
Finally, we can use the pre-built queries in BloodHound to confirm that the adunn user has DCSync rights.