Abusing ACLs and GPOs
GenericAll
On User
If we have some form of GenericAll on a user, we can simply reset the password of this user without knowing their current password
On Group
For Groups, we can just add our current user into the group and then be able to gain more privileges that way.
GenericAll / GenericWrite on Computer
If we have privileges over an object, we can opt to either abuse this ACL or use Kerberos Resource-Based Constrained Delegation.
GenericWrite on User
With this, we are able to chagne the Script-Path of the logon script of the user. In short, whenever we login to Windows, there is a .bat file or something with a ton of commands in there that are executed. This can be modified, and we could gain a reverse shell everytime a user logs in, for example.
WriteProperty on Group
Since our compromised user is able to write the group, we can add any user we want into the group.
ForceChangePassword
With PowerView, we can force a change of another user's password, or we can try to convert the password to a secure string and then be able to change it from there
WriteOwner on Group
If we have WriteOwner on a Group, then we can simply change the ownership of this group to someone else.
Once we are the owner of the group, we can simply add whoever we want to this group.
WriteDACL + WriteOwner
With these two privileges over a group, we are able to change our privileges to whatever we want. Obviously the best is the GenericAll privilege.
Self-Membership
Attackers can add whoever they want into the group.
GPO Abuse
Suppose there are weak permissions over the domain GPOs, and we can edit them. GPOs typically have some kind of script that is consistenly running on a system, like a cronjob. We can change these to execute commands as the SYSTEM user, which normally runs GPOs as well.
These use PowerView, or the SharpGPOAbuse.exe binary.
DCSync Attacks
This attack would simulate the behaviour of the Domain Controller and asks the other DCs to copy information. The function for DCs to copy information from one another is critical to daily operations, and hence cannot be turned off.
Once identified, we are able to either exploit it locally or remotely:
Mitigations
Check Privileges
Ensure that the privileges are not assigned, and only to users that need it
Password Complexity
Change passwords every so often, and make sure that accounts with high privileges don't have something stupid like your birthday as a password.
Update Domain Software
A little hard, but still needed. Most of the time, these privileges aren't checked and monitored too often, and some companies tend to start using the AD network out of the box. It is key to keep the system updated, as Microsoft would frequently change the default permissions on objects and policies within the domain