From 4526753b8dd84a256b72089751ece034c77e5f95 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 9 Jul 2025 16:59:14 +0000 Subject: [PATCH] Translated ['src/windows-hardening/active-directory-methodology/TimeRoas --- .../active-directory-methodology/TimeRoasting.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/windows-hardening/active-directory-methodology/TimeRoasting.md b/src/windows-hardening/active-directory-methodology/TimeRoasting.md index 5caab37bc..3110fd5c3 100644 --- a/src/windows-hardening/active-directory-methodology/TimeRoasting.md +++ b/src/windows-hardening/active-directory-methodology/TimeRoasting.md @@ -1,6 +1,6 @@ ## TimeRoasting -timeRoasting, मुख्य कारण Microsoft द्वारा NTP सर्वरों के लिए छोड़े गए पुराने प्रमाणीकरण तंत्र है, जिसे MS-SNTP के रूप में जाना जाता है। इस तंत्र में, क्लाइंट किसी भी कंप्यूटर खाते के Relative Identifier (RID) का सीधे उपयोग कर सकते हैं, और डोमेन नियंत्रक कंप्यूटर खाते के NTLM हैश (जो MD4 द्वारा उत्पन्न होता है) को प्रतिक्रिया पैकेट के **Message Authentication Code (MAC)** उत्पन्न करने के लिए कुंजी के रूप में उपयोग करेगा। +timeRoasting, मुख्य कारण Microsoft द्वारा NTP सर्वरों के लिए छोड़े गए पुराने प्रमाणीकरण तंत्र, जिसे MS-SNTP के रूप में जाना जाता है। इस तंत्र में, क्लाइंट सीधे किसी भी कंप्यूटर खाते के Relative Identifier (RID) का उपयोग कर सकते हैं, और डोमेन नियंत्रक कंप्यूटर खाते के NTLM हैश (जो MD4 द्वारा उत्पन्न होता है) को प्रतिक्रिया पैकेट के **Message Authentication Code (MAC)** उत्पन्न करने के लिए कुंजी के रूप में उपयोग करेगा। हमलावर इस तंत्र का लाभ उठाकर प्रमाणीकरण के बिना मनमाने कंप्यूटर खातों के समकक्ष हैश मान प्राप्त कर सकते हैं। स्पष्ट रूप से, हम ब्रूट-फोर्सिंग के लिए Hashcat जैसे उपकरणों का उपयोग कर सकते हैं। @@ -11,17 +11,17 @@ timeRoasting, मुख्य कारण Microsoft द्वारा NTP स यह देखा जा सकता है कि जब 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 उपक्षेत्र के सबसे महत्वपूर्ण बिट में लिखता है। +>>यदि 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 क्षेत्र को गणना की गई क्रिप्टो-चेकसम पर सेट करता है। +>>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 में निर्दिष्ट है) का उपयोग करके निम्नलिखित इनपुट पैरामीटर के साथ क्रिप्टो-चेकसम्स की गणना करता है: +>>सर्वर Client NTP Request संदेश के Authenticator क्षेत्र के Key Identifier उपक्षेत्र के सबसे कम महत्वपूर्ण 31 बिट से RID प्राप्त करता है। सर्वर NetrLogonComputeServerDigest विधि (जैसा कि [MS-NRPC] अनुभाग 3.5.4.8.2 में निर्दिष्ट है) का उपयोग करके निम्नलिखित इनपुट पैरामीटर के साथ क्रिप्टो-चेकसम्स की गणना करता है: >>>![](../../images/Pasted%20image%2020250709115757.png) क्रिप्टोग्राफिक चेकसम MD5 का उपयोग करके गणना की जाती है, और विशिष्ट प्रक्रिया का संदर्भ दस्तावेज़ की सामग्री में लिया जा सकता है। यह हमें एक रोस्टिंग हमले को अंजाम देने का अवसर देता है। @@ -34,3 +34,5 @@ Quote to https://swisskyrepo.github.io/InternalAllTheThings/active-directory/ad- ``` sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt hashcat -m 31300 ntp-hashes.txt +``` +