TimeRoasting
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
timeRoasting, основна причина - застарілий механізм аутентифікації, залишений Microsoft у його розширенні до NTP серверів, відомому як MS-SNTP. У цьому механізмі клієнти можуть безпосередньо використовувати будь-який відносний ідентифікатор (RID) облікового запису комп'ютера, а контролер домену використовуватиме NTLM хеш облікового запису комп'ютера (згенерований MD4) як ключ для генерації Message Authentication Code (MAC) пакета відповіді.
Зловмисники можуть експлуатувати цей механізм для отримання еквівалентних хеш-значень довільних облікових записів комп'ютерів без аутентифікації. Очевидно, ми можемо використовувати такі інструменти, як Hashcat для брутфорсингу.
Конкретний механізм можна переглянути в розділі 3.1.5.1 "Поведение запиту на аутентифікацію" офіційної документації Windows для протоколу MS-SNTP.
У документі, розділ 3.1.5.1 охоплює Поведение запиту на аутентифікацію.
Можна побачити, що коли елемент ADM ExtendedAuthenticatorSupported встановлений на
false
, оригінальний формат Markdown зберігається.
Цитата з оригінальної статті:
Якщо елемент ADM ExtendedAuthenticatorSupported є false, клієнт ПОВИНЕН створити повідомлення запиту клієнта NTP. Довжина повідомлення запиту клієнта NTP становить 68 байт. Клієнт встановлює поле Authenticator повідомлення запиту клієнта NTP, як описано в розділі 2.2.1, записуючи найменш значущі 31 біт значення RID у найменш значущі 31 біт підполя ідентифікатора ключа аутентифікатора, а потім записуючи значення вибору ключа у найзначніший біт підполя ідентифікатора ключа.
У розділі 4 Документу Приклади протоколу пункт 3
Цитата з оригінальної статті:
- Після отримання запиту сервер перевіряє, що розмір отриманого повідомлення становить 68 байт. Якщо це не так, сервер або відхиляє запит (якщо розмір повідомлення не дорівнює 48 байтам), або розглядає його як неаутентифікований запит (якщо розмір повідомлення становить 48 байт). Припустимо, що розмір отриманого повідомлення становить 68 байт, сервер витягує RID з отриманого повідомлення. Сервер використовує його для виклику методу NetrLogonComputeServerDigest (як зазначено в [MS-NRPC] розділ 3.5.4.8.2) для обчислення крипто-перевірок і вибору крипто-перевірки на основі найзначнішого біта підполя ідентифікатора ключа з отриманого повідомлення, як зазначено в розділі 3.2.5. Сервер потім надсилає відповідь клієнту, встановлюючи поле ідентифікатора ключа на 0 і поле крипто-перевірки на обчислену крипто-перевірку.
Згідно з описом у вищезгаданому офіційному документі Microsoft, користувачам не потрібна жодна аутентифікація; їм потрібно лише заповнити RID, щоб ініціювати запит, а потім вони можуть отримати криптографічну перевірку. Криптографічна перевірка пояснюється в розділі 3.2.5.1.1 документа.
Цитата з оригінальної статті:
Сервер отримує RID з найменш значущих 31 біта підполя ідентифікатора ключа поля аутентифікатора повідомлення запиту клієнта NTP. Сервер використовує метод NetrLogonComputeServerDigest (як зазначено в [MS-NRPC] розділ 3.5.4.8.2) для обчислення крипто-перевірок з наступними вхідними параметрами:
Криптографічна перевірка обчислюється за допомогою MD5, а конкретний процес можна знайти в змісті документа. Це дає нам можливість виконати атаку на roasting.
як атакувати
Цитата на https://swisskyrepo.github.io/InternalAllTheThings/active-directory/ad-roasting-timeroasting/
SecuraBV/Timeroast - Скрипти Timeroasting від Тома Терворта
sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt
hashcat -m 31300 ntp-hashes.txt
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.