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 :

$ADClass [System.DirectoryServices.ActiveDirectory.Domain]
$ADClass::GetCurrentDomain()

Avec PowerView :

. ./PowerView.ps1
Get-NetDomain

Avec les modules Active Directory :

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.

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

Get-NetDomain #PowerView
Get-NetDomain -Domain moneycorp.local
Get-ADDomain #AD Modules
Get-ADDomain -Identity moneycorp.local

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

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

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

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

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

Get-NetComputer

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

Find-DomainShare -CheckShareAccess
Invoke-FileFinder -Verbose

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

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

Lister GPO :

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

Lister les OU :

Get-NetOU -FullData

Vous pouvez enfin lister les différentes ACLS :

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

Enumérer les trusts et les Forest :

Get-NetDomainTrust -Domain us.dollarcorp.moneycorp.local
Get-NetForest -Forest eurocorp.local
​
DerniĂšre mise Ă  jour 9mo ago
Copier le lien
Sommaire