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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
keepass-password-dumper — CVE-2023-32784 के लिए मूल PoC | Kitploit
उपकरण/GitHubGitHub/vdohney/keepass-password-dumper
मेमोरी फोरेंसिकपासवर्ड हमलेभेद्यता विश्लेषणशोषणफोरेंसिकडिजिटल फोरेंसिक
GitHubvdohney/keepass-password-dumper

keepass-password-dumper

CVE-2023-32784 के लिए मूल PoC

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

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

सभी देखें →

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

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

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

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

KeePass 2.X Master Password Dumper (CVE-2023-32784)

अपडेट

यह भेद्यता CVE-2023-32784 को सौंपी गई थी और इसे KeePass 2.54 में ठीक कर दिया गया है। त्वरित प्रतिक्रिया और रचनात्मक समाधान के लिए Dominik Reichl को फिर से धन्यवाद!

स्पष्टीकरण: पासवर्ड को कीबोर्ड पर टाइप किया जाना चाहिए, क्लिपबोर्ड से कॉपी नहीं किया जाना चाहिए (अनुभाग "यह कैसे काम करता है" देखें)।

आप क्या कर सकते हैं

सबसे पहले, KeePass 2.54 या उससे नए संस्करण में अपडेट करें।

दूसरा, यदि आप लंबे समय से KeePass का उपयोग कर रहे हैं, तो आपका मास्टर पासवर्ड (और संभावित रूप से अन्य पासवर्ड) आपकी pagefile/swapfile, hibernation फ़ाइल और क्रैश डंप में मौजूद हो सकता है। अपनी पैरानोया के स्तर के आधार पर, आप समस्या हल करने के लिए इन चरणों पर विचार कर सकते हैं:

  1. अपना मास्टर पासवर्ड बदलें
  2. क्रैश डंप हटाएं (OS पर निर्भर करता है, Windows पर कम से कम C:\Windows\memory.dmp, लेकिन शायद अन्य भी हों)
  3. hibernation फ़ाइल हटाएं
  4. pagefile/swapfile हटाएं (काफी परेशान करने वाला हो सकता है, इसे वापस सक्षम करना न भूलें)
  5. HDD पर हटाए गए डेटा को ओवरराइट करें ताकि carving रोका जा सके (जैसे Windows पर /w के साथ Cipher)
  6. अपना कंप्यूटर पुनः आरंभ करें

या फिर अपनी HDD को ओवरराइट कर दें और अपने OS की नई इंस्टॉलेशन कर लें।

प्रभावित नहीं होने वाले उत्पादों की अधूरी सूची (कृपया और जोड़ने के लिए pull request या issue बनाएं)। सामान्य नियम यह है कि यदि यह .NET में लिखा गया मूल KeePass 2.X ऐप नहीं है, तो संभवतः यह प्रभावित नहीं है।

  • KeePassXC
  • Strongbox
  • KeePass 1.X


KeePass Master Password Dumper एक सरल proof-of-concept उपकरण है जिसका उपयोग KeePass की मेमोरी से मास्टर पासवर्ड निकालने के लिए किया जाता है। पहले पासवर्ड अक्षर को छोड़कर, यह अधिकतर पासवर्ड को सादे पाठ (plaintext) में पुनर्प्राप्त करने में सक्षम है। लक्ष्य सिस्टम पर कोई कोड निष्पादन आवश्यक नहीं है, केवल मेमोरी डंप चाहिए। इससे कोई फर्क नहीं पड़ता कि मेमोरी कहाँ से आती है - यह प्रोसेस डंप, स्वैप फ़ाइल (pagefile.sys), hibernation फ़ाइल (hiberfil.sys), विभिन्न क्रैश डंप या पूरे सिस्टम की RAM डंप हो सकती है। इससे कोई फर्क नहीं पड़ता कि workspace लॉक है या नहीं। KeePass के बंद होने के बाद भी RAM से पासवर्ड निकालना संभव है, हालाँकि उसके काम करने की संभावना तब से बीते समय के साथ घटती जाती है।

