PowerView
PowerView is a PowerShell toolset for AD enumeration, useful for penetration testing. It helps gather domain info, user/group details, inspect permissions, and identify network shares. Commonly used in Active Directory enumeration.
Domain Information
Retrieves details about the current AD domain (name, domain controller, forest info).
Get-NetDomainUsers & Groups
Lists all users in the AD domain with usernames and account status.
Get-NetUserDisplays common name, last password set date, and last logon for each user in the domain.
Get-NetUser | select cn,pwdlastset,lastlogonLists all groups in the AD domain.
Get-NetGroup | select cnRetrieves members of a specific group (e.g., Domain Admins).
Get-NetGroup "<group_name>" | select -ExpandProperty memberEnumerating accounts with Kerberos pre-authentication disabled from inside the network.
Get-DomainUser -PreauthNotRequired -VerboseComputers
Retrieves a list of all computers in the domain.
Get-NetComputerLists domain computers, showing their operating system and DNS hostname.
Get-NetComputer | select operatingsystem,dnshostnameLocal Admin
Searches for machines where the current user has local administrator access.
Find-LocalAdminAccessSPN
Enumerates users with SPNs (Service Principal Names) registered.
Get-NetUser -SPN | select samaccountname,serviceprincipalnameAD Objects permissions
Common Object Permissions:
GenericAll: Full control and permissions over the object.GenericWrite: Allows modification of specific attributes on the object.WriteOwner: Grants the ability to change the ownership of an object.WriteDACL: Allows modification of the Discretionary Access Control List (ACE's) for the object.AllExtendedRights: Grants extended rights like resetting or changing passwords.ForceChangePassword: Allows forcing a password change for an object.Self: Grants the ability to add oneself to a group or similar actions.
SecurityIdentifier (SID): This is the unique identifier for an AD Object which has the permission on the target object.
Displays the Access Control List (ACL) for a target AD object.
Get-ObjectAcl -Identity <target>Filtering the output in order to display the important information.
Get-ObjectAcl -Identity "<target_object>" | select SecurityIdentifier,ActiveDirectoryRightsGet-DomainObjectAcl -ResolveGUIDs -Identity "<target_object>" | ? {$_.SecurityIdentifier -eq (Convert-NameToSid "<controlled_object>")}Search for interesting ACEs
Find-InterestingDomainAcl -ResolveGUIDs | ?{$_.IdentityReferenceName -match "<controlled_object>"}Shares
Enumerates shared folders across domain computers.
Find-DomainShareMISC
Convert SIDs to Names
"<sid>,<sid>,<sid>,..." | Convert-SidToNameLists active sessions on a specific machine.
Get-NetSession -ComputerName <computer>References
Last updated
