
.NET-Post-Exploitation-Toolkit für Active-Directory-Aufklärung und -Exploitation
Cable ist ein Post-Exploitation-Tool, das für Reconnaissance und die auf Discretionary Access Control Lists (DACL) fokussierte Ausnutzung einer Active-Directory-Umgebung eingesetzt wird. Dieses Tool wurde in erster Linie entwickelt, um mehr über die offensive .NET-Entwicklung im Active-Directory-Kontext zu lernen, mit der Hoffnung, mein aktuelles Wissen und Verständnis von auf Active Directory fokussierter offensiver Sicherheit zu erweitern.
________ ________ ________ ___ _______
|\ ____\|\ __ \|\ __ \|\ \ |\ ___ \
\ \ \___|\ \ \|\ \ \ \|\ /\ \ \ \ \ __/|
\ \ \ \ \ __ \ \ __ \ \ \ \ \ \_|/__
\ \ \____\ \ \ \ \ \ \|\ \ \ \____\ \ \_|\ \
\ \_______\ \__\ \__\ \_______\ \_______\ \_______\
\|_______|\|__|\|__|\|_______|\|_______|\|_______|
.NET-Post-Exploitation-Toolkit für Active-Directory-Reconnaissance und -Exploitation
Cable.exe [Modul]
Module:
ldap [Optionen] - LDAP enumerieren
dclist - Domänencontroller in der aktuellen Domäne auflisten
rbcd [Optionen] - Das Attribut msDs-AllowedToActOnBehalfOfOtherIdentity schreiben oder entfernen
dacl [Optionen] - Access Control Entries (ACE)s an einem Objekt lesen oder schreiben
trusts - Active-Directory-Domänen- und Gesamtstruktur-Vertrauensstellungen enumerieren
ca - Aktive Active-Directory-Zertifikatsdienste (ADCS)-Zertifizierungsstellen enumerieren
templates - Active-Directory-Zertifikatsdienste (ADCS)-Vorlagen enumerieren
user [Optionen] - Allgemeine Operationen an Benutzerkonten durchführen
computer [Optionen] - Computerkonten zur Domäne hinzufügen und aus der Domäne entfernen
group [Optionen] - Gruppenmitgliedschaften enumerieren, Benutzer zu Gruppen hinzufügen und aus Gruppen entfernen
Moduloptionen
ldap:
/users - Benutzerobjekte enumerieren
/computers - Computerobjekte enumerieren
/groups - Gruppenobjekte enumerieren
/spns - Objekte mit gesetztem servicePrincipalName enumerieren
/asrep - Konten enumerieren, die keine Kerberos-Pre-Authentifizierung erfordern
/admins - Konten enumerieren, bei denen adminCount auf 1 gesetzt ist
/constrained - Konten enumerieren, bei denen msDs-AllowedToDelegateTo gesetzt ist
/unconstrained - Konten enumerieren, bei denen das Flag TRUSTED_FOR_DELEGATION gesetzt ist
/rbcd - Konten enumerieren, bei denen msDs-AllowedToActOnBehalfOfOtherIdentity gesetzt ist
/query:<query> - Objekte mit einer benutzerdefinierten Abfrage enumerieren
/filter:"<attr, attr>" - Objekte nach bestimmten Attributen enumerieren
rbcd:
/write - Operation zum Schreiben von msDs-AllowedToActOnBehalfOfOtherIdentity
/delegate-to:<account> - Zielkonto, dem Zugriff delegiert werden soll
/delegate-from:<account> - Kontrolliertes Konto, von dem delegiert wird
/flush:<account> - Operation zum Leeren von msDs-AllowedToActOnBehalfOfOtherIdentity auf einem Konto
dacl:
/find - Potenziell angreifbare ACEs finden
/object:<object> - Objekt, an dem DACL-Operationen durchgeführt werden sollen
/read - Operation zum Lesen der Access Control Entries (ACE)s des Objekts
/write:<permission> - Eine ACE auf dem ausgewählten Objekt schreiben; integrierte Berechtigungen sind: GenericAll,GenericWrite,User-Force-Reset-Password,Self-Membership
/guid:<guid> - Benutzerdefinierte GUID für eine Berechtigung oder ein erweitertes Recht zum Schreiben auf das Objekt angeben; Alternative zu "--write"
/account:<account> - Zugriff anzeigen, den ein Konto auf das Zielobjekt hat, oder Zugriff für dieses Konto auf das Zielobjekt festlegen. Beispiel: CORP\jdoe
user:
/setspn:<value> - In das Attribut servicePrincipalName eines Objekts schreiben
/removespn:<value> - Einen angegebenen Wert aus dem Attribut servicePrincipalName entfernen
/setasrep - Operation zum Setzen des Flags DONT_REQ_PREAUTH auf dem Attribut userAccountControl eines Objekts
/removeasrep - Operation zum Entfernen des Flags DONT_REQ_PREAUTH auf dem Attribut userAccountControl eines Objekts
/user:<account> - Benutzerkonto angeben, an dem Operationen durchgeführt werden sollen
/password:<password> - Das Passwort eines Kontos ändern
/getgroups - Operation zum Enumerieren der aktuellen Gruppenmitgliedschaften eines Benutzers
computer:
/add - Operation zum Hinzufügen eines Computerkonto-Objekts
/remove - Operation zum Löschen eines Computerkonto-Objekts
/name:<name> - Computername, der hinzugefügt oder entfernt werden soll
/password:<passwd> - Computerkontopasswort
group:
/group:<group> - Die Gruppe, die für eine angegebene Operation verwendet wird
/add:<account> - Ein angegebenes Konto zur ausgewählten Gruppe hinzufügen
/remove:<account> - Ein angegebenes Konto aus der ausgewählten Gruppe entfernen
/getusers - Operation zum Enumerieren der aktuellen Benutzer in einer Gruppe