Shadow Credentials

Support HackTricks

Intro

Check the original post for all the information about this technique.

Якщо підсумувати: якщо ви можете записати в атрибут msDS-KeyCredentialLink користувача/комп'ютера, ви можете отримати NT хеш цього об'єкта.

У пості описано метод налаштування аутентифікаційних облікових даних з публічним-приватним ключем для отримання унікального Сервісного Квитка, який містить NTLM хеш цілі. Цей процес включає зашифрований NTLM_SUPPLEMENTAL_CREDENTIAL у Сертифікаті Атрибутів Привілеїв (PAC), який можна розшифрувати.

Requirements

Щоб застосувати цю техніку, необхідно виконати певні умови:

  • Потрібен принаймні один контролер домену Windows Server 2016.

  • Контролер домену повинен мати встановлений цифровий сертифікат для аутентифікації сервера.

  • Active Directory повинна бути на функціональному рівні Windows Server 2016.

  • Потрібен обліковий запис з делегованими правами для зміни атрибута msDS-KeyCredentialLink цільового об'єкта.

Abuse

Зловживання Key Trust для комп'ютерних об'єктів охоплює кроки, що виходять за межі отримання Квитка на Надання Квитка (TGT) та NTLM хешу. Варіанти включають:

  1. Створення RC4 срібного квитка для дій від імені привілейованих користувачів на цільовому хості.

  2. Використання TGT з S4U2Self для імперсонації привілейованих користувачів, що вимагає змін до Сервісного Квитка для додавання класу сервісу до імені сервісу.

Значною перевагою зловживання 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

Він розширює функціональність Whisker для систем на базі UNIX, використовуючи Impacket та PyDSInternals для всебічних можливостей експлуатації, включаючи перелік, додавання та видалення KeyCredentials, а також імпорт та експорт їх у форматі JSON.

python3 pywhisker.py -d "domain.local" -u "user1" -p "complexpassword" --target "user2" --action "list"

ShadowSpray має на меті використати дозволи GenericWrite/GenericAll, які можуть мати широкі групи користувачів над об'єктами домену, щоб широко застосувати ShadowCredentials. Це передбачає вхід до домену, перевірку функціонального рівня домену, перерахування об'єктів домену та спробу додати KeyCredentials для отримання TGT та розкриття NT hash. Варіанти очищення та рекурсивні тактики експлуатації підвищують його корисність.

References

Support HackTricks

Last updated