Shadow Credentials
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Intro
Перевірте оригінальний пост для всієї інформації про цю техніку.
Як резюме: якщо ви можете записувати в атрибут msDS-KeyCredentialLink користувача/комп'ютера, ви можете отримати NT hash цього об'єкта.
У пості описано метод налаштування аутентифікаційних облікових даних з публічним-приватним ключем для отримання унікального Service Ticket, який містить NTLM hash цілі. Цей процес включає зашифрований NTLM_SUPPLEMENTAL_CREDENTIAL у Сертифікаті Атрибутів Привілеїв (PAC), який можна розшифрувати.
Requirements
Щоб застосувати цю техніку, необхідно виконати певні умови:
- Потрібен принаймні один контролер домену Windows Server 2016.
- Контролер домену повинен мати встановлений цифровий сертифікат для аутентифікації сервера.
- Active Directory повинна бути на функціональному рівні Windows Server 2016.
- Потрібен обліковий запис з делегованими правами для зміни атрибута msDS-KeyCredentialLink цільового об'єкта.
Abuse
Зловживання Key Trust для комп'ютерних об'єктів охоплює кроки, що виходять за межі отримання квитка на отримання квитка (TGT) та NTLM hash. Варіанти включають:
- Створення RC4 silver ticket для дій від імені привілейованих користувачів на цільовому хості.
- Використання TGT з S4U2Self для імперсонації привілейованих користувачів, що вимагає змін до Service Ticket для додавання класу служби до імені служби.
Значною перевагою зловживання Key Trust є його обмеження лише на приватний ключ, згенерований атакуючим, що уникає делегування потенційно вразливим обліковим записам і не вимагає створення облікового запису комп'ютера, що може бути складно видалити.
Tools
### Whisker
Цей інструмент базується на DSInternals, надаючи інтерфейс C# для цієї атаки. Whisker та його Python-еквівалент, pyWhisker, дозволяють маніпулювати атрибутом msDS-KeyCredentialLink
, щоб отримати контроль над обліковими записами Active Directory. Ці інструменти підтримують різні операції, такі як додавання, перерахування, видалення та очищення облікових даних ключів з цільового об'єкта.
Функції Whisker включають:
- Add: Генерує пару ключів і додає облікові дані ключа.
- List: Відображає всі записи облікових даних ключа.
- Remove: Видаляє вказані облікові дані ключа.
- Clear: Стирає всі облікові дані ключів, потенційно порушуючи законне використання WHfB.
Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
pyWhisker
Він розширює функціональність Whisker для систем на базі UNIX, використовуючи Impacket та PyDSInternals для всебічних можливостей експлуатації, включаючи перелік, додавання та видалення KeyCredentials, а також імпорт та експорт їх у форматі JSON.
python3 pywhisker.py -d "domain.local" -u "user1" -p "complexpassword" --target "user2" --action "list"
ShadowSpray
ShadowSpray має на меті використовувати дозволи GenericWrite/GenericAll, які можуть мати широкі групи користувачів над об'єктами домену, щоб широко застосовувати ShadowCredentials. Це передбачає вхід до домену, перевірку функціонального рівня домену, перерахування об'єктів домену та спробу додати KeyCredentials для отримання TGT та розкриття NT хешу. Варіанти очищення та рекурсивні тактики експлуатації підвищують його корисність.
References
- https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab
- https://github.com/eladshamir/Whisker
- https://github.com/Dec0ne/ShadowSpray/
- https://github.com/ShutdownRepo/pywhisker
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.