Bebzounette
Rechercher…
Reconnaissance
Astuce : vous pouvez filtrer les réponses des sorties des commandes grâce à : Get-NetUser | select <ATTRIBUT>

Avec les fonctionnalités natives et les classes .NET :

1
$ADClass [System.DirectoryServices.ActiveDirectory.Domain]
2
$ADClass::GetCurrentDomain()
Copied!

Avec PowerView :

1
. ./PowerView.ps1
2
Get-NetDomain
Copied!

Avec les modules Active Directory :

1
cd ./ADModule-Master
2
Import-Module ..Microsoft.ActiveDirectory.Management.dll
3
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.
Copied!

On commence par une énumération du/des domaines et sous domaines :

1
Get-NetDomain #PowerView
2
Get-NetDomain -Domain moneycorp.local
3
Get-ADDomain #AD Modules
4
Get-ADDomain -Identity moneycorp.local
Copied!

On part ensuite sur une énumération des utilisateurs du domaine :

1
whoami #votre user
2
whoami /all #votre user et les groupes auxquels vous appartenez
3
whoami /priv #vos privilège en tant que user
4
5
net user # liste les utilisateurs de votre machines
6
net user /domain # liste tous les utilisateurs du domaine
7
8
Get-NetUser #PowerView
9
Get-NetUser –Username student1
10
Get-ADUser -Filter * -Properties * #AD module
11
Get-ADUser -Identity student1 -Properties *
12
13
Invoke-EnumerateLocalAdmin -Verbose #Trouver les admins locaux
Copied!

Faites vous ensuite une idée des différents groupes :

1
net localgroup #groupe locaux
2
net localgroup <GroupName> #Voir les membres du groupe
3
4
Get-NetGroup #PowerView
5
Get-NetGroupMember
6
7
Get-NetLocalGroup -ComputerName dcorp-dc.dollarcorp.moneycorp.local -ListGroups #Liste local group - droit admin requis
8
Get-NetLocalGroup -ComputerName dcorp-dc.dollarcorp.moneycorp.local -Recurse #Liste membre local group - droit admin requis
Copied!

Listez ensuite les différentes machines présente sur le réseaux :

1
Get-NetComputer
Copied!

Vous pouvez ensuite chercher les shares et fichiers pouvant etre lu :

1
Find-DomainShare -CheckShareAccess
2
Invoke-FileFinder -Verbose
Copied!

Vous pouvez mapper les différentes TRUST entre les domaines :

1
Get-NetDomainTrust #Affichez les TRUSTS des domaines (parent, children et external)
2
Get-NetForestDomain | Get-NetDomainTrust #Enumère les TRUSTS de tous les domaines
Copied!
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.
1
Find-LocalAdminAccess
Copied!
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.
1
Invoke-UserHunter -CheckAccess
Copied!

Lister GPO :

1
Get-NetGPO -ComputerName dcorp-student1.dollarcorp.moneycorp.local
2
Get-NetGPO -GPOname "{AB306569-220D-43FF-B03B83E8F4EF8081}"
Copied!

Lister les OU :

1
Get-NetOU -FullData
Copied!

Vous pouvez enfin lister les différentes ACLS :

1
Get-ObjectAcl -SamAccountName student1 -ResolveGUIDs
2
Get-ObjectAcl -ADSprefix 'CN=Administrator,CN=Users' -Verbose
3
Get-ObjectAcl -ADSpath "LDAP://CN=Domain Admins,CN=Users, DC=dollarcorp,DC=moneycorp,DC=local" -ResolveGUIDs-Verbose
4
5
Invoke-ACLScanner -ResolveGUIDs | select IdentityReferenceName, ObjectDN, ActiveDirectoryRights | fl
Copied!

Enumérer les trusts et les Forest :

1
Get-NetDomainTrust -Domain us.dollarcorp.moneycorp.local
2
Get-NetForest -Forest eurocorp.local
Copied!
Copier le lien
Sommaire