- Limitations
- Authentification
- Transport
- Outputs
- Modules
- Arguments
- List of attributes
- ACE right names (edges)
- Divergences to review
Not all SharpHound features have been implemented. Some exist in
rusthound-ceand not in SharpHound or BloodHound-Python. Please refer to the roadmap for more information.
Attribute-by-attribute compatibility baseline for rusthound-ce against SharpHound v2.17.1.0 (20261105), using collections from ESSOS.LOCAL on 2026-11-05. The 13 pre-existing object-type scores remain from the SharpHound v2.16.0.0 comparison on 2026-09-30 (after SAMR LocalGroups #69, SMB WebClient #72, and MS-RRP CA flags #97); they have not yet been revalidated field-by-field against v2.17.1.0. The three new Site object types are based on the v2.17.1.0 JSON outputs.
Counts every checkbox of the List of attributes section, including nested sub-fields.
| Object | Attributes | ✅ Implemented | 🔴 Missing | Compatibility |
|---|---|---|---|---|
| RootCA | 28 | 27 | 1 | ██████████ 96.4% |
| Gpo | 25 | 24 | 1 | ██████████ 96.0% |
| NtAuthStore | 24 | 23 | 1 | ██████████ 95.8% |
| CertTemplate | 47 | 45 | 2 | ██████████ 95.7% |
| User | 70 | 67 | 3 | ██████████ 95.7% |
| OU | 34 | 32 | 2 | █████████░ 94.1% |
| Group | 32 | 30 | 2 | █████████░ 93.8% |
| AIACA | 30 | 28 | 2 | █████████░ 93.3% |
| Container | 26 | 24 | 2 | █████████░ 92.3% |
| Domain | 55 | 50 | 5 | █████████░ 90.9% |
| IssuancePolicies | 27 | 24 | 3 | █████████░ 88.9% |
| EnterpriseCA | 70 | 62 | 8 | █████████░ 88.6% |
| Computer | 119 | 86 | 33 | ███████░░░ 72.3% |
| Site | 27 | 25 | 2 | █████████░ 92.6% |
| SiteServer | 26 | 25 | 1 | ██████████ 96.2% |
| SiteSubnet | 25 | 24 | 1 | ██████████ 96.0% |
| Total | 665 | 596 | 69 | █████████░ 89.6% |
The new Site object types are now exported. Their attribute coverage is high, but full ACE parity and inherited ACE hashes are still pending. Among the existing object types, the lowest scores come from remote collection rather than LDAP parsing.
LocalGroupsis now collected over SAMR (#69) andIsWebClientRunningover SMB (#72);Computeris still pulled down byNTLMRegistryData,SmbInfoandDCRegistryData, andEnterpriseCAbyCARegistryData:EnrollmentAgentRestrictions(the CA registry flags are now read over MS-RRP). Those remaining remote attributes require RPC/SMB access to the hosts.
- LDAP (389) ✅
- LDAPS (636) ✅
-
BIND✅ -
NTLMPass-The-Hash ✅ -
Kerberos✅ -
PFX,PEMPass-The-Certificate ✅ - Prompt for password ✅
- LDAP / LDAPS (default) via ldap3 ✅
- ADWS / SOAP over TCP 9389 (
--transport soap), via adws-
DirectoryTransporttrait abstracting the directory read (naming contexts + paged search with SD-flags) ✅ - LDAP implementation (existing behaviour behind the trait) ✅
- ADWS implementation (adws,
SearchEntry=>LdapSearchEntry) ✅ - Parity validation LDAP vs SOAP (object + ACE counts per NC) ✅
-
--transport soapor-t adwsmoves only the directory collection onto ADWS (users, groups, computers, OUs, GPO objects, ACLs, AD CS). The RPC/SMB modules (Session, LocalGroup, SYSVOL GPO, WebClient, CARegistry) keep their own protocols, if you want you can only use ADWS (SOAP) with collection method named-c SOAPOnly.
- users.json ✅
- groups.json ✅
- computers.json ✅
- ous.json ✅
- gpos.json ✅
- containers.json ✅
- domains.json ✅
- aiacas.json ✅
- rootcas.json ✅
- enterprisecas.json ✅
- certtemplates.json ✅
- issuancepolicies.json ✅
- ntauthstores.json ✅
- sites.json ✅ 🆕
- siteservers.json ✅ 🆕
- sitesubnets.json ✅ 🆕
- all.zip ✅
- Retreive LAPS password if your user can read them automatic ✅
- Retreive LAPSv2 password if your user can read them automatic 🔴
- Resolve FQDN computers found to IP address --fqdn-resolver ✅
- Session-collection feature, enumerates active sessions over three native RPC paths (SRVSVC, WKSSVC, WINREG) ✅
- GPO-based collection from SYSVOL, reads
GptTmpl.infandGroups.xml, GPOChanges (LocalAdmins / RemoteDesktopUsers / DcomUsers / PSRemoteUsers) ✅ - Local group enumeration over SAMR (
LocalGroups, feedsAdminTo/CanRDP/CanPSRemote/ExecuteDCOM) ✅ 🆕 - Remote registry collection over MS-RRP (
\winregover SMB) 🔴 🆕-
CARegistryData(IsUserSpecifiesSanEnabled, RoleSeparationEnabled; EnrollmentAgentRestrictions pending) 🆕 -
DCRegistryData(CertificateMappingMethods, StrongCertificateBindingEnforcement, VulnerableNetlogonSecurityDescriptor) -
NTLMRegistryData(LmCompatibilityLevel, SMB signing, NtlmMinSec, RestrictNtlmTraffic, …)
-
- SMB signing probe (
SmbInfo) 🔴 🆕 - WebClient/WebDAV service probe (
IsWebClientRunning, prerequisite for ESC8 / coercion paths) ✅ - HTTP enrollment endpoints probe (
HttpEnrollmentEndpoints, ADCS web enrollment over HTTP/HTTPS/EPA) ✅
🆕 Planned. A shared SMB / RPC collection option group that paces and bounds every machine-contacting module. These flags MUST be consumed by all scan modules,
Session,LocalGroup,WebClient,CARegistryand the future MS-RRP registry collectors, instead of the per-module constants hard-coded today.
- Multi-value
-c/CollectionMethods🔴 🆕 accept several collection methods at once, comma-separated or repeated (-c LocalGroup,WebClientor-c LocalGroup -c WebClient). Replaces the single-valueCollectionMethodenum with aCollectionMethodsset;DCOnly/LdapOnlystay dominant no-machine scopes that suppress every member-machine collector even when combined. Today-ctakes a single value (Allis the only way to run several collectors together). -
--workers🔴 🆕 max concurrent in-flight SMB sessions (bounded stream), default 50. Replaces the per-moduleDEFAULT_CONCURRENCY -
--throttle🔴 🆕 base delay before each SMB/RPC connection, ms (SharpHound--Throttle), default 0 -
--jitter🔴 🆕 random extra delay added on top of--throttle, ms (SharpHound--Jitter), default 0 -
--smb-timeout🔴 🆕 TCP/445 reachability pre-check timeout, ms, default 1000. ReplacesDEFAULT_PORT_TIMEOUT_MS -
--host-timeout🔴 🆕 whole per-host budget (connect + auth + probe), ms, default 8000. ReplacesDEFAULT_HOST_TIMEOUT_MS -
--computer-expiry-days🔴 🆕 only probe computers whosepwdLastSetis within N days (SharpHoundComputerExpiryDays), default 60, replacesDEFAULT_EXPIRY_DAYS -
--opsec🔴 🆕 stealth preset: shuffles target order, lowers--workers, adds--throttle/--jitter(without overriding values set explicitly on the CLI)
Centralising these in a single
SmbOptionsstruct (new.next_help_heading("SMB / RPC COLLECTION")block inargs.rs) removes the duplicatedDEFAULT_CONCURRENCY/DEFAULT_PORT_TIMEOUT_MS/DEFAULT_HOST_TIMEOUT_MS/DEFAULT_EXPIRY_DAYSconstants currently living insession,localgroupandwebclient, and lets the operator trade speed for stealth across the whole collection at once.
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:highvalue✅ (dropped from BloodHound CE, candidate for removal) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:netbios🔴 🆕 -
Properties:expirepasswordsonsmartcardonlyaccounts✅ -
Properties:machineaccountquota✅ -
Properties:minpwdlength✅ -
Properties:pwdproperties✅ -
Properties:pwdhistorylength✅ -
Properties:lockoutthreshold✅ -
Properties:minpwdage✅ -
Properties:maxpwdage✅ -
Properties:lockoutduration✅ -
Properties:lockoutobservationwindow✅ -
Properties:functionallevel✅ -
Properties:dsheuristics✅ -
Properties:collected✅ -
GPOChanges:LocalAdmins✅ -
GPOChanges:RemoteDesktopUsers✅ -
GPOChanges:DcomUsers✅ -
GPOChanges:PSRemoteUsers✅ -
GPOChanges:AffectedComputers✅ -
ChildObjects:ObjectIdentifier✅ -
ChildObjects:ObjectType✅ -
Trusts:TargetDomainSid✅ -
Trusts:TargetDomainName✅ -
Trusts:IsTransitive✅ -
Trusts:SidFilteringEnabled✅ -
Trusts:TGTDelegationEnabled🔴 -
Trusts:TrustAttributes✅ -
Trusts:TrustDirection✅ -
Trusts:TrustType✅ -
Links:GUID✅ -
Links:IsEnforced✅ -
InheritanceHashes🔴 🆕 -
ForestRootIdentifier🔴 🆕 -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy✅ (nullon the domain root, same as SharpHound)
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:highvalue✅ (dropped from BloodHound CE, candidate for removal) -
Properties:description✅ -
Properties:whencreated✅ -
Properties:samaccountname✅ -
Properties:haslaps✅ -
Properties:enabled✅ -
Properties:unconstraineddelegation✅ -
Properties:trustedtoauth✅ -
Properties:lastlogon✅ -
Properties:lastlogontimestamp✅ -
Properties:pwdlastset✅ -
Properties:pwdneverexpires✅ -
Properties:passwordnotreqd✅ -
Properties:serviceprincipalnames✅ -
Properties:operatingsystem✅ -
Properties:supportedencryptiontypes✅ -
Properties:sidhistory✅ -
Properties:useraccountcontrol✅ -
Properties:isdc✅ -
Properties:isreadonlydc✅ -
Properties:admincount✅ -
Properties:adminsdholderprotected✅ (derived fromadminCount, matches SharpHound on the test domain) -
Properties:lockedout✅ -
Properties:passwordexpired✅ -
Properties:usedeskeyonly✅ -
Properties:encryptedtextpwdallowed✅ -
Properties:logonscriptenabled✅ -
Properties:email✅ -
Properties:ldapavailable🔴 🆕 -
Properties:ldapsavailable🔴 🆕 -
Properties:ldapsigning🔴 🆕 -
Properties:ldapsepa🔴 🆕 -
PrimaryGroupSID✅ -
AllowedToDelegate:ObjectIdentifier✅ -
AllowedToDelegate:ObjectType✅ -
AllowedToAct:ObjectIdentifier✅ -
AllowedToAct:ObjectType✅ -
HasSIDHistory:ObjectIdentifier✅ -
HasSIDHistory:ObjectType✅ -
DumpSMSAPassword🔴 (key is emitted but always empty) -
Sessions:Results:UserSID✅ -
Sessions:Results:ComputerSID✅ -
Sessions:Collected✅ -
Sessions:FailureReason✅ -
PrivilegedSessions:Results✅ -
PrivilegedSessions:Collected✅ -
PrivilegedSessions:FailureReason✅ -
RegistrySessions:Results✅ (read over MS-RRP; password or NT hash only) -
RegistrySessions:Collected✅ -
RegistrySessions:FailureReason✅ -
LocalGroups✅ (collected over SAMR BUILTIN aliases)-
LocalGroups:Name✅ 🆕 -
LocalGroups:ObjectIdentifier✅ 🆕 -
LocalGroups:Results:ObjectIdentifier✅ 🆕 -
LocalGroups:Results:ObjectType✅ 🆕 -
LocalGroups:LocalNames✅ 🆕 -
LocalGroups:Collected✅ 🆕 -
LocalGroups:FailureReason✅ 🆕
-
-
UserRights:Privilege✅ -
UserRights:Results:ObjectIdentifier✅ -
UserRights:Results:ObjectType✅ -
UserRights:LocalNames✅ (emitted but always empty, rebuilt fromGptTmpl.inf) -
UserRights:Collected✅ -
UserRights:FailureReason✅ -
DCRegistryData🔴 need RPC call and GetRegistryKeyData src Helper.cs, the keys are emitted as a rawnullinstead of the{Collected, FailureReason, Value}wrapper-
CertificateMappingMethods:Value🔴 -
CertificateMappingMethods:Collected🔴 -
CertificateMappingMethods:FailureReason🔴 -
StrongCertificateBindingEnforcement:Value🔴 -
StrongCertificateBindingEnforcement:Collected🔴 -
StrongCertificateBindingEnforcement:FailureReason🔴 -
VulnerableNetlogonSecurityDescriptor:Value🔴 🆕 -
VulnerableNetlogonSecurityDescriptor:Collected🔴 🆕 -
VulnerableNetlogonSecurityDescriptor:FailureReason🔴 🆕
-
-
NTLMRegistryData🔴 🆕-
Result:LmCompatibilityLevel🔴 🆕 -
Result:RestrictSendingNtlmTraffic🔴 🆕 -
Result:RestrictReceivingNtlmTraffic🔴 🆕 -
Result:NtlmMinClientSec🔴 🆕 -
Result:NtlmMinServerSec🔴 🆕 -
Result:RequireSecuritySignature🔴 🆕 -
Result:EnableSecuritySignature🔴 🆕 -
Result:ClientAllowedNTLMServers🔴 🆕 -
Result:UseMachineId🔴 🆕 -
Collected🔴 🆕 -
FailureReason🔴 🆕
-
-
SmbInfo🔴 🆕-
Result:SigningEnabled🔴 🆕 -
Collected🔴 🆕 -
FailureReason🔴 🆕
-
-
IsWebClientRunning✅ 🆕-
Result✅ 🆕 -
Collected✅ 🆕 -
FailureReason✅ 🆕
-
-
NtlmSessions🔴 🆕 -
Status✅ -
IsDC✅ -
UnconstrainedDelegation✅ -
DomainSID✅ -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:highvalue✅ (dropped from BloodHound CE, candidate for removal) -
Properties:samaccountname✅ -
Properties:description✅ -
Properties:whencreated✅ -
Properties:sensitive✅ -
Properties:dontreqpreauth✅ -
Properties:passwordnotreqd✅ -
Properties:unconstraineddelegation✅ -
Properties:pwdneverexpires✅ -
Properties:enabled✅ -
Properties:trustedtoauth✅ -
Properties:lastlogon✅ -
Properties:lastlogontimestamp✅ -
Properties:pwdlastset✅ -
Properties:serviceprincipalnames✅ -
Properties:hasspn✅ -
Properties:displayname✅ -
Properties:email✅ -
Properties:title✅ -
Properties:homedirectory✅ -
Properties:userpassword✅ -
Properties:unixpassword✅ -
Properties:unicodepassword✅ -
Properties:sfupassword✅ -
Properties:logonscript✅ -
Properties:useraccountcontrol✅ -
Properties:profilepath✅ -
Properties:admincount✅ -
Properties:supportedencryptiontypes✅ -
Properties:sidhistory✅ -
Properties:allowedtodelegate✅ -
Properties:adminsdholderprotected✅ -
Properties:lockedout✅ -
Properties:passwordexpired✅ -
Properties:passwordcantchange🔴 🆕 (not exposed inuserAccountControl, verified on ESSOS; lives in the DACL as two deniedChange PasswordACEs) -
Properties:smartcardrequired✅ -
Properties:usedeskeyonly✅ -
Properties:encryptedtextpwdallowed✅ -
Properties:logonscriptenabled✅ -
Properties:reconcile🔴 🆕 (emitted by SharpHound on well-known / unresolved principals) -
PrimaryGroupSID✅ -
AllowedToDelegate:ObjectIdentifier✅ -
AllowedToDelegate:ObjectType✅ -
UnconstrainedDelegation✅ -
HasSIDHistory:ObjectIdentifier✅ -
HasSIDHistory:ObjectType✅ -
SPNTargets:ComputerSID✅ -
SPNTargets:Port✅ -
SPNTargets:Service✅ -
DomainSID✅ -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:highvalue✅ (dropped from BloodHound CE, candidate for removal) -
Properties:samaccountname✅ -
Properties:description✅ -
Properties:whencreated✅ -
Properties:admincount✅ -
Properties:groupscope✅ -
Properties:sidhistory✅ -
Properties:adminsdholderprotected✅ -
Properties:reconcile🔴 🆕 (emitted by SharpHound on well-known / unresolved principals) -
Members:ObjectIdentifier✅ -
Members:ObjectType✅ -
HasSIDHistory✅ -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:highvalue✅ (dropped from BloodHound CE, candidate for removal) -
Properties:description✅ -
Properties:whencreated✅ -
Properties:blocksinheritance✅ -
GPOChanges:LocalAdmins✅ -
GPOChanges:RemoteDesktopUsers✅ -
GPOChanges:DcomUsers✅ -
GPOChanges:PSRemoteUsers✅ -
GPOChanges:AffectedComputers✅ -
Links:GUID✅ -
Links:IsEnforced✅ -
ChildObjects:ObjectIdentifier✅ -
ChildObjects:ObjectType✅ -
InheritanceHashes🔴 🆕 -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:highvalue✅ (dropped from BloodHound CE, candidate for removal) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:gpcpath✅ -
Properties:gpostatus✅ -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:highvalue✅ (dropped from BloodHound CE, candidate for removal) -
Properties:description✅ -
Properties:whencreated✅ -
ChildObjects:ObjectIdentifier✅ -
ChildObjects:ObjectType✅ -
InheritanceHashes🔴 🆕 -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:displayname✅ -
Properties:certtemplateoid✅ -
Properties:oidgrouplink✅ (when the linked group is in the collected domain) -
GroupLink:ObjectIdentifier✅ (when the linked group is in the collected domain, elsenull) -
GroupLink:ObjectType✅ (when the linked group is in the collected domain, elseBase) -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier🔴 (emitted asnull; SharpHound resolves it on all policies) -
ContainedBy:ObjectType🔴
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:certthumbprints✅ -
DomainSID✅ (not emitted by SharpHound) -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:crosscertificatepair🔴 What value should be added to the output? (x509 cert) -
Properties:hascrosscertificatepair✅ -
Properties:certthumbprint✅ -
Properties:certname✅ -
Properties:certchain✅ -
Properties:hasbasicconstraints✅ -
Properties:basicconstraintpathlength✅ -
DomainSID✅ (not emitted by SharpHound) -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:certthumbprint✅ -
Properties:certname✅ -
Properties:certchain✅ -
Properties:hasbasicconstraints✅ -
Properties:basicconstraintpathlength✅ -
DomainSID✅ (not emitted by SharpHound) -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:flags🔴 (key is emitted but always an empty string) -
Properties:caname✅ -
Properties:dnshostname✅ -
Properties:certthumbprint✅ -
Properties:certname✅ -
Properties:certchain✅ -
Properties:hasbasicconstraints✅ -
Properties:basicconstraintpathlength✅ -
Properties:unresolvedpublishedtemplates🔴 -
Properties:casecuritycollected✅ -
Properties:enrollmentagentrestrictionscollected🔴 linked to RPC forCARegistryData:EnrollmentAgentRestrictions(currently hardcoded tofalse) -
Properties:isuserspecifiessanenabledcollected✅ set from the MS-RRP read ofCARegistryData:IsUserSpecifiesSanEnabled -
Properties:roleseparationenabledcollected✅ set from the MS-RRP read ofCARegistryData:RoleSeparationEnabled -
HostingComputer✅ -
EnabledCertTemplates:ObjectIdentifier✅ -
EnabledCertTemplates:ObjectType✅ -
CARegistryData:CASecurity✅ (rebuilt from the LDAP DACL instead of the remote registry)-
Data:PrincipalSID✅ -
Data:PrincipalType✅ -
Data:RightName✅ -
Data:IsInherited✅ -
Data:InheritanceHash✅ -
Data:IsPermissionForOwnerRightsSid✅ -
Data:IsInheritedPermissionForOwnerRightsSid✅ -
Collected✅ -
FailureReason✅
-
-
CARegistryData:EnrollmentAgentRestrictions🔴 src ObjectProcessors.cs (not read yet; emitted asCollected: falsewith an empty list)-
Restrictions🔴 -
Collected🔴 -
FailureReason🔴
-
-
CARegistryData:IsUserSpecifiesSanEnabled✅ 🆕 src ObjectProcessors.cs (policy moduleEditFlagsread over MS-RRP; password or NT hash only)-
Value✅ -
Collected✅ -
FailureReason✅
-
-
CARegistryData:RoleSeparationEnabled✅ 🆕 (CA configurationRoleSeparationEnabledread over MS-RRP; password or NT hash only)-
Value✅ -
Collected✅ -
FailureReason✅
-
-
HttpEnrollmentEndpoints✅-
Result:Url✅ -
Result:Type✅ (alwaysWebEnrollmentApplication) -
Result:Status✅ -
Result:ADCSWebEnrollmentHTTP✅ -
Result:ADCSWebEnrollmentHTTPS✅ -
Result:ADCSWebEnrollmentEPA✅ -
Collected✅ (truewhen the port answered or is closed,falsewhen the HTTP exchange failed) -
FailureReason✅ - CES endpoints,
/{CAName}_CES_{Kerberos,NTLM}/service.svc/CESwithType:CertificateEnrollmentWebService✅
-
-
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:domain✅ -
Properties:name✅ -
Properties:distinguishedname✅ -
Properties:domainsid✅ -
Properties:objectguid✅ -
Properties:doesanyinheritedacegrantownerrights✅ -
Properties:doesanyacegrantownerrights✅ -
Properties:isaclprotected✅ (this value replacesIsACLProtected) -
Properties:description✅ (not emitted by SharpHound) -
Properties:whencreated✅ -
Properties:validityperiod✅ -
Properties:renewalperiod✅ -
Properties:schemaversion✅ -
Properties:displayname✅ -
Properties:oid✅ -
Properties:enrollmentflag✅ -
Properties:requiresmanagerapproval✅ -
Properties:nosecurityextension✅ -
Properties:certificatenameflag✅ -
Properties:enrolleesuppliessubject✅ -
Properties:subjectaltrequireupn✅ -
Properties:ekus✅ -
Properties:certificateapplicationpolicy✅ -
Properties:authorizedsignatures✅ -
Properties:applicationpolicies✅ -
Properties:issuancepolicies✅ -
Properties:effectiveekus✅ -
Properties:authenticationenabled✅ -
Properties:subjectaltrequiredns✅ -
Properties:subjectaltrequiredomaindns✅ -
Properties:subjectaltrequireemail✅ -
Properties:subjectaltrequirespn✅ -
Properties:subjectrequireemail✅ -
Properties:schannelauthenticationenabled🔴 -
Properties:certificatepolicy✅ -
Aces:PrincipalSID✅ -
Aces:PrincipalType✅ -
Aces:RightName✅ -
Aces:IsInherited✅ -
Aces:InheritanceHash🔴 -
Aces:IsPermissionForOwnerRightsSid✅ -
Aces:IsInheritedPermissionForOwnerRightsSid✅ -
ObjectIdentifier✅ -
IsDeleted✅ -
IsACLProtected✅ -
ContainedBy:ObjectIdentifier✅ -
ContainedBy:ObjectType✅
-
Properties:objectclass✅ 🆕 -
Properties:whencreated✅ 🆕 -
Properties:objectguid✅ 🆕 -
Properties:domain✅ 🆕 -
Properties:name✅ 🆕 -
Properties:distinguishedname✅ 🆕 -
Properties:domainsid✅ 🆕 -
Properties:doesanyacegrantownerrights✅ 🆕 -
Properties:doesanyinheritedacegrantownerrights✅ 🆕 -
Properties:isaclprotected✅ 🆕 -
ChildObjects:ObjectIdentifier✅ 🆕 -
ChildObjects:ObjectType✅ 🆕 -
Links:GUID✅ 🆕 -
Links:IsEnforced✅ 🆕 -
InheritanceHashes🔴 🆕 -
Aces:PrincipalSID✅ 🆕 -
Aces:PrincipalType✅ 🆕 -
Aces:RightName✅ 🆕 -
Aces:IsInherited✅ 🆕 -
Aces:InheritanceHash🔴 🆕 -
Aces:IsPermissionForOwnerRightsSid✅ 🆕 -
Aces:IsInheritedPermissionForOwnerRightsSid✅ 🆕 -
ObjectIdentifier✅ 🆕 -
IsDeleted✅ 🆕 -
IsACLProtected✅ 🆕 -
ContainedBy:ObjectIdentifier✅ 🆕 -
ContainedBy:ObjectType✅ 🆕
-
Properties:objectclass✅ 🆕 -
Properties:whencreated✅ 🆕 -
Properties:objectguid✅ 🆕 -
Properties:dnshostname✅ 🆕 -
Properties:serverreference✅ 🆕 -
Properties:domain✅ 🆕 -
Properties:name✅ 🆕 -
Properties:distinguishedname✅ 🆕 -
Properties:domainsid✅ 🆕 -
Properties:doesanyacegrantownerrights✅ 🆕 -
Properties:doesanyinheritedacegrantownerrights✅ 🆕 -
Properties:isaclprotected✅ 🆕 -
ServerIs:ObjectIdentifier✅ 🆕 -
ServerIs:ObjectType✅ 🆕 -
Aces:PrincipalSID✅ 🆕 -
Aces:PrincipalType✅ 🆕 -
Aces:RightName✅ 🆕 -
Aces:IsInherited✅ 🆕 -
Aces:InheritanceHash🔴 🆕 -
Aces:IsPermissionForOwnerRightsSid✅ 🆕 -
Aces:IsInheritedPermissionForOwnerRightsSid✅ 🆕 -
ObjectIdentifier✅ 🆕 -
IsDeleted✅ 🆕 -
IsACLProtected✅ 🆕 -
ContainedBy:ObjectIdentifier✅ 🆕 -
ContainedBy:ObjectType✅ 🆕
-
Properties:objectclass✅ 🆕 -
Properties:description✅ 🆕 -
Properties:whencreated✅ 🆕 -
Properties:objectguid✅ 🆕 -
Properties:cn✅ 🆕 -
Properties:siteobject✅ 🆕 -
Properties:domain✅ 🆕 -
Properties:name✅ 🆕 -
Properties:distinguishedname✅ 🆕 -
Properties:domainsid✅ 🆕 -
Properties:doesanyacegrantownerrights✅ 🆕 -
Properties:doesanyinheritedacegrantownerrights✅ 🆕 -
Properties:isaclprotected✅ 🆕 -
Aces:PrincipalSID✅ 🆕 -
Aces:PrincipalType✅ 🆕 -
Aces:RightName✅ 🆕 -
Aces:IsInherited✅ 🆕 -
Aces:InheritanceHash🔴 🆕 -
Aces:IsPermissionForOwnerRightsSid✅ 🆕 -
Aces:IsInheritedPermissionForOwnerRightsSid✅ 🆕 -
ObjectIdentifier✅ 🆕 -
IsDeleted✅ 🆕 -
IsACLProtected✅ 🆕 -
ContainedBy:ObjectIdentifier✅ 🆕 -
ContainedBy:ObjectType✅ 🆕
Right names produced in the Aces arrays. Existing edge parity is based on SharpHound v2.16.0.0 on the same domain; revalidation against v2.17.1.0 is pending.
-
GenericAll✅ -
GenericWrite✅ -
WriteDacl✅ -
WriteOwner✅ -
Owns✅ -
AllExtendedRights✅ -
AddKeyCredentialLink✅ -
GetChanges✅ -
GetChangesAll✅ -
GetChangesInFilteredSet✅ -
Enroll✅ -
AutoEnroll✅ (not emitted by SharpHoundv2.16.0.0) -
ManageCA✅ -
ManageCertificates✅ -
WriteAccountRestrictions🔴 🆕