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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
POC-CVE-2017-8464-OpenCalculator — .lnk भेद्यता का शोषण और explorer.exe तथा USB ड्राइव से संबंधित ऑपरेटिंग सिस्टम हैंडलिंग तंत्र। | Kitploit
उपकरण/GitHubGitHub/playboisk8/poc-cve-2017-8464-opencalculator
भेद्यता विश्लेषणशोषणबाइनरी विश्लेषणपेलोड डेवलपमेंटबाइनरी शोषण
GitHubplayboisk8/poc-cve-2017-8464-opencalculator

POC-CVE-2017-8464-OpenCalculator

.lnk भेद्यता का शोषण और explorer.exe तथा USB ड्राइव से संबंधित ऑपरेटिंग सिस्टम हैंडलिंग तंत्र।

रिपॉजिटरी देखें

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
11 दिन पहलेअभी तक समीक्षित नहीं

CVE-2017-8464 / research + PoC

एक Shortcut + एक .DLL बनाएं जिसमें दुर्भावनापूर्ण payload हो => USB में डालकर victim को भेजें => victim USB खोलता है => Payload स्वचालित रूप से सक्रिय हो जाता है !

CVE-2017-8464.gif

मूल कारण

  1. पहले हमें यह जानना होगा कि यह गड़बड़ी वास्तव में कहाँ से आती है! यह Plug-and-Play (प्लग करें और चलाएं) नामक सुविधा के कारण है — OS स्वचालित रूप से डिवाइस का पता लगाता है, संसाधन आवंटित करता है और उपयुक्त Driver लोड करता है ताकि वह बिना मशीन को पुनरारंभ किए तुरंत काम कर सके। जब आप USB लगाते हैं और Windows Explorer explorer.exe से फ़ोल्डर खोलते हैं, तो ऑपरेटिंग सिस्टम उपयोगकर्ता को संबंधित आइकन (icon) दिखाने के लिए फ़ाइलों को स्कैन करता है!

  2. पुराने Windows संस्करणों से, Microsoft चाहता था कि Control Panel सुविधाओं (जो मूल रूप से .cpl या .dll फ़ाइलें हैं) की ओर इशारा करने वाले शॉर्टकट (shortcut .lnk) लचीले ढंग से गतिशील आइकन प्रदर्शित कर सकें। इसलिए, Windows की मुख्य इंटरफ़ेस प्रबंधन लाइब्रेरी shell32.dll में CPL_LoadCPLModule नामक एक फ़ंक्शन डिज़ाइन किया गया।

  3. अंधाधुंध तरीके से LoadLibrary का उपयोग करना: Control Panel Applet संरचना फ़ाइल से आइकन प्राप्त करने के लिए, ऑपरेटिंग सिस्टम केवल एक स्थिर छवि फ़ाइल नहीं पढ़ता, बल्कि LoadLibraryW फ़ंक्शन का उपयोग करके उस पूरी डायनेमिक लिंक लाइब्रेरी को सीधे explorer.exe प्रक्रिया की मेमोरी स्पेस में लोड करता है। लोड करने के बाद, वह स्क्रीन पर आइकन बनाने के लिए CPlApplet नामक एक मानक निर्यात फ़ंक्शन को कॉल करता है।

LoadLibraryW.png

यह साबित करने के लिए कि LoadLibraryW वास्तव में उपरोक्त exploit श्रृंखला से संबंधित है:

1/ x64dbg với quyền admin चालू करें

2/ explorer.exe से attach करें

3/ bp LoadLibraryW कमांड टाइप करें

4/ F9 दबाकर explorer.exe को चलाते रहें

5/ USB लगाएं, तुरंत hit breakpoint होगा!

PoC समस्या और समाधान

मुझे समस्या आई कि exploit श्रृंखला पूरी तरह से शांत थी, भले ही मैंने सब कुछ check और debug करने की कोशिश की, लेकिन fix का तरीका नहीं मिल सका! फिर मैंने दूसरों का PoC खोजकर चलाने की कोशिश की, लेकिन वह भी fail रहा!

उदाहरण: https://github.com/3gstudent/CVE-2017-8464-EXP

हालाँकि, जब मैं दोपहर का खाना खाकर वापस आया, तो मेरी एकाग्रता और शांति लौट आई। मैंने सवाल उठाना शुरू किया कि इस व्यक्ति का PoC work क्यों करता है और मेरी मशीन पर लाकर work नहीं करता? ठीक है, मैंने उसके .lnk और .dll का हल्का रिवर्स इंजीनियरिंग करना शुरू किया, तो 2 चीज़ें पता चलीं!

1 / मेरी .dll उसकी तुलना में लंबी है! लेकिन कोई बात नहीं, यह समस्या नहीं है!

2 / जब मैंने strings पढ़ने के लिए .lnk को HxD में डाला, तो मुझे पता चला कि यह व्यक्ति सापेक्ष पथ (relative path) का नहीं, बल्कि निरपेक्ष पथ (absolute path) का उपयोग कर रहा है!

सापेक्ष : ../example.dll

निरपेक्ष : O:/example.dll

him.png

ठीक है, अब fix का तरीका यह होगा कि हमें यह जानना होगा कि USB को जब पीड़ित की मशीन में लगाया जाएगा तो उसे auto कौन सा ड्राइव अक्षर मिलेगा, उसके आधार पर हम absolute path लगाएंगे और यह सफल होगा, क्योंकि मेरे Win7 पर USB लगाते ही वह हमेशा F ड्राइव के रूप में आता है, इसलिए मेरा build सिंटैक्स था:

root@kitploit:~
python Make_PoC.py FakeGoogleChrome F:\Pwned.dll

Microsoft ने इस आर्किटेक्चर को कैसे पैच किया?

चूंकि यह सिस्टम आर्किटेक्चर डिज़ाइन सोच (Logic/Architecture Flaw) से संबंधित दोष है, न कि मेमोरी ओवरफ्लो दोष, Microsoft को Control Panel को संभालने के तरीके को पूरी तरह से बदलना पड़ा:

  • डिजिटल हस्ताक्षर (Code Signing): आधुनिक ऑपरेटिंग सिस्टम यह अनिवार्य करते हैं कि सिस्टम प्रक्रिया द्वारा लोड की जाने वाली .cpl या .dll फ़ाइलों के पास Microsoft का वैध डिजिटल हस्ताक्षर हो या वे कड़ी सुरक्षित सिस्टम निर्देशिकाओं (जैसे System32) में स्थित हों, ताकि USB से "Binary Planting" त्रुटि से बचा जा सके।
  • प्रक्रिया पृथक्करण (Process Isolation): सीधे महत्वपूर्ण प्रक्रिया explorer.exe [cite: 1058] में लोड करने के बजाय, नए Windows संस्करण Control Panel applets को एक पृथक मध्यस्थ प्रक्रिया (जैसे dllhost.exe या rundll32.exe) के माध्यम से चलाते हैं। यदि DLL crash हो जाता है या उसमें दुर्भावनापूर्ण कोड होता है, तो वह केवल उस मध्यस्थ प्रक्रिया को गिराता है, पूरे यूज़र इंटरफ़ेस सिस्टम को नियंत्रित नहीं कर सकता।

संदर्भ

शोध VN

  • https://github.com/TrG-1999/DetectPacket-CVE-2017-8464

PoC

  • https://github.com/3gstudent/CVE-2017-8464-EXP

vul .lnk बनाने का टूल

  • https://github.com/nixawk/labs/blob/master/CVE-2017-8464/exploit_CVE-2017-8464.py
टूल डाउनलोड करें