Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Internal-Monologue — Internal Monologue Attack: बिना LSASS को छुए NTLM हैश प्राप्त करना | Kitploit
उपकरण/GitHubGitHub/eladshamir/internal-monologue
पासवर्ड हमलेपार्श्व आंदोलनपोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubeladshamir/internal-monologue

Internal-Monologue

Internal Monologue Attack: बिना LSASS को छुए NTLM हैश प्राप्त करना

रिपॉजिटरी देखें
1.7k23857 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

आंतरिक एकालाप हमला: LSASS को छुए बिना NTLM हैश प्राप्त करना

परिचय

मिमिकैट्ज़, जिसे बेंजामिन डेल्पी (@gentilkiwi) ने विकसित किया है, एक प्रसिद्ध पोस्ट-एक्स्प्लॉयटेशन उपकरण है, जो विरोधियों को मेमोरी से सादा पाठ पासवर्ड, NTLM हैश और केर्बेरोस टिकट निकालने के साथ-साथ pass-the-hash, pass-the-ticket या गोल्डन टिकट बनाने जैसे हमले करने की अनुमति देता है। निस्संदेह, मिमिकैट्ज़ का प्राथमिक उपयोग LSASS प्रक्रिया मेमोरी से उपयोगकर्ता क्रेडेंशियल्स प्राप्त करना है, जिसका उपयोग पोस्ट-एक्स्प्लॉयटेशन लेटरल मूवमेंट में किया जाता है।

हाल ही में, माइक्रोसॉफ्ट ने विंडोज 10 एंटरप्राइज और विंडोज सर्वर 2016 में क्रेडेंशियल गार्ड पेश किया है, जो रहस्यों को अलग करने के लिए वर्चुअलाइजेशन-आधारित सुरक्षा का उपयोग करता है, और यह मिमिकैट्ज़ को मेमोरी से सीधे हैश प्राप्त करने से रोकने में बहुत प्रभावी है। साथ ही, मिमिकैट्ज़ अधिकांश एंडपॉइंट सुरक्षा समाधानों का प्रमुख लक्ष्य बन गया है, और वे इसका पता लगाने और रोकने के अपने प्रयासों में बहुत आक्रामक हैं। हालाँकि ये प्रयास विफल होने के लिए बाध्य हैं, वे तेजी से एक उपद्रव बनते जा रहे हैं।

NetNTLM

NetNTLM विंडोज का चैलेंज-रिस्पॉन्स प्रोटोकॉल है जिसका उपयोग मुख्य रूप से वहाँ किया जाता है जहाँ केर्बेरोस समर्थित नहीं है। NetNTLM में, सर्वर क्लाइंट को एक यादृच्छिक 8-बाइट नॉन्स चैलेंज के रूप में भेजता है, और क्लाइंट एक प्रतिक्रिया की गणना करता है जो NTLM हैश को कुंजी के रूप में उपयोग करके चैलेंज को प्रोसेस करता है, जो उपयोगकर्ता के पासवर्ड का MD4 हैश है। NetNTLM प्रमाणीकरण प्रोटोकॉल के दो संस्करण हैं, और दोनों कुछ हमलों के प्रति संवेदनशील हैं। स्वाभाविक रूप से, संस्करण 1 संस्करण 2 की तुलना में काफी कमजोर है, और इसलिए विंडोज विस्टा/2008 के अनुसार NetNTLM संस्करण 1 डिफ़ॉल्ट रूप से अक्षम है।

Pass the Hash

