
Un outil léger pour extraire rapidement des informations précieuses de l'environnement Active Directory, tant pour l'attaque que pour la défense.
ADCollector est un outil léger qui énumère l'environnement Active Directory pour identifier les vecteurs d'attaque possibles. Il vous donnera une compréhension de base de la configuration/déploiement de l'environnement comme point de départ.
ADCollector n'est pas une alternative au puissant PowerView, il automatise simplement l'énumération pour identifier rapidement des informations intéressantes sans trop réfléchir lors de la phase précoce de reconnaissance. Les fonctions implémentées dans ADCollector sont idéales pour l'énumération dans un grand environnement d'entreprise avec beaucoup d'utilisateurs/ordinateurs, sans générer beaucoup de trafic et en prenant beaucoup de temps. Il se concentre uniquement sur l'extraction d'attributs/propriétés/ACL utiles des cibles les plus précieuses plutôt que d'énumérer tous les attributs disponibles de tous les objets utilisateur/ordinateur du domaine. Vous aurez définitivement besoin de PowerView pour une énumération plus détaillée plus tard. Vous pouvez utiliser ADSI au lieu de PowerView pour énumérer le domaine tant que vous savez ce que vous voulez énumérer, voir https://dev-2null.github.io/Easy-Domain-Enumeration-with-ADSI/.
Le but de développer cet outil est de m'aider à en apprendre davantage sur la sécurité d'Active Directory sous un angle différent, ainsi que de comprendre ce qui se cache derrière les fonctions de PowerView.
Il utilise l'espace de noms S.DS pour récupérer les informations du domaine/forêt à partir du contrôleur de domaine (serveur LDAP). Il utilise également l'espace de noms S.DS.P pour la recherche LDAP.
Cet outil est encore en construction. Les fonctionnalités qui seront implémentées peuvent être consultées sur ma page de projet
Assurez-vous d'avoir accès au SYSVOL si vous l'exécutez depuis un hôte non joint au domaine. Vous devrez peut-être exécuter la commande suivante si une politique UNC renforcée est appliquée :
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths /v "\\*\SYSVOL" /d "RequireMutualAuthentication=0" /t REG_SZ
PS C:\> .\ADCollector.exe --help
_ ____ ____ _ _ _
/ \ | _ \ / ___|___ | | | ___ ___ _| |_ ___ _ __
/ _ \ | | | | | / _ \| | |/ _ \/ __|_ __/ _ \| '__|
/ ___ \| |_| | |__| (_) | | | __/ (__ | || (_) | |
/_/ \_\____/ \____\___/|_|_|\___|\___| |__/\___/|_|
v3.0.1 by dev2null
--Domain Domain to enumerate
--LDAPS (Default: false) LDAP over SSL/TLS
--DisableSigning (Default: false) Disable Kerberos Encryption (with -LDAPS flag)
--UserName Alternative UserName
--Password Alternative Credential
--DC Alternative Domain Controller (Hostname/IP) to connect to
--OU Perform the Search under a specific Organizational Unit
--LDAPONLY Only Enumearte Objects in LDAP
--ACLScan Perform ACL scan for an Identity
--ADCS (Default: false) Only Perform AD Certificate Service Check
--TEMPLATES (Default: false) Only Enumerate All Certificate Templates with their DACL
--SCHEMA (Default: false) Count Schema Attributes in the default naming context
--ADIDNS (Default: false) Only Collect ADIDNS Records
--NGAGP Only enumerate Nested Group Membership and Applied Group Policies on the target object
--DACL Enumerate DACL on the target object (with DistinguishedName)
--SessionEnum (Default: false) Enumerate session information on the target host
--UserEnum (Default: false) Enumerate user information on the target host
--LocalGMEnum (Default: false) Enumerate local group members on the target host
--Host (Default: Localhost) Hostname for Session/User/Groupmember Enumeration
--Group (Default: Administrators) Local Group Name for Local GroupMember Enumeration
--Debug (Default: false) Debug Mode
--help Display this help screen.
Example: .\ADCollector.exe
.\ADCollector.exe --LDAPs --DisableSigning
.\ADCollector.exe --OU IT
.\ADCollector.exe --OU OU=IT,DC=domain,DC=local
.\ADCollector.exe --ADCS
.\ADCollector.exe --TEMPLATES
.\ADCollector.exe --LDAPOnly
.\ADCollector.exe --SCHEMA
.\ADCollector.exe --ADIDNS
.\ADCollector.exe --NGAGP samaccountname
.\ADCollector.exe --DACL DC=domain,DC=net
.\ADCollector.exe --ACLScan user --OU OU=IT,DC=domain,DC=local
.\ADCollector.exe --SessionEnum --Host targetHost
.\ADCollector.exe --UserEnum --Host targetHost
.\ADCollector.exe --LocalGMEnum --Host targetHost --Group 'Remote Desktop Users'
.\ADCollector.exe --Domain domain.local --Username user --Password pass
.\ADCollector.exe --Domain domain.local --DC 10.10.10.1