Reconnaissance
Astuce : vous pouvez filtrer les réponses des sorties des commandes grâce à :
Get-NetUser | select <ATTRIBUT>
$ADClass [System.DirectoryServices.ActiveDirectory.Domain]
$ADClass::GetCurrentDomain()
. ./PowerView.ps1
Get-NetDomain
cd ./ADModule-Master
Import-Module ..Microsoft.ActiveDirectory.Management.dll
Import-Module ./ActiveDirectory/ActiveDirectory.psd1 # Des fois le module associé à la dll n'est pas écrit au bon format et le chargement du psd1 permet l'association avec la dll sous n'importe quelle format.
Get-NetDomain #PowerView
Get-NetDomain -Domain moneycorp.local
Get-ADDomain #AD Modules
Get-ADDomain -Identity moneycorp.local
whoami #votre user
whoami /all #votre user et les groupes auxquels vous appartenez
whoami /priv #vos privilège en tant que user
net user # liste les utilisateurs de votre machines
net user /domain # liste tous les utilisateurs du domaine
Get-NetUser #PowerView
Get-NetUser –Username student1
Get-ADUser -Filter * -Properties * #AD module
Get-ADUser -Identity student1 -Properties *
Invoke-EnumerateLocalAdmin -Verbose #Trouver les admins locaux
net localgroup #groupe locaux
net localgroup <GroupName> #Voir les membres du groupe
Get-NetGroup #PowerView
Get-NetGroupMember
Get-NetLocalGroup -ComputerName dcorp-dc.dollarcorp.moneycorp.local -ListGroups #Liste local group - droit admin requis
Get-NetLocalGroup -ComputerName dcorp-dc.dollarcorp.moneycorp.local -Recurse #Liste membre local group - droit admin requis
Get-NetComputer
Find-DomainShare -CheckShareAccess
Invoke-FileFinder -Verbose
Get-NetDomainTrust #Affichez les TRUSTS des domaines (parent, children et external)
Get-NetForestDomain | Get-NetDomainTrust #Enumère les TRUSTS de tous les domaines
Vous pouvez alors chercher aussi si votre utilisateurs à des droits d'admin sur d'autres machines du domaine (Interrogation du DC pour chaque ordinateur) :
PS : Très bruyant. Vous devez ouvrir les ports RCP et SMB.
Find-LocalAdminAccess
Un autre type d'énumération est de savoir si des admins on des sessions ouvertes sur d'autres ordinateurs :
(Recueille les membres du groupe Domain Admins et vérifie si l'un des utilisateurs est connecté à une machine (liste des machines du domaine) en exécutant Get-NetSession/Get-NetLoggedon sur chaque hôte. Si vous activez l'option "-Checkaccess", alors il vérifie également l'accès en LocalAdmin.
Invoke-UserHunter -CheckAccess
Get-NetGPO -ComputerName dcorp-student1.dollarcorp.moneycorp.local
Get-NetGPO -GPOname "{AB306569-220D-43FF-B03B83E8F4EF8081}"
Get-NetOU -FullData
Get-ObjectAcl -SamAccountName student1 -ResolveGUIDs
Get-ObjectAcl -ADSprefix 'CN=Administrator,CN=Users' -Verbose
Get-ObjectAcl -ADSpath "LDAP://CN=Domain Admins,CN=Users, DC=dollarcorp,DC=moneycorp,DC=local" -ResolveGUIDs-Verbose
Invoke-ACLScanner -ResolveGUIDs | select IdentityReferenceName, ObjectDN, ActiveDirectoryRights | fl
Get-NetDomainTrust -Domain us.dollarcorp.moneycorp.local
Get-NetForest -Forest eurocorp.local
Dernière mise à jour 1yr ago