
Ein leichtes Werkzeug, um schnell wertvolle Informationen aus der Active-Directory-Umgebung zu extrahieren, sowohl für Angriff als auch Verteidigung.
ADCollector ist ein leichtgewichtiges Tool, das die Active Directory-Umgebung durchsucht, um mögliche Angriffsvektoren zu identifizieren. Es bietet einen grundlegenden Überblick über die Konfiguration/Bereitstellung der Umgebung als Ausgangspunkt.
ADCollector ist kein Ersatz für das leistungsstarke PowerView, es automatisiert lediglich die Aufzählung, um schnell interessante Informationen zu finden, ohne in der frühen Recon-Phase viel nachdenken zu müssen. Die in ADCollector implementierten Funktionen eignen sich ideal für die Aufzählung in großen Enterprise-Umgebungen mit vielen Benutzern/Computern, ohne dabei viel Traffic zu erzeugen oder viel Zeit in Anspruch zu nehmen. Es konzentriert sich nur auf das Extrahieren nützlicher Attribute/Properties/ACLs von den wertvollsten Zielen, anstatt alle verfügbaren Attribute aller Benutzer-/Computerobjekte in der Domäne aufzulisten. Sie werden definitiv PowerView benötigen, um später detailliertere Aufzählungen durchzuführen. Sie können ADSI anstelle von PowerView verwenden, um die Domäne aufzulisten, solange Sie wissen, was Sie auflisten möchten. Siehe https://dev-2null.github.io/Easy-Domain-Enumeration-with-ADSI/.
Das Ziel der Entwicklung dieses Tools ist es, mir zu helfen, mehr über Active Directory-Sicherheit aus einer anderen Perspektive zu lernen und herauszufinden, was hinter den Kulissen dieser PowerView-Funktionen steckt.
Es verwendet den S.DS-Namespace, um Domänen-/Gesamtstrukturinformationen vom Domänencontroller (LDAP-Server) abzurufen. Es nutzt auch den S.DS.P-Namespace für die LDAP-Suche.
_Dieses Tool befindet sich noch im Aufbau. Funktionen, die implementiert werden, sind auf meiner Projektseite zu sehen.*
Stellen Sie sicher, dass Sie Zugriff auf SYSVOL haben, wenn Sie es von einem nicht der Domäne beigetretenen Host aus ausführen. Möglicherweise müssen Sie den folgenden Befehl ausführen, wenn eine gehärtete UNC-Richtlinie angewendet wird:
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 Domäne zur Aufzählung
--LDAPS (Standard: false) LDAP über SSL/TLS
--DisableSigning (Standard: false) Kerberos-Verschlüsselung deaktivieren (mit -LDAPS-Flag)
--UserName Alternativer Benutzername
--Password Alternative Anmeldeinformationen
--DC Alternativer Domänencontroller (Hostname/IP) für die Verbindung
--OU Suche unter einer bestimmten Organisationseinheit durchführen
--LDAPONLY Nur Objekte in LDAP aufzählen
--ACLScan ACL-Scan für eine Identität durchführen
--ADCS (Standard: false) Nur AD-Zertifikatsdienstprüfung durchführen
--TEMPLATES (Standard: false) Nur alle Zertifikatvorlagen mit ihrer DACL aufzählen
--SCHEMA (Standard: false) Schemaattribute im Standard-Namenskontext zählen
--ADIDNS (Standard: false) Nur ADIDNS-Einträge sammeln
--NGAGP Nur verschachtelte Gruppenmitgliedschaft und angewendete Gruppenrichtlinien auf dem Zielobjekt aufzählen
--DACL DACL auf dem Zielobjekt aufzählen (mit DistinguishedName)
--SessionEnum (Standard: false) Sitzungsinformationen auf dem Zielhost aufzählen
--UserEnum (Standard: false) Benutzerinformationen auf dem Zielhost aufzählen
--LocalGMEnum (Standard: false) Lokale Gruppenmitglieder auf dem Zielhost aufzählen
--Host (Standard: Localhost) Hostname für Sitzungs-/Benutzer-/Gruppenmitglieds-Aufzählung
--Group (Standard: Administrators) Name der lokalen Gruppe für die Aufzählung lokaler Gruppenmitglieder
--Debug (Standard: false) Debug-Modus
--help Diesen Hilfebildschirm anzeigen.
Beispiel: .\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
1. Aufzählung für Zertifikatvorlagen, Schema und Benutzeranmeldeinformationen hinzugefügt
2. Einige Flags hinzugefügt
1. Code-Refactoring & Fehlerbehebung
2. Berechtigungen und Objekt-DACL-Aufzählung hinzugefügt
3. Debug-Modus hinzugefügt
4. Interaktives Menü in die Befehlszeile integriert und einige einfache LDAP-Aufzählungen entfernt (ADSI verwenden, siehe [ADSI Enum](https://dev-2null.github.io/Easy-Domain-Enumeration-with-ADSI/))
1. Fehlerbehebung mit einigen Verbesserungen
2. Neue Implementierungslogik für LAPS- und Restricted-Group-Aufzählung
3. Task zur Handhabung einiger schwerer Aufzählungsfunktionen verwendet (viel schneller für große Domänen)
4. GPP-Cache und DCSync-Kontenaufzählung entfernt
1. Suche unter einer bestimmten OU
2. LAPS-Detailansicht
3. Maschinenbesitzer
4. Eingeschränkte Gruppen
5. ADCS-Konfigurationen
6. ACL-Scan
7. Fehlerbehebung: SYSVOL-Zugriff, verschachtelte Gruppenmitgliedschaft
8. Externe readINF-Abhängigkeit durch benutzerdefinierte Implementierung ersetzt
9. Geschützte Benutzer
1. Vollständige Neufassung (erweiterbarer)
2. Interaktives Menü mit Befehlszeilenauswahl hinzugefügt
3. Direkter API-Aufruf zur Aufzählung von Vertrauensbeziehungen verwendet
4. Aktualisierte angewandte GPO-Aufzählung mit Sicherheitsfilterung und WMI-Filterung (WMIFilter muss manuell überprüft werden)
5. LDAP-DNS-Eintragsaufzählung hinzugefügt
6. RunAs: ADCollector unter einem anderen Benutzerkontext ausführen
7. Flexible SPN-Scans, DNS-Einträge, verschachtelte Gruppenmitgliedschaft, ACL-Aufzählung
8. NetSessionEnum, NetLocalGroupGetMembers und NetWkstaUserEnum hinzugefügt
1. Einige Fehler wurden behoben und einige Details verbessert
2. SPN-Scanning ist jetzt optional
3. GPP-cpassword in SYSVOL/Cache
4. Interessante ACLs auf GPOs; interessante Beschreibungen auf Benutzerobjekten;
5. Ungewöhnliche DCSync-Konten; Sensitive- und Not-Delegated-Konten
6. Wirksame GPOs auf Benutzer/Computer
7. Eingeschränkte Gruppen
8. Verschachtelte Gruppenmitgliedschaft
9. LAPS-Kennwortansichtszugriff
1. SPN-Scannergebnisse, Gruppenmitgliedschaft privilegierter Konten korrigiert
2. Kennwort läuft nie ab-Konten; Benutzerkonten mit gesetztem SPN;
3. Kerberos-Richtlinie
4. Aufzählung interessanter ACLs für das Domänenobjekt, Auflösung von GUIDs
5. DC-Info zurück
1. In drei Klassen aufgeteilt.
2. LDAP-Verbindung ordnungsgemäß geschlossen.
3. Aufzählungen: AdminSDHolder, Domänenattribute (MAQ, minPwdLength, maxPwdAge, lockOutThreshold, mit dem Domänenobjekt verknüpfte GP), Konten, die keine Vorauthentifizierung benötigen.
4. LDAP-Basisinformationen (supportedLDAPVersion, supportedSASLMechanisms, Domänen-/Gesamtstruktur-/DC-Funktionalität)
5. SPN-Scanning (SPNs für MSSQL, Exchange, RDP und PS Remoting)
6. Aufzählung eingeschränkter Delegierungen (S4U2Self, S4U2Proxy sowie ressourcenbasierte eingeschränkte Delegierung)
7. RODC (Gruppe, die den RODC verwaltet)
1. Verwendet jetzt den S.DS.P-Namespace für Suchvorgänge, was Suchen schneller und einfacher implementierbar macht. (Unterstützt auch seitenweise Suche.)
2. Unterstützt jetzt die Suche in anderen Domänen. (Befehlszeilenparser noch nicht implementiert.)
3. Die Codelogik wurde rekonstruiert, weniger Code, verständlicher und kohärenter.
Für weitere Informationen (aktueller Fortschritt/To-Do-Liste usw.) zu diesem Tool besuchen Sie bitte meine Projektseite