Авторский канал по современной кибербезопасности без воды и лишнего мусора.
По вопросам можно обращаться в директ канала.
Post #258
523

🔥 RBCD-атака без учетки с SPN
Долгое время считалось, что для RBCD обязательно нужен машинный аккаунт или объект с SPN. Но на самом деле атаку можно провести от лица обычного доменного пользователя. Особенно актуально когда
Почему без SPN не работает?
При S4U2Self KDC должен зашифровать выданный тикет ключом аккаунта. Для аккаунтов с SPN KDC резолвит ключ через него. Для обычного пользователя без SPN KDC не может определить какой ключ использовать и возвращает
Для обхода этого ограничения используется расширение U2U. Клиент передаёт свой TGT вместе с S4U2Self запросом. KDC шифрует тикет не долгосрочным ключом аккаунта, а session key из переданного TGT. Проблема с резолвингом ключа исчезает.
Но S4U2Proxy всё равно падает, потому что он пытается расшифровать тикет долгосрочным ключом аккаунта, а тикет зашифрован session key. KDC расшифровать не может и возникает ошибка
Решением здесь будет через
Цепочка атаки выглядит так:
1. Запрос TGT и извлечение сессионного ключа
2. Использование сессионного ключа в качестве NT хэша
4. S4U2Self+U2U
5. S4U2Proxy
6. Получаем сервисный тикет от имени любого пользователя.
Ограничения:
- RC4 (Etype 23) должен быть включён в домене
- Пароль аккаунта временно меняется в процессе
Почитать подробнее можно в статье:
https://www.tiraniddo.dev/2022/05/exploiting-rbcd-using-normal-user.html
И также недавно вышел замечательный PoC, который позволяет провести эту атаку удаленно.
https://github.com/jarnovandenbrink/getSPNless
#ad #kerberos #rbcd #redteam
Долгое время считалось, что для RBCD обязательно нужен машинный аккаунт или объект с SPN. Но на самом деле атаку можно провести от лица обычного доменного пользователя. Особенно актуально когда
MachineAccountQuota = 0, что не позволит создать компьютерную учетку с SPN. Почему без SPN не работает?
При S4U2Self KDC должен зашифровать выданный тикет ключом аккаунта. Для аккаунтов с SPN KDC резолвит ключ через него. Для обычного пользователя без SPN KDC не может определить какой ключ использовать и возвращает
KDC_ERR_S_PRINCIPAL_UNKNOWN.Для обхода этого ограничения используется расширение U2U. Клиент передаёт свой TGT вместе с S4U2Self запросом. KDC шифрует тикет не долгосрочным ключом аккаунта, а session key из переданного TGT. Проблема с резолвингом ключа исчезает.
Но S4U2Proxy всё равно падает, потому что он пытается расшифровать тикет долгосрочным ключом аккаунта, а тикет зашифрован session key. KDC расшифровать не может и возникает ошибка
KDC_ERR_BADOPTION.Решением здесь будет через
SamrChangePasswordUser установить NT хэш аккаунта равным session key из TGT. Долгосрочный ключ аккаунта и ключ которым зашифрован U2U тикет становятся одним значением. KDC расшифровывает тикет, проверяет PAC, S4U2Proxy проходит успешно.Цепочка атаки выглядит так:
1. Запрос TGT и извлечение сессионного ключа
2. Использование сессионного ключа в качестве NT хэша
4. S4U2Self+U2U
5. S4U2Proxy
6. Получаем сервисный тикет от имени любого пользователя.
Ограничения:
- RC4 (Etype 23) должен быть включён в домене
- Пароль аккаунта временно меняется в процессе
Почитать подробнее можно в статье:
https://www.tiraniddo.dev/2022/05/exploiting-rbcd-using-normal-user.html
И также недавно вышел замечательный PoC, который позволяет провести эту атаку удаленно.
https://github.com/jarnovandenbrink/getSPNless
#ad #kerberos #rbcd #redteam
- 🔥 4
- ❤ 1
- 👍 1










