TimeRoasting

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

timeRoasting, मुख्य कारण Microsoft द्वारा NTP सर्वरों के लिए छोड़े गए पुराने प्रमाणीकरण तंत्र है, जिसे MS-SNTP के रूप में जाना जाता है। इस तंत्र में, क्लाइंट सीधे किसी भी कंप्यूटर खाते के Relative Identifier (RID) का उपयोग कर सकते हैं, और डोमेन कंट्रोलर कंप्यूटर खाते के NTLM हैश (जो MD4 द्वारा उत्पन्न होता है) को प्रतिक्रिया पैकेट के Message Authentication Code (MAC) उत्पन्न करने के लिए कुंजी के रूप में उपयोग करेगा।

हमलावर इस तंत्र का लाभ उठाकर प्रमाणीकरण के बिना मनमाने कंप्यूटर खातों के समकक्ष हैश मान प्राप्त कर सकते हैं। स्पष्ट रूप से, हम ब्रूट-फोर्सिंग के लिए Hashcat जैसे उपकरणों का उपयोग कर सकते हैं।

विशिष्ट तंत्र को MS-SNTP प्रोटोकॉल के लिए आधिकारिक Windows दस्तावेज़ के अनुभाग 3.1.5.1 "Authentication Request Behavior" में देखा जा सकता है।

दस्तावेज़ में, अनुभाग 3.1.5.1 प्रमाणीकरण अनुरोध व्यवहार को कवर करता है। यह देखा जा सकता है कि जब 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

उद्धृत मूल लेख में:

  1. अनुरोध प्राप्त करने के बाद, सर्वर यह सत्यापित करता है कि प्राप्त संदेश का आकार 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 में निर्दिष्ट है) का उपयोग करके निम्नलिखित इनपुट पैरामीटर के साथ क्रिप्टो-चेकसम की गणना करता है:

क्रिप्टोग्राफिक चेकसम MD5 का उपयोग करके गणना की जाती है, और विशिष्ट प्रक्रिया का संदर्भ दस्तावेज़ की सामग्री में लिया जा सकता है। यह हमें एक रोस्टिंग हमले को करने का अवसर देता है।

कैसे हमला करें

Quote to https://swisskyrepo.github.io/InternalAllTheThings/active-directory/ad-roasting-timeroasting/

SecuraBV/Timeroast - Timeroasting scripts by Tom Tervoort

sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt
hashcat -m 31300 ntp-hashes.txt

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें