mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	Translated ['src/windows-hardening/active-directory-methodology/TimeRoas
This commit is contained in:
		
							parent
							
								
									8504345f1d
								
							
						
					
					
						commit
						24292a9eb9
					
				
							
								
								
									
										
											BIN
										
									
								
								src/images/Pasted image 20250709114508.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/images/Pasted image 20250709114508.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 103 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/images/Pasted image 20250709115757.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/images/Pasted image 20250709115757.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 147 KiB  | 
@ -0,0 +1,36 @@
 | 
			
		||||
## TimeRoasting
 | 
			
		||||
 | 
			
		||||
timeRoasting, основна причина - застарілий механізм аутентифікації, залишений Microsoft у його розширенні до NTP серверів, відомому як MS-SNTP. У цьому механізмі клієнти можуть безпосередньо використовувати будь-який відносний ідентифікатор (RID) облікового запису комп'ютера, а контролер домену використовуватиме NTLM хеш облікового запису комп'ютера (згенерований MD4) як ключ для генерації **Message Authentication Code (MAC)** пакета відповіді.
 | 
			
		||||
 | 
			
		||||
Зловмисники можуть експлуатувати цей механізм для отримання еквівалентних хеш-значень довільних облікових записів комп'ютерів без аутентифікації. Очевидно, ми можемо використовувати інструменти, такі як Hashcat, для брутфорсингу.
 | 
			
		||||
 | 
			
		||||
Конкретний механізм можна переглянути в розділі 3.1.5.1 "Поведение запиту на аутентифікацію" офіційної [документації Windows для протоколу MS-SNTP](https://winprotocoldoc.z19.web.core.windows.net/MS-SNTP/%5bMS-SNTP%5d.pdf).
 | 
			
		||||
 | 
			
		||||
У документі, розділ 3.1.5.1 охоплює Поведение запиту на аутентифікацію.
 | 
			
		||||

 | 
			
		||||
Можна побачити, що коли елемент ADM ExtendedAuthenticatorSupported встановлений на `false`, оригінальний формат Markdown зберігається.
 | 
			
		||||
 | 
			
		||||
>Цитата з оригінальної статті:
 | 
			
		||||
>>Якщо елемент ADM ExtendedAuthenticatorSupported є false, клієнт ПОВИНЕН створити повідомлення запиту клієнта NTP. Довжина повідомлення запиту клієнта NTP становить 68 байт. Клієнт встановлює поле Authenticator повідомлення запиту клієнта NTP, як описано в розділі 2.2.1, записуючи найменш значущі 31 біт значення RID у найменш значущі 31 біт підполя ідентифікатора ключа аутентифікатора, а потім записуючи значення селектора ключа у найзначніший біт підполя ідентифікатора ключа.
 | 
			
		||||
 | 
			
		||||
У розділі 4 Приклади протоколу пункт 3
 | 
			
		||||
 | 
			
		||||
>Цитата з оригінальної статті:
 | 
			
		||||
>>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.
 | 
			
		||||
 | 
			
		||||
## how to attack
 | 
			
		||||
 | 
			
		||||
Цитата на https://swisskyrepo.github.io/InternalAllTheThings/active-directory/ad-roasting-timeroasting/
 | 
			
		||||
 | 
			
		||||
[SecuraBV/Timeroast](https://github.com/SecuraBV/Timeroast) - Скрипти Timeroasting від Тома Терворта
 | 
			
		||||
```
 | 
			
		||||
sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt
 | 
			
		||||
hashcat -m 31300 ntp-hashes.txt
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user