
Uno strumento leggero per estrarre rapidamente informazioni preziose dall'ambiente Active Directory, utile sia per attaccare che per difendere.
ADCollector è uno strumento leggero che enumera l'ambiente Active Directory per identificare possibili vettori di attacco. Ti fornirà una comprensione di base della configurazione/distribuzione dell'ambiente come punto di partenza.
ADCollector non è un'alternativa al potente PowerView, automatizza semplicemente l'enumerazione per identificare rapidamente informazioni interessanti senza pensarci troppo nella fase iniziale di ricognizione. Le funzioni implementate in ADCollector sono ideali per l'enumerazione in ambienti aziendali di grandi dimensioni con molti utenti/computer, senza generare molto traffico e impiegare molto tempo. Si concentra solo sull'estrazione di attributi/proprietà/ACL utili dai target più interessanti, invece di enumerare tutti gli attributi disponibili da tutti gli oggetti utente/computer nel dominio. Avrai sicuramente bisogno di PowerView per un'enumerazione più dettagliata in seguito. Puoi usare ADSI invece di PowerView per enumerare il dominio finché sai cosa vuoi enumerare, vedi https://dev-2null.github.io/Easy-Domain-Enumeration-with-ADSI/.
Lo scopo dello sviluppo di questo strumento è aiutarmi a imparare di più sulla sicurezza di Active Directory da una prospettiva diversa, oltre a capire cosa c'è dietro le quinte di quelle funzioni di PowerView.
Utilizza lo spazio dei nomi S.DS per recuperare le informazioni sul dominio/foresta dal controller di dominio (server LDAP). Utilizza anche lo spazio dei nomi S.DS.P per la ricerca LDAP.
Questo strumento è ancora in fase di sviluppo. Le funzionalità che verranno implementate sono visibili nella mia pagina del progetto
Assicurati di avere accesso a SYSVOL se lo esegui da un host non aggiunto al dominio. Potrebbe essere necessario eseguire il seguente comando se è applicata una policy UNC hardening:
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