Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/dec0ne/davrelayup
Повышение привилегийЭксплуатацияЛатеральное перемещениеАутентификацияRed Teaming
GitHubdec0ne/davrelayup

DavRelayUp

Автоматизирует локальное повышение привилегий до SYSTEM на рабочих станциях Windows, присоединенных к домену, путем ретрансляции аутентификации NTLM из WebDAV в LDAP, используя делегирование на основе ограниченных ресурсов (RBCD) без необходимости принудительной подписи LDAP.

Репозиторий
575763 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

DavRelayUp

Быстрый и грязный порт KrbRelayUp с изменениями, позволяющими выполнять ретрансляцию NTLM из webdav в LDAP для упрощения эксплуатации следующего примитива атаки:

  1. (Опционально) Создание новой учетной записи компьютера (New-MachineAccount)
  2. Принудительный запуск службы WebClient
  3. Запуск сервера ретрансляции webdav (GoRelayServer — DLL на Golang, встроенная в DavRelayUp с помощью Costura.Fody)
  4. Принудительная аутентификация учетной записи локального компьютера (SharpSystemTriggers)
  5. Ретрансляция NTLM в LDAP
  6. Добавление привилегий RBCD и получение привилегированного ST для локального компьютера (Rubeus)
  7. Использование полученного ST для аутентификации в локальном Service Manager и создание новой службы с правами NT/SYSTEM. (SCMUACBypass)

По сути, это универсальное повышение привилегий без исправления на присоединённых к домену рабочих станциях Windows, где не принудительно применяется подпись LDAP (настройки по умолчанию).

Usage

root@kitploit:~
DavRelayUp - Relaying you to SYSTEM, again...

Usage: DavRelayUp.exe [-c] [-cn COMPUTERNAME] [-cp PASSWORD | -ch NTHASH]

RBCD Options:
    -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=DAVRELAYUP$)
    -cp  (--ComputerPassword)         Password of computer account for RBCD. (default=RANDOM [if -c is enabled])
    -ch  (--ComputerPasswordHash)     Password NT hash of computer account for RBCD. (either -cp or -ch must be specified)
    -i   (--Impersonate)              User to impersonate. Should be a local administrator in the target computer. (default=Administrator)

KrbSCM Options:
    -s   (--ServiceName)              Name of the service to be created. (default=KrbSCM)
    -sc  (--ServiceCommand)           Service command [binPath]. (default = spawn cmd.exe as SYSTEM)

General Options:
    -p  (--Port)                     Port for WebDAV Server (default=55555)
    -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 (Optional)
    -v  (--Verbose)                  Show verbose output. (Optional)
    -h  (--Help)                     Show help

Известные проблемы

Если DavRelayUp зависает на одном из этих этапов — попробуйте использовать другой порт, указав флаг [-p]

root@kitploit:~
DavRelayUp - Relaying you to SYSTEM, again...

[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
root@kitploit:~
DavRelayUp - Relaying you to SYSTEM, again...

[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
[+] WebDAV Request: No Authorization header
[+] WebDAV Response: Sending 401 Unauthorized with "WWW-Authenticate: NTLM" header

Примеры

https://github.com/Dec0ne/DavRelayUp/assets/54464773/4e791e8b-783c-48d3-b46b-8b22e2661ea1

пример

Сборка

  1. Соберите GoRelayServer (уже собран и готов в этом репозитории, но на случай, если вы хотите сделать это самостоятельно)
    root@kitploit:~
    PS C:\Tools\DavRelayUp> cd GoRelayServer
    PS C:\Tools\DavRelayUp\GoRelayServer> go build --buildmode=c-shared -ldflags="-s -w"  -o "../DavRelayUp/Costura64/GoRelayServer.dll" main.go
    
    Это соберёт DLL GoRelayServer и сохранит её в "DavRelayUp\DavRelayUp\Costura64\GoRelayServer.dll" — это папка, из которой Costura.Fody встроит её в итоговый исполняемый файл DavRelayUp.exe.
  2. Откройте KrbRelayUp.sln в Visual Studio 2019
  3. Убедитесь, что конфигурация решения установлена в Release, и выполните сборку (CTRL+SHIFT+B)

TODO

  • Добавить атаку ShadowCred в качестве метода RELAY
  • Добавить поддержку U2U для возможности атаки без необходимости в учётной записи компьютера

Смягчение и обнаружение

  • Принудительно применяйте подпись LDAP и связывание LDAP-каналов для предотвращения ретрансляции аутентификации учётной записи компьютера в LDAP. Это можно настроить через GPO "Domain Controller: LDAP server signing requirements". (Спасибо Will Dormann за его твит по этому вопросу)
  • Усложните получение требований для атаки, установив атрибут MS-DS-Machine-Account-Quota в AD на 0, тем самым удалив возможность любого пользователя добавлять новую учётную запись компьютера в домен. Это опасная настройка по умолчанию в AD — убедитесь, что вы её изменили.
  • Установка флага "Account is sensitive and cannot be delegated" для всех учётных записей администраторов (или помещение их в защищённые пользователи) сделает так, что не будет учётной записи с необходимыми привилегиями, которая может быть делегирована для завершения пути атаки. (Спасибо Christoph Falta за этот твит)
  • Ресурсы для возможных правил мониторинга и обнаружения:
    1. https://github.com/tsale/Sigma_rules/blob/main/windows_exploitation/KrbRelayUp.yml (@Kostastsale)
    2. https://twitter.com/SBousseaden/status/1518976397364056071 (@SBousseaden). В основном правило об аутентификации в Service Manager через Kerberos с 127.0.0.1, отличная работа!.
    3. https://www.linkedin.com/posts/john-dwyer-xforce_threathunting-threatdetection-blueteam-activity-6924739962131140608-py45/ (John Dwyer @TactiKoolSec)

Благодарности

  • James Forshaw за то, что разобрался, как использовать Kerberos Service Tickets для ЛОКАЛЬНОЙ аутентификации в Service Manager, что было недостающим элементом пазла для того, чтобы сделать этот примитив атаки только локальным (до этого нам приходилось экспортировать ST на удалённую машину, чтобы использовать её и получить привилегированный доступ к нашей целевой машине).
  • Kevin Robertson за его функциональность New-MachineAccount, которая использовалась в этом проекте.
  • Cube0x0 за его функциональность SharpSystemTriggers (в частности SharpEfsTrigger), которая использовалась в этом проекте.
  • Elad Shamir за его исследование RBCD – Wagging the Dog
  • Will Schroeder и всем, кто внёс вклад в Rubeus, который мы все знаем и любим. По сути, вся функциональность RBCD-S4U была взята оттуда.
  • Orange-Cyberdefense за их работу над GOAD, исследовательской AD-лабораторией, которую я использую и которую вы можете видеть в демо-видео и на изображениях.
  • Shantanu Khandelwal за его классную статью в блоге Red Team: How to embed Golang tools in C#
  • GoRelayServer построен на основе работы, проделанной над go-ldap, который я модифицировал для обеспечения ретрансляции NTLM из webdav в LDAP. Также спасибо Mariusz Banach за SharpWebServer, который я использовал, чтобы узнать, как работает NTLM-аутентификация webdav, и реализовал её в качестве серверного слушателя в GoRelayServer.
Скачать инструмент