diff --git a/Sharphound2/Enumeration/ACLHelpers.cs b/Sharphound2/Enumeration/ACLHelpers.cs index d96135e..fd4ae5f 100644 --- a/Sharphound2/Enumeration/ACLHelpers.cs +++ b/Sharphound2/Enumeration/ACLHelpers.cs @@ -545,6 +545,32 @@ public static void GetObjectAces(SearchResultEntry entry, ResolvedEntry resolved continue; } + if (rights.HasFlag(ActiveDirectoryRights.GenericWrite) || rights.HasFlag(ActiveDirectoryRights.WriteProperty)) + { + if (rights.HasFlag(ActiveDirectoryRights.GenericWrite) && + (objectAceType == AllGuid || objectAceType == "")) + { + aces.Add(new ACL + { + AceType = "", + RightName = "GenericWrite", + PrincipalName = principal.PrincipalName, + PrincipalType = principal.ObjectType + }); + } + else if (rights.HasFlag(ActiveDirectoryRights.WriteProperty) && + (objectAceType == AllGuid || objectAceType == "")) + { + aces.Add(new ACL + { + AceType = "", + RightName = "GenericWrite", + PrincipalName = principal.PrincipalName, + PrincipalType = principal.ObjectType + }); + } + } + if (rights.HasFlag(ActiveDirectoryRights.WriteDacl)) { aces.Add(new ACL