
KrbRelayUp – eine universelle, ohne Fix auskommende lokale Privilegienausweitung in Windows-Domänenumgebungen, in denen LDAP-Signierung nicht erzwungen wird (die Standardeinstellungen).
Ein einfacher Wrapper um einige der Funktionen von Rubeus und KrbRelay (sowie ein paar weiteren erwähnenswerten Projekten im Abschnitt „Danksagungen"), um den Missbrauch der folgenden Angriffsprimitive zu vereinfachen:
Dies ist im Wesentlichen eine universelle, nicht behobene lokale Privilege Escalation in Windows-Domänenumgebungen, in denen LDAP-Signierung nicht erzwungen wird (die Standardeinstellung).
UPDATE: Hier ist ein hervorragender Artikel von @an0n_r0 darüber, wie man diesen Angriff manuell durchführt (unter Verwendung der Original-Tools für diesen Angriffspfad: PowerMad/SharpMad, KrbRelay, Rubeus und SCMUACBypass)
Ich habe einige Funktionen hinzugefügt, um dieses Angriffsprimitiv mithilfe von Shadow Credentials zu unterstützen. Beachte, dass dadurch die Notwendigkeit entfällt, ein weiteres Maschinenkonto hinzuzufügen (oder zu besitzen).
Hinweis: Diese Angriffsmethode umgeht die Abschwächung durch Protected Users (bzw. „Konto ist sensibel und kann nicht delegiert werden") aufgrund des S4U2Self-Missbrauchs.
UPDATE: Hier ist ein hervorragender Artikel von @icyguider darüber, wie man die ShadowCred-Methode dieses Angriffs manuell durchführt (unter Verwendung der Original-Tools für diesen Angriffspfad: KrbRelay, Rubeus und SCMUACBypass) sowie über die Verwendung von NimCrypt2, um die verschiedenen Tools zu packen und einige Erkennungen durch Verteidigungsmechanismen zu umgehen.
Ich habe Unterstützung für das Relaying von KRB-Authentifizierung von Maschinenkonten an ADCS Web Enrollment (anstelle von LDAP) hinzugefügt. Dadurch entfällt die Anforderung, dass LDAP-Signierung in der Domäne nicht erzwungen wird, da dieser Angriff nicht zu LDAP relayt.
Hinweis: Diese Angriffsmethode umgeht die Abschwächung durch Protected Users (bzw. „Konto ist sensibel und kann nicht delegiert werden") aufgrund des S4U2Self-Missbrauchs.
KrbRelayUp - Relaying you to SYSTEM
FULL: Führt die vollständige Angriffskette aus. Optionen sind identisch mit RELAY. Das Tool muss auf der Festplatte liegen.
RELAY: Erste Phase des Angriffs. Erzwingt die Kerberos-Authentifizierung des lokalen Maschinenkontos, relayt sie zu LDAP und erstellt ein Kontrollprimitiv über das lokale Maschinenkonto mittels RBCD oder SHADOWCRED.
Verwendung: KrbRelayUp.exe relay -d FQDN -cn COMPUTERNAME [-c] [-cp PASSWORD | -ch NTHASH]
-m (--Method) Missbrauchsmethode, die nach einem erfolgreichen Relay zu LDAP verwendet werden soll <rbcd/shadowcred> (Standard=rbcd)
-p (--Port) Port für den COM-Server (Standard=12345)
-cls (--Clsid) CLSID, die zum Erzwingen der Kerberos-Authentifizierung des lokalen Maschinenkontos verwendet werden soll (Standard=90f18417-f0f1-484e-9d3c-59dceee5dbd8)
# RBCD-Methode:
-c (--CreateNewComputerAccount) Neues Computerkonto für RBCD erstellen. Verwendet den aktuell angemeldeten Benutzer.
-cn (--ComputerName) Name des Angreifer-eigenen Computerkontos für RBCD. (Standard=KRBRELAYUP$)
-cp (--ComputerPassword) Passwort des Computerkontos für RBCD. (Standard=ZUFALL [wenn -c aktiviert ist])
# SHADOWCRED-Methode:
-f (--ForceShadowCred) Das msDS-KeyCredentialLink-Attribut des angegriffenen Computerkontos löschen, bevor die neuen Shadow Credentials hinzugefügt werden. (Optional)
# ADCS-Methode:
-ca (--CAEndpoint) FQDN des CA-Endpunkts (Standard = gleicher Wert wie DC)
-https Verbindung zum CA-Endpunkt über gesichertes HTTPS anstelle von HTTP)
-cet (--CertificateTemplate) Zertifikatsvorlage, die angefordert werden soll (Standard=Machine)
SPAWN: Zweite Phase des Angriffs. Verwendet das entsprechende Kontrollprimitiv, um ein Kerberos-Dienstticket zu erhalten, und verwendet es, um einen neuen Dienst zu erstellen, der als SYSTEM läuft.
Verwendung: KrbRelayUp.exe spawn -d FQDN -cn COMPUTERNAME [-cp PASSWORD | -ch NTHASH] <-i USERTOIMPERSONATE>
-m (--Method) Missbrauchsmethode, die in der RELAY-Phase verwendet wurde <rbcd/shadowcred> (Standard=rbcd)
-i (--Impersonate) Zu impersonierender Benutzer. Sollte ein lokaler Administrator auf dem Zielcomputer sein. (Standard=Administrator)
-s (--ServiceName) Name des zu erstellenden Dienstes. (Standard=KrbSCM)
-sc (--ServiceCommand) Dienstbefehl [binPath]. (Standard = cmd.exe als SYSTEM starten)
# RBCD-Methode:
-cn (--ComputerName) Name des Angreifer-eigenen Computerkontos für RBCD. (Standard=KRBRELAYUP$)
-cp (--ComputerPassword) Passwort des Computerkontos für RBCD. (entweder -cp oder -ch muss angegeben werden)
-ch (--ComputerPasswordHash) NT-Hash des Passworts des Computerkontos für RBCD. (entweder -cp oder -ch muss angegeben werden)
# SHADOWCRED | ADCS-Methode:
-ce (--Certificate) Base64-kodiertes Zertifikat oder Pfad zur Zertifikatsdatei
-cep (--CertificatePassword) Zertifikatspasswort (falls zutreffend)
KRBSCM: Verwendet das aktuell geladene Kerberos-Dienstticket, um einen neuen Dienst zu erstellen, der als SYSTEM läuft.
Verwendung: KrbRelayUp.exe krbscm <-s SERVICENAME> <-sc SERVICECOMMANDLINE>
-s (--ServiceName) Name des zu erstellenden Dienstes. (Standard=KrbSCM)
-sc (--ServiceCommand) Dienstbefehl [binPath]. (Standard = cmd.exe als SYSTEM starten)
Allgemeine Optionen:
-d (--Domain) FQDN der Domäne. (Optional)
-dc (--DomainController) FQDN des Domänencontrollers. (Optional)
-ssl LDAP über SSL verwenden. (Optional)
-n CreateNetOnly (muss auf der Festplatte liegen) anstelle von PTT verwenden, wenn das ST importiert wird (aktiviert, wenn der FULL-Modus verwendet wird)
-v (--Verbose) Ausführliche Ausgabe anzeigen. (Optional)
