Introduction à l’Active Directory et à PowerShell
Active Directory (AD) est un service de gestion de domaine qui permet aux administrateurs de gérer les utilisateurs, les groupes, et les ressources au sein d’un réseau. Pour des attaquants ou des pentesteurs, il est essentiel de comprendre comment énumérer ces informations afin de détecter des failles potentielles.
Avec les dernières versions de PowerShell, de nouveaux outils et commandes ont été développés pour améliorer l’énumération et l’administration Active Directory de manière sécurisée. PowerView, qui est un des outils populaires d’énumération, a vu plusieurs fonctionnalités être intégrées directement dans PowerShell via des modules plus modernes et sécurisés.
Commandes et Outils PowerShell pour Active Directory
1. Get-ADUser
Get-ADUser
est une commande PowerShell moderne permettant d’énumérer les utilisateurs dans le domaine. Cette commande remplace Get-NetUser
et est beaucoup plus intégrée et supportée dans les environnements récents.
Exemple d’utilisation :
Get-ADUser -Filter *Cette commande permet de voir tous les utilisateurs actifs sur le réseau ainsi que des informations détaillées sur chaque compte utilisateur.
2. Get-ADUserProperty
Pour extraire des propriétés spécifiques des utilisateurs, comme la date du dernier changement de mot de passe, vous pouvez utiliser Get-ADUser
avec des paramètres spécifiques.
Exemple d’utilisation : Get-ADUser -Filter * -Properties PasswordLastSet
Cela aide à identifier les utilisateurs qui n’ont pas changé leurs mots de passe depuis longtemps.
3. Recherche des Champs Utilisateur avec Get-ADUser
Il est possible de rechercher des informations sensibles dans des champs tels que la description des comptes utilisateurs. Cela permet de vérifier si des mots de passe ont été enregistrés par erreur.
Exemple d’utilisation : Get-ADUser -Filter “Description -like ‘pass‘”
Cette commande peut révéler des mots de passe ou d’autres informations sensibles enregistrées par erreur.
4. Recherche des Utilisateurs Privilégiés
Pour cibler les utilisateurs ayant des droits élevés, vous pouvez utiliser la commande Get-ADGroupMember
pour lister les membres de groupes tels que “Domain Admins”.
Exemple d’utilisation : Get-ADGroupMember -Identity “Domain Admins”
Cela permet de trouver rapidement des utilisateurs ayant des accès privilégiés sur les machines du domaine.
Informations sur le Domaine et le Contrôleur de Domaine
1. Get-ADDomain
Get-ADDomain
est utilisé pour obtenir des informations sur le domaine, telles que le nom du domaine et les contrôleurs de domaine associés.
Exemple d’utilisation : Get-ADDomain
2. Get-ADDomainController
Cette commande fournit des informations sur les contrôleurs de domaine, y compris leur adresse IP et leur version du système d’exploitation.
Exemple d’utilisation : Get-ADDomainController -Filter *
Commandes pour Extraire des Informations sur les Groupes et les Politiques
1. Get-ADGroup et Get-ADGroupMember
Ces commandes permettent d’extraire des informations sur les groupes du domaine et leurs membres respectifs. Cela peut aider à identifier les utilisateurs ayant des privilèges élevés.
Exemple d’utilisation : Get-ADGroup -Filter “Name -like ‘Admin‘” Get-ADGroupMember -Identity “Domain Admins”
2. Get-GPO
Get-GPO
permet d’extraire des informations sur les objets de stratégie de groupe (GPO) configurés sur le domaine. Utilisez le module “GroupPolicy” de PowerShell pour une meilleure intégration.
Exemple d’utilisation : Get-GPO -All
Énumération des Processus et des Partages
1. Get-Process
Avec les versions récentes de PowerShell, Get-Process
peut être utilisé pour énumérer les processus en cours sur une machine locale. Cela permet de vérifier si des services vulnérables sont en cours d’exécution ou si des processus fonctionnent avec des privilèges élevés.
Exemple d’utilisation : Get-Process
2. Test-SmbShareAccess
Pour rechercher des partages réseau accessibles, y compris ceux qui peuvent ne pas être visibles à tous les utilisateurs, utilisez la commande Get-SmbShare
.
Exemple d’utilisation : Get-SmbShare -ComputerName “TargetComputer”
Conclusion
L’énumération est une étape cruciale dans la sécurité d’Active Directory, car elle permet de comprendre la structure du réseau et d’identifier les faiblesses potentielles. Les commandes PowerShell présentées dans ce cours offrent des outils puissants pour l’énumération, tout en aidant les administrateurs à sécuriser leur réseau.
Pour les administrateurs, il est essentiel de comprendre les informations que les attaquants peuvent collecter et de mettre en place des contre-mesures appropriées, telles que l’application régulière de correctifs, la suppression des comptes inactifs, et la restriction des droits d’accès.