क्योंकि NTLM हैश प्रतिक्रिया की गणना करने की कुंजी है, एक विरोधी को प्रमाणित करने के लिए पीड़ित का सादा पाठ पासवर्ड प्राप्त करना आवश्यक नहीं है, इसलिए मिमिकैट्ज़ का उपयोग करके LSASS मेमोरी से हैश प्राप्त करना लगभग सादा पाठ पासवर्ड चुराने के बराबर है। क्रिस हम्मेल ने 2009 में इस तकनीक का वर्णन करते हुए एक लेख प्रकाशित किया और इसका नाम "Pass the Hash" रखा [https://www.sans.org/reading-room/whitepapers/testing/crack-pass-hash-33219]।

Divide and Conquer

डेफकॉन 2012 में, मोक्सी मार्लिनस्पाइक और डेविड हल्टन ने NetNTLMv1 के खिलाफ एक "Divide and Conquer" हमला प्रस्तुत किया [https://www.youtube.com/watch?v=sIidzPntdCM]। NetNTLMv1 में, क्लाइंट 8-बाइट चैलेंज प्राप्त करता है और NTLM हैश के विभिन्न भागों को कुंजी के रूप में उपयोग करके इसे तीन बार DES का उपयोग करके एन्क्रिप्ट करके प्रतिक्रिया की गणना करता है। DES के लिए कुंजी की लंबाई प्रभावी रूप से 56 बिट्स है, जो 7 बाइट्स है, जबकि NTLM हैश 16 बाइट्स है। NetNTLMv1 पहले NTLM हैश के पहले 7 बाइट्स को कुंजी के रूप में उपयोग करके चैलेंज को एन्क्रिप्ट करता है, फिर NTLM हैश के अगले 7 बाइट्स को कुंजी के रूप में उपयोग करके चैलेंज को एन्क्रिप्ट करता है, और अंत में NTLM हैश के अंतिम 2 बाइट्स को शून्य-बाइट्स से पैड करके कुंजी के रूप में उपयोग करके चैलेंज को एन्क्रिप्ट करता है। प्रभावी रूप से, इसका मतलब है कि NetNTLMv1 चैलेंज और प्रतिक्रिया दिए जाने पर NTLM हैश प्राप्त करने के लिए, एक विरोधी को दो 56-बिट DES कुंजियों को क्रैक करना होगा, जो एकल 128-बिट कुंजी को क्रैक करने की तुलना में अधिक आसान है। मोक्सी और हल्टन ने इस कार्य के लिए कस्टम हार्डवेयर विकसित किया और 24 घंटे से भी कम समय में पूरे DES कीस्पेस को ब्रूट-फोर्स करने में सक्षम थे, जो एक उचित समय में NTLM हैश की सफल पुनर्प्राप्ति की गारंटी देता है। ध्यान दें कि पासवर्ड के खिलाफ शब्दकोश या ब्रूट फोर्स हमलों के विपरीत, जो फलदायी नहीं हो सकते हैं, यह हमला NTLM हैश की सफल पुनर्प्राप्ति की गारंटी देता है।

रेनबो टेबल्स

जैसा कि ToorCon ने https://crack.sh पर प्रदर्शित किया, चुने गए चैलेंज, जैसे 0x1122334455667788, के लिए सभी संभावित NetNTLMv1 प्रतिक्रियाओं के लिए एक पूर्ण रेनबो टेबल बनाना संभव है, जो मिनटों में दी गई प्रतिक्रिया के लिए NTLM हैश को क्रैक करने की अनुमति देता है। निहितार्थ यह है कि चुने गए चैलेंज के लिए NetNTLMv1 प्रतिक्रिया को कैप्चर करना लगभग तुरंत संबंधित NTLM हैश में अनुवादित किया जा सकता है, जो Pass the Hash के कारण पासवर्ड प्राप्त करने के लगभग समकक्ष है।

NetNTLM डाउनग्रेड हमला

मिमिकैट्ज़ आमतौर पर तब निष्पादित किया जाता है जब विरोधी को लक्ष्य होस्ट तक उन्नत पहुंच प्राप्त हो जाती है। इस बिंदु पर, विरोधी रजिस्ट्री कुंजियाँ बदल सकता है, जैसे LMCompatibilityLevel, जो निर्दिष्ट करता है कि होस्ट को NetNTLMv1 या NetNTLMv2 पर बातचीत करनी चाहिए या नहीं। विरोधी मान को 0, 1 या 2 में बदल सकता है, जो क्लाइंट के रूप में NetNTLMv1 को सक्षम करता है, और फिर एक दुष्ट SMB सर्वर को प्रमाणित करने का प्रयास करता है जो क्लाइंट की प्रतिक्रिया को कैप्चर करेगा, जैसा कि Optiv के ब्लॉग पोस्ट [https://www.optiv.com/blog/post-exploitation-using-netntlm-downgrade-attacks] में वर्णित है।

विस्तारित NetNTLM डाउनग्रेड हमला

दो और सेटिंग्स पीड़ित को NetNTLMv1 प्रतिक्रिया पर बातचीत करने से रोक सकती हैं:

  1. NTLMMinClientSec - यदि "Require NTLMv2 session security" पर कॉन्फ़िगर किया गया है, तो यदि NTLMv2 प्रोटोकॉल पर बातचीत नहीं की जाती है तो कनेक्शन विफल हो जाएगा।
  2. RestrictSendingNTLMTraffic - यदि "Deny all" पर कॉन्फ़िगर किया गया है, तो क्लाइंट कंप्यूटर किसी भी संस्करण के NetNTLM के साथ दूरस्थ सर्वर पर प्रमाणित नहीं हो सकता है। NetNTLM डाउनग्रेड हमले के समान, यदि आवश्यक हो तो ये सेटिंग्स बदली जा सकती हैं। ध्यान दें कि LMCompatibilityLevel के विपरीत, ये सेटिंग्स डिफ़ॉल्ट रूप से NetNTLMv1 प्रमाणीकरण को ब्लॉक करने के लिए कॉन्फ़िगर नहीं की गई हैं।

आंतरिक एकालाप हमला

सुरक्षित वातावरण में, जहाँ मिमिकैट्ज़ को निष्पादित नहीं किया जाना चाहिए, एक विरोधी आंतरिक एकालाप हमला कर सकता है, जिसमें वे विस्तारित NetNTLM डाउनग्रेड करने के बाद, उपयोगकर्ता-मोड एप्लिकेशन से SSPI के माध्यम से NTLM प्रमाणीकरण पैकेज (MSV1_0) के लिए एक स्थानीय प्रक्रिया कॉल को आमंत्रित करते हैं ताकि लॉग ऑन उपयोगकर्ता के संदर्भ में NetNTLM प्रतिक्रिया की गणना की जा सके।

आंतरिक एकालाप हमले का प्रवाह नीचे वर्णित है:

  1. LMCompatibilityLevel, NTLMMinClientSec और RestrictSendingNTLMTraffic को ऊपर वर्णित उपयुक्त मानों में बदलकर NetNTLMv1 निवारक नियंत्रणों को अक्षम करें।
  2. वर्तमान में चल रही प्रक्रियाओं से सभी गैर-नेटवर्क लॉगऑन टोकन प्राप्त करें और संबंधित उपयोगकर्ताओं का प्रतिरूपण करें।
  3. प्रत्येक प्रतिरूपित उपयोगकर्ता के लिए, स्थानीय रूप से NTLM SSP के साथ बातचीत करके प्रतिरूपित उपयोगकर्ता के सुरक्षा संदर्भ में चुने गए चैलेंज के लिए NetNTLMv1 प्रतिक्रिया प्राप्त करें।
  4. LMCompatibilityLevel, NTLMMinClientSec और RestrictSendingNTLMTraffic के मूल मानों को पुनर्स्थापित करें।
  5. रेनबो टेबल का उपयोग करके कैप्चर की गई प्रतिक्रियाओं के NTLM हैश को क्रैक करें।
  6. Pass the Hash।

अपडेट: क्रेडेंशियल गार्ड संगतता

मैंने हाल ही में क्रेडेंशियल गार्ड सक्षम वातावरण में आंतरिक एकालाप का पुनः परीक्षण किया और नकारात्मक परिणाम प्राप्त किए। मुझे यकीन नहीं है कि क्या प्रारंभिक परीक्षणों के दौरान मेरे परीक्षण वातावरण में क्रेडेंशियल गार्ड ठीक से काम नहीं कर रहा था, या तब से कुछ बदल गया है। मैंने AcceptSecurityContext से गतिशील रूप से एक सर्वर टोकन प्राप्त करने और स्थानीय प्रमाणीकरण जाल से बचने के लिए इसमें छेड़छाड़ करने के लिए कार्यान्वयन को अपडेट किया, ताकि यदि विस्तारित सत्र सुरक्षा के बिना NetNTLMv1 विफल हो जाए, तो कम से कम एक NetNTLMv2 चैलेंज-रिस्पॉन्स कैप्चर किया जा सके।

ऑडिट ट्रेल

आंतरिक एकालाप हमला मिमिकैट्ज़ चलाने की तुलना में कम ध्यान देने योग्य है क्योंकि एक संरक्षित प्रक्रिया में कोड इंजेक्ट करने या मेमोरी डंप करने की आवश्यकता नहीं है। क्योंकि NetNTLMv1 प्रतिक्रिया स्थानीय रूप से NTLM SSP के साथ बातचीत करके प्राप्त की जाती है, कोई नेटवर्क ट्रैफ़िक उत्पन्न नहीं होता है, और चुना गया चैलेंज आसानी से दिखाई नहीं देता है। लॉग में कोई सफल NTLM प्रमाणीकरण घटना दर्ज नहीं की जाती है। NetNTLM डाउनग्रेड के लिए रजिस्ट्री परिवर्तन और टोकन चुराने/अन्य उपयोगकर्ताओं का प्रतिरूपण करने से संकेतक ट्रिगर हो सकते हैं।

प्रूफ ऑफ कॉन्सेप्ट

यह उपकरण एक प्रूफ ऑफ कॉन्सेप्ट है जो C# में आंतरिक एकालाप हमले को लागू करता है। कोड को PowerShell में पोर्ट करने से ऑडिट ट्रेल में कुछ इवेंट लॉग को दूसरों के साथ बदला जा सकता है। PoC कोड सही नहीं है। सकारात्मक योगदान और सुधारों का स्वागत है।

लेखक

एलाद शमीर, द मिसिंग लिंक सिक्योरिटी से

आभार

  • मैथ्यू बुश (3xocyte) द मिसिंग लिंक सिक्योरिटी से और शॉन विलियम्सन (AusJock) बियॉन्ड बाइनरी से विचारों को उछालने और इसे एक साथ रखने में मदद करने के लिए
  • मोक्सी मार्लिनस्पाइक और डेविड हल्टन को डेफकॉन 20 में उनकी बातचीत "Defeating PPTP VPNs and WPA2 Enterprise with MS-CHAPv2" के लिए
  • ऑप्टिव को NetNTLM डाउनग्रेड हमले के लिए
  • बियालेक जोसेफ (clymb3r) को Invoke-TokenManipulation के लिए
  • MWR Labs को Incognito के लिए
  • एंटन सपोझ्निकोव (snowytoxa) को Selfhash के लिए
  • टिम मैलकॉम वेटर (malcomvetter) को कई सुधारों के लिए
  • मार्सेलो साल्वाती (byt3bl33d3r) को DLL लाइब्रेरी जोड़ने के लिए
टूल डाउनलोड करें