CVE-2023-32784 शोषण प्रदर्शन
परियोजना अवलोकन
यह रिपॉजिटरी CVE-2023-32784 का प्रदर्शन प्रदान करती है, जो KeePass के 2.54 से पहले के संस्करणों में पाई जाने वाली एक गंभीर कमजोरी है। यह शोषण मेमोरी डंप के माध्यम से मास्टर पासवर्ड को पुनर्प्राप्त करने की अनुमति देता है, जिससे संग्रहीत क्रेडेंशियल उजागर हो जाते हैं। यह दस्तावेज़ शोषण वातावरण स्थापित करने, PoC टूल चलाने और शमन रणनीतियों को समझने के लिए चरण-दर-चरण मार्गदर्शिका प्रस्तुत करता है।
भेद्यता विवरण
विवरण
CVE-2023-32784 KeePass के संस्करण 2.0 से 2.53 में एक मेमोरी लीक कमजोरी है, जो KeePass के Secure Textbox EX घटक के अंदर स्ट्रिंग्स के अनुचित संचालन से उत्पन्न होती है। मास्टर पासवर्ड का प्रत्येक दर्ज किया गया अक्षर मेमोरी में निशान छोड़ता है, जिससे मेमोरी डंप के माध्यम से इसे पुनर्प्राप्त किया जा सकता है।
मुख्य विशेषताएँ:
- गंभीरता: उच्च
- शोषण क्षमता: मेमोरी डंप तक भौतिक या स्थानीय पहुँच आवश्यक है; कोई दूरस्थ कोड निष्पादन शामिल नहीं है।
- प्रभाव: मेमोरी से मास्टर पासवर्ड (पहले अक्षर को छोड़कर) का निष्कर्षण अनधिकृत पहुँच की अनुमति देता है।
शोषण विवरण
उपकरण और तकनीकें
यह शोषण KeePass मास्टर पासवर्ड डम्पर टूल का उपयोग करता है, जो मेमोरी पैटर्न पहचान के माध्यम से मेमोरी डंप से अक्षर निकालता है।
- सीमाएँ: पासवर्ड का पहला अक्षर पुनर्प्राप्त नहीं होता है, लेकिन यह एक महत्वपूर्ण बाधा नहीं है क्योंकि शेष पासवर्ड आसानी से पुनः निर्मित या अनुमान लगाया जा सकता है।
- खतरा मॉडल: यह कमजोरी साझा या अप्राप्त प्रणालियों पर जोखिमों को उजागर करती है, जहाँ मेमोरी डंप (जैसे
pagefile.sys या hiberfil.sys) तक पहुँच संभव है।
शोषण योजना
पूर्वापेक्षाएँ
इस शोषण को सफलतापूर्वक निष्पादित करने के लिए, निम्नलिखित वातावरण और उपकरण आवश्यक हैं:
- वर्चुअलाइज़ेशन सॉफ्टवेयर: परीक्षण वातावरण को अलग करने के लिए VMware या समकक्ष उपकरण।
- Windows 10 ISO: कमजोर KeePass स्थापना के लिए ऑपरेटिंग सिस्टम।
- KeePass 2.x: 2.54 से पहले का एक संस्करण।
- .NET 7 रनटाइम: PoC टूल चलाने के लिए आवश्यक।
- PoC उपकरण: KeePass पासवर्ड डम्पर, GitHub पर उपलब्ध।
चरण और औचित्य
1. पर्यावरण सेटअप
- VM क्यों?
वर्चुअल मशीनें उत्पादन प्रणालियों को जोखिम में डाले बिना कमजोरियों का परीक्षण करने के लिए एक सुरक्षित और नियंत्रित वातावरण प्रदान करती हैं।
- चरण:
- VMware स्थापित करें और Windows 10 के साथ एक नया VM इंस्टेंस बनाएँ।
- KeePass 2.x (जैसे, संस्करण 2.53) स्थापित करें और एक मास्टर पासवर्ड सेट करें।
- उदाहरण मास्टर पासवर्ड:
user.
2. निर्भरताएँ स्थापित करें
- .NET 7 क्यों?
PoC टूल .NET 7 फ्रेमवर्क पर बनाया गया है। सही रनटाइम का उपयोग संगतता सुनिश्चित करता है।
- चरण:
- आधिकारिक Microsoft वेबसाइट से
.NET 7 डाउनलोड और स्थापित करें।
- निम्न का उपयोग करके स्थापना की पुष्टि करें:
3. मेमोरी डंप निर्माण
- KeePass प्रक्रिया मेमोरी क्यों डंप करें?
यह कमजोरी KeePass के मेमोरी हैंडलिंग में निहित है। डंप कैप्चर करने से मेमोरी फुटप्रिंट का विश्लेषण संभव होता है, जहाँ पासवर्ड के निशान रहते हैं।
- चरण:
- KeePass खोलें और मास्टर पासवर्ड का उपयोग करके डेटाबेस अनलॉक करें।
- KeePass प्रक्रिया के लिए
.DMP फ़ाइल बनाने के लिए टास्क मैनेजर का उपयोग करें:
- टास्क मैनेजर में KeePass खोजें।
- राइट-क्लिक करें और डंप फ़ाइल बनाएँ चुनें।
.DMP फ़ाइल का स्थान नोट करें (सामान्यतः %TEMP% निर्देशिका में)।
4. PoC उपकरण चलाएँ
- डंप को PoC निर्देशिका में क्यों कॉपी करें?
PoC उपकरण अपनी कार्यशील निर्देशिका के भीतर डंप फ़ाइलों को संसाधित करता है। यह चरण सुनिश्चित करता है कि सही फ़ाइल का विश्लेषण किया गया है।
- चरण:
.DMP फ़ाइल को निकाले गए PoC फ़ोल्डर में ले जाएँ।
- फ़ाइल का नाम बदलकर
KeePass.DMP करें।
- एक टर्मिनल खोलें, PoC निर्देशिका पर जाएँ और उपकरण निष्पादित करें:
cd Downloads/keepass-password-dumper-main
dotnet run KeePass.DMP
- अपेक्षित परिणाम:
उपकरण पहले अक्षर को छोड़कर पासवर्ड अक्षरों को आउटपुट करेगा।
उदाहरण कमांड अनुक्रम
cd Downloads/keepass-password-dumper-main
dir
dotnet run KeePass.DMP
शमन रणनीतियाँ
अनुशंसित सुधार
-
KeePass अपडेट करें:
KeePass 2.54 में अपग्रेड करने से निम्नलिखित सुधारों के साथ कमजोरी दूर होती है:
- संवेदनशील डेटा के लिए बेहतर मेमोरी हैंडलिंग।
- मेमोरी में पूर्वानुमान कम करने के लिए यादृच्छिक स्ट्रिंग सम्मिलन।
-
सुरक्षित मेमोरी डंप:
- नियमित रूप से
pagefile.sys और hiberfil.sys जैसी संवेदनशील फ़ाइलों को साफ़ या ओवरराइट करें।
- मेमोरी से संवेदनशील डेटा को साफ़ करने के लिए सिस्टम को समय-समय पर पुनरारंभ करें।
-
सुरक्षित मेमोरी प्रबंधन का अभ्यास करें:
डेवलपर्स को संवेदनशील स्ट्रिंग्स को संभालने के लिए सर्वोत्तम अभ्यास अपनाने चाहिए, जैसे परिवर्तनीय डेटा संरचनाओं का उपयोग करना या उपयोग के बाद मेमोरी बफ़र्स को साफ़ करना।
महत्वपूर्ण नोट्स
- केवल प्रदर्शन के लिए उपयोग:
यह शोषण केवल नियंत्रित वातावरण में शैक्षिक उद्देश्यों के लिए है। इस जानकारी का दुर्भावनापूर्ण उपयोग न करें।
- प्रभाव जागरूकता:
संगठनों को साझा या बहु-उपयोगकर्ता प्रणालियों पर इस कमजोरी के निहितार्थ का मूल्यांकन करना चाहिए और तदनुसार शमन लागू करना चाहिए।
सीवीई के लाइव शोषण के लिए मेरा यूट्यूब वीडियो देखें
https://youtu.be/o855F0RvI30?si=WXOtPu-jgtC31O-5
संदर्भ
लेखक
Bhargav Raj Dutta
साइबर सुरक्षा और डिजिटल फोरेंसिक में सूचना प्रौद्योगिकी स्नातक (मर्डोक विश्वविद्यालय)
किसी भी प्रश्न या सहयोग के लिए, [LinkedIn www.linkedin.com/in/bhargav-raj-dutta-80251a1b4) पर संपर्क करें।