
Outil d'énumération Active Directory basé sur .NET, inspiré de PowerView. Énumère les domaines, utilisateurs, ordinateurs, groupes, partages et sessions. Prend en charge les requêtes LDAP, les vérifications d'élévation de privilèges et la découverte de mouvements latéraux via WMI et le planificateur de tâches.
Enumerate Domain Data est conçu pour être similaire à PowerView mais en .NET. PowerView est essentiellement l'outil ultime d'énumération de domaine, et nous voulions une implémentation .NET sur laquelle nous avons travaillé nous-mêmes. Cet outil a été largement assemblé en observant des implémentations de différentes fonctionnalités dans un large éventail de projets existants et en les combinant dans EDD.
Pour utiliser EDD, il suffit d'appeler l'application, de fournir la fonction que vous souhaitez exécuter (listée ci-dessous) et de fournir les paramètres optionnels/obligatoires utilisés par la fonction.
Arguments :
-f, --function=VALUE la fonction que vous souhaitez utiliser
-o, --output=VALUE le chemin du fichier à sauvegarder
-c, --computername=VALUE l'ordinateur que vous ciblez
-n, --canonicalname=VALUE nom canonique de l'utilisateur de domaine
-d, --domainname=VALUE le domaine que vous ciblez
-g, --groupname=VALUE le groupe de domaine que vous ciblez
-p, --processname=VALUE le processus que vous ciblez
-fd, --filedata=PATH le chemin d'un fichier contenant des données liées à la fonction que vous invoquez
-w, --password=VALUE le mot de passe pour s'authentifier ou ce que vous
le définissez
-u, --username=VALUE le compte de domaine que vous ciblez
-t, --threads=VALUE le nombre de threads à exécuter (défaut : 5)
-q, --query=VALUE filtre LDAP personnalisé à rechercher
-a, --adright=VALUE Droits Active Directory à retourner, séparés par
des virgules
-s, --search=VALUE le(s) terme(s) de recherche pour
FindInterestingDomainShareFile séparés par une
virgule (,), accepte les caractères génériques
--sharepath=VALUE le partage spécifique à rechercher pour des fichiers intéressants
-i, --info retourne des informations sur une fonction spécifiée
-l, --listfunction retourne toutes les fonctions disponibles
-h, --help affiche ce message et quitte
Les fonctions suivantes peuvent être utilisées avec le drapeau -f pour spécifier les données que vous souhaitez énumérer/l'action que vous souhaitez effectuer.
getdomainsid - Retourne le SID du domaine (par défaut le domaine actuel si aucun domaine n'est fourni)
getforest - retourne le nom de la forêt actuelle
getforestdomains - retourne le nom de tous les domaines de la forêt actuelle
getsiddata - Convertit un SID en nom de groupe ou de domaine correspondant (utilisez l'option -u pour fournir la valeur SID)
getadcsservers - Obtient une liste des serveurs exécutant AD CS dans le domaine actuel
getdomaincomputers - Obtient une liste de tous les ordinateurs du domaine
getdomaincontrollers - Obtient une liste de tous les contrôleurs de domaine
getdomainshares - Obtient une liste de tous les partages de domaine
getreadabledomainshares - Obtient une liste de tous les partages de domaine accessibles en lecture
changeaccountpassword - Change le mot de passe d'un compte ciblé
customldapquery - Définit un filtre LDAP arbitraire pour rechercher des objets
getuserdacl - Retourne la DACL d'un objet de domaine spécifié
getnetlocalgroupmember - Retourne une liste de tous les utilisateurs d'un groupe local sur un système distant
getdomaingroupmember - Retourne une liste de tous les utilisateurs d'un groupe de domaine
getdomainuser - Récupère les informations sur un utilisateur spécifique (nom, description, SID, groupes de domaine)
getdomaindescriptions - retourne les objets de domaine avec des descriptions de compte non standard
getnetsession - Retourne une liste des comptes ayant des sessions sur le système ciblé
getnetloggedon - Retourne une liste des comptes connectés au système ciblé
getuserswithspns - Retourne une liste de tous les comptes de domaine qui ont un SPN associé
getdomaingroupsid - Récupère le SID d'un groupe
getdomainsid - Récupère le SID du domaine
getsiddata - Retourne le nom d'utilisateur à partir du SID
joingroupbysid - Ajoute un compte à un groupe via le SID du groupe
joingroupbyname - Ajoute un compte à un groupe via le nom du groupe
findadminsch - Utilise le planificateur de tâches pour interroger les droits d'administrateur dans un domaine
findadminwmi - Utilise WMI pour rechercher les droits d'administrateur dans un domaine
finddomainprocess - Recherche un processus spécifique sur tous les systèmes du domaine (nécessite un accès administrateur sur les systèmes distants)
finddomainuser - Recherche dans l'environnement de domaine un utilisateur ou un groupe spécifié et essaie de trouver des sessions actives (par défaut recherche les administrateurs de domaine)
findemptysystem - Recherche dans le domaine les systèmes sans compte utilisateur connecté
findinterestingdomainsharefile - Recherche dans l'environnement de domaine tous les partages accessibles. Une fois trouvés, il analyse tous les noms de fichiers pour des chaînes "intéressantes"
findwritableshares - Énumère tous les partages du domaine, puis vérifie si le compte actuel peut créer un fichier texte dans le partage de niveau racine, et à un niveau de profondeur.
PowerView - https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1
CSharp-Tools - https://github.com/RcoIl/CSharp-Tools
StackOverflow - Questions aléatoires (si ce n'est pas listé comme référence, on sait qu'on l'oublie :))
SharpView - https://github.com/tevora-threat/SharpView