KeePass 2.53.1 को Windows (English) पर और KeePass 2.47 को Debian (keepass2 पैकेज) पर परीक्षण किया गया है। यह macOS संस्करण के लिए भी काम करना चाहिए। दुर्भाग्य से, Enter master key on secure desktop विकल्प सक्षम करने से हमले को रोकने में मदद नहीं मिलती। PoC को KeePass के पुराने संस्करणों द्वारा बनाए गए डेटाबेस के साथ समस्या हो सकती है, लेकिन मैं इसे दोहरा नहीं पाया (देखें issue #4)।

इस खोज की पुष्टि KeePass के लेखक Dominik Reichl ने यहाँ की। Dominik की त्वरित प्रतिक्रिया की सराहना करता हूँ। उम्मीद है कि इसे जल्द ही ठीक कर दिया जाएगा!

सेटअप

  1. .NET इंस्टॉल करें (अधिकांश प्रमुख ऑपरेटिंग सिस्टम समर्थित हैं)।
  2. रिपॉजिटरी क्लोन करें: git clone https://github.com/vdohney/keepass-password-dumper या GitHub से डाउनलोड करें
  3. अपने टर्मिनल (Windows पर Powershell) में प्रोजेक्ट निर्देशिका में जाएं cd keepass-password-dumper
  4. dotnet run PATH_TO_DUMP

Windows पर इसका परीक्षण करने का सबसे आसान तरीका है टास्क मैनेजर में KeePass प्रोसेस पर राइट-क्लिक करके "Create dump file" चुनकर प्रोसेस डंप बनाना।

Usage example

  1. वैकल्पिक रूप से आप दूसरे अक्षर से शुरू होने वाले सभी संभावित पासवर्डों की सूची उत्पन्न करने के लिए एक और पैरामीटर dotnet run PATH_TO_DUMP PATH_TO_PWDLIST जोड़ सकते हैं।

क्या आपको चिंतित होना चाहिए?

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

यदि आपको उचित संदेह है कि कोई आपके कंप्यूटर तक पहुँच प्राप्त कर सकता है और फोरेंसिक विश्लेषण कर सकता है, तो यह बुरा हो सकता है। सबसे खराब स्थिति यह है कि मास्टर पासवर्ड पुनर्प्राप्त कर लिया जाएगा, भले ही KeePass लॉक हो या बिल्कुल नहीं चल रहा हो।

यदि आप मजबूत पासवर्ड के साथ full disk encryption का उपयोग करते हैं और आपका सिस्टम साफ है, तो आपको ठीक रहना चाहिए। अकेले इस खोज से कोई भी इंटरनेट के माध्यम से दूरस्थ रूप से आपके पासवर्ड चुरा नहीं सकता।

यह कैसे काम करता है

KeePass 2.X पासवर्ड प्रविष्टि के लिए एक कस्टम-विकसित टेक्स्ट बॉक्स SecureTextBoxEx का उपयोग करता है। यह टेक्स्ट बॉक्स न केवल मास्टर पासवर्ड प्रविष्टि के लिए उपयोग किया जाता है, बल्कि KeePass में अन्य स्थानों पर भी, जैसे पासवर्ड संपादन बॉक्स (इसलिए हमले का उपयोग उनकी सामग्री को पुनर्प्राप्त करने के लिए भी किया जा सकता है)।

यहाँ जिस दोष का फायदा उठाया गया है वह यह है कि प्रत्येक टाइप किए गए अक्षर के लिए, मेमोरी में एक अवशिष्ट स्ट्रिंग बनाई जाती है। .NET के काम करने के तरीके के कारण, एक बार बन जाने पर इसे हटाना लगभग असंभव है। उदाहरण के लिए, जब "Password" टाइप किया जाता है, तो ये अवशिष्ट स्ट्रिंग बनेंगी: •a, ••s, •••s, ••••w, •••••o, ••••••r, •••••••d। POC एप्लिकेशन डंप में इन पैटर्नों की खोज करता है और पासवर्ड में प्रत्येक स्थिति के लिए एक संभावित पासवर्ड अक्षर प्रदान करता है।

इस हमले की विश्वसनीयता इस बात पर निर्भर करती है कि पासवर्ड कैसे टाइप किया गया था और प्रति सत्र कितने पासवर्ड टाइप किए गए थे। हालाँकि, मैंने पाया है कि भले ही प्रति सत्र कई पासवर्ड या टाइपो हों, .NET CLR इन स्ट्रिंग्स को जिस तरह आवंटित करता है, उसका मतलब है कि वे मेमोरी में अच्छी तरह से क्रमबद्ध होने की संभावना रखते हैं। इसलिए यदि तीन अलग-अलग पासवर्ड टाइप किए गए थे, तो आपको उस क्रम में प्रत्येक वर्ण स्थिति के लिए तीन उम्मीदवार मिलने की संभावना है, जिससे तीनों पासवर्ड पुनर्प्राप्त करना संभव हो जाता है।

डेव

यह एक त्वरित POC है, इसलिए संभवतः बहुत विश्वसनीय और मजबूत नहीं है। यदि आपको कोई समस्या मिले और उसे ठीक करें, तो कृपया pull request बनाएं।

अनुमत पासवर्ड वर्ण वर्तमान में इस प्रकार हार्डकोडेड हैं: ^[\x20-\x7E]+$ (सभी प्रिंट करने योग्य ASCII वर्ण और स्पेस)।

आभार

पासवर्ड सूची को स्वतः-जनरेट करने की संभावना जोड़ने के लिए adridlug को धन्यवाद, और कोड को रीफैक्टर करने के लिए ynuwenhof को धन्यवाद।

संबंधित प्रोजेक्ट

  • PoC का Python कार्यान्वयन CMEPW द्वारा
  • PoC का Rust कार्यान्वयन ynuwenhof द्वारा

मैंने अभी तक उनमें से किसी की जाँच नहीं की है।

टूल डाउनलोड करें