diff --git a/src/images/Pasted image 20250709114508.png b/src/images/Pasted image 20250709114508.png new file mode 100644 index 000000000..d6cb01d9f Binary files /dev/null and b/src/images/Pasted image 20250709114508.png differ diff --git a/src/images/Pasted image 20250709115757.png b/src/images/Pasted image 20250709115757.png new file mode 100644 index 000000000..4693e9e61 Binary files /dev/null and b/src/images/Pasted image 20250709115757.png differ diff --git a/src/windows-hardening/active-directory-methodology/TimeRoasting.md b/src/windows-hardening/active-directory-methodology/TimeRoasting.md new file mode 100644 index 000000000..5caab37bc --- /dev/null +++ b/src/windows-hardening/active-directory-methodology/TimeRoasting.md @@ -0,0 +1,36 @@ +## TimeRoasting + +timeRoasting, मुख्य कारण Microsoft द्वारा NTP सर्वरों के लिए छोड़े गए पुराने प्रमाणीकरण तंत्र है, जिसे MS-SNTP के रूप में जाना जाता है। इस तंत्र में, क्लाइंट किसी भी कंप्यूटर खाते के Relative Identifier (RID) का सीधे उपयोग कर सकते हैं, और डोमेन नियंत्रक कंप्यूटर खाते के NTLM हैश (जो MD4 द्वारा उत्पन्न होता है) को प्रतिक्रिया पैकेट के **Message Authentication Code (MAC)** उत्पन्न करने के लिए कुंजी के रूप में उपयोग करेगा। + +हमलावर इस तंत्र का लाभ उठाकर प्रमाणीकरण के बिना मनमाने कंप्यूटर खातों के समकक्ष हैश मान प्राप्त कर सकते हैं। स्पष्ट रूप से, हम ब्रूट-फोर्सिंग के लिए Hashcat जैसे उपकरणों का उपयोग कर सकते हैं। + +विशिष्ट तंत्र को [MS-SNTP प्रोटोकॉल के लिए आधिकारिक Windows दस्तावेज़](https://winprotocoldoc.z19.web.core.windows.net/MS-SNTP/%5bMS-SNTP%5d.pdf) के अनुभाग 3.1.5.1 "Authentication Request Behavior" में देखा जा सकता है। + +दस्तावेज़ में, अनुभाग 3.1.5.1 प्रमाणीकरण अनुरोध व्यवहार को कवर करता है। +![](../../images/Pasted%20image%2020250709114508.png) +यह देखा जा सकता है कि जब ExtendedAuthenticatorSupported ADM तत्व को `false` पर सेट किया जाता है, तो मूल Markdown प्रारूप बरकरार रहता है। + +>उद्धृत मूल लेख में: +>>यदि ExtendedAuthenticatorSupported ADM तत्व false है, तो क्लाइंट को एक Client NTP Request संदेश बनाना चाहिए। Client NTP Request संदेश की लंबाई 68 बाइट है। क्लाइंट Client NTP Request संदेश के Authenticator क्षेत्र को अनुभाग 2.2.1 में वर्णित के अनुसार सेट करता है, RID मान के सबसे कम महत्वपूर्ण 31 बिट्स को ऑथेंटिकेटर के Key Identifier उपक्षेत्र के सबसे कम महत्वपूर्ण 31 बिट्स में लिखता है, और फिर Key Selector मान को Key Identifier उपक्षेत्र के सबसे महत्वपूर्ण बिट में लिखता है। + +दस्तावेज़ के अनुभाग 4 प्रोटोकॉल उदाहरण बिंदु 3 + +>उद्धृत मूल लेख में: +>>3. अनुरोध प्राप्त करने के बाद, सर्वर यह सत्यापित करता है कि प्राप्त संदेश का आकार 68 बाइट है। यदि ऐसा नहीं है, तो सर्वर या तो अनुरोध को छोड़ देता है (यदि संदेश का आकार 48 बाइट के बराबर नहीं है) या इसे एक अनधिकृत अनुरोध के रूप में मानता है (यदि संदेश का आकार 48 बाइट है)। मान लेते हैं कि प्राप्त संदेश का आकार 68 बाइट है, सर्वर प्राप्त संदेश से RID निकालता है। सर्वर इसका उपयोग NetrLogonComputeServerDigest विधि (जैसा कि [MS-NRPC] अनुभाग 3.5.4.8.2 में निर्दिष्ट है) को कॉल करने के लिए करता है ताकि क्रिप्टो-चेकसम्स की गणना की जा सके और प्राप्त संदेश से Key Identifier उपक्षेत्र के सबसे महत्वपूर्ण बिट के आधार पर क्रिप्टो-चेकसम का चयन किया जा सके, जैसा कि अनुभाग 3.2.5 में निर्दिष्ट है। सर्वर फिर क्लाइंट को एक प्रतिक्रिया भेजता है, Key Identifier क्षेत्र को 0 पर सेट करता है और Crypto-Checksum क्षेत्र को गणना की गई क्रिप्टो-चेकसम पर सेट करता है। + +उपरोक्त Microsoft आधिकारिक दस्तावेज़ में वर्णन के अनुसार, उपयोगकर्ताओं को किसी प्रमाणीकरण की आवश्यकता नहीं है; उन्हें केवल अनुरोध शुरू करने के लिए RID भरने की आवश्यकता है, और फिर वे क्रिप्टोग्राफिक चेकसम प्राप्त कर सकते हैं। क्रिप्टोग्राफिक चेकसम का विवरण दस्तावेज़ के अनुभाग 3.2.5.1.1 में दिया गया है। + +>उद्धृत मूल लेख में: +>>सर्वर Client NTP Request संदेश के Authenticator क्षेत्र के Key Identifier उपक्षेत्र के सबसे कम महत्वपूर्ण 31 बिट्स से RID प्राप्त करता है। सर्वर NetrLogonComputeServerDigest विधि (जैसा कि [MS-NRPC] अनुभाग 3.5.4.8.2 में निर्दिष्ट है) का उपयोग करके निम्नलिखित इनपुट पैरामीटर के साथ क्रिप्टो-चेकसम्स की गणना करता है: +>>>![](../../images/Pasted%20image%2020250709115757.png) + +क्रिप्टोग्राफिक चेकसम MD5 का उपयोग करके गणना की जाती है, और विशिष्ट प्रक्रिया का संदर्भ दस्तावेज़ की सामग्री में लिया जा सकता है। यह हमें एक रोस्टिंग हमले को अंजाम देने का अवसर देता है। + +## how to attack + +Quote to https://swisskyrepo.github.io/InternalAllTheThings/active-directory/ad-roasting-timeroasting/ + +[SecuraBV/Timeroast](https://github.com/SecuraBV/Timeroast) - Timeroasting scripts by Tom Tervoort +``` +sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt +hashcat -m 31300 ntp-hashes.txt