ACL
For now don't know any methods from enumerating ACL's from Linux except BloodHound and PowerView, so yeah. No Windows / Linux sections here.
PowerView
PS C:\> Import-Module .\PowerView.ps1Object
Get Info About an AD Object
PS C:\> $sid = Convert-NameToSid sreed
PS C:\> Get-DomainObjectACL -ResolveGUIDs -Identity * | ? {$_.SecurityIdentifier -eq $sid} -VerboseThis commands works like this. In $sid we put sid of an object we want to know more about (doesn't matter if this user or group).
Get-DomainObjectACL - Identity *retrieves all ACL's about all objects in AD. But we pipe this to command which filters our user mention to get info about ACL's related to our object.-ResolveGUIDsparameter is for explaining what this GUID stands for.
Users
Dump all AD usernames into a file
PS C:\> Get-ADUser -Filter * | Select-Object -ExpandProperty SamAccountName > ad_users.txtWhich users OUR user has access over
PS C:\> foreach($line in [System.IO.File]::ReadLines("C:\Path\To\ad_users.txt")) {get-acl "AD:\$(Get-ADUser $line)" | Select-Object Path -ExpandProperty Access | Where-Object {$_.IdentityReference -match 'MILITECH\\sreed'}}