
Keepass मेमोरी डंप से मास्टर पासवर्ड प्राप्त करता है, ब्रूटफोर्स के संकेत का उपयोग करके।
vdohney/keepass-password-dumper का Python पोर्ट (CVE-2023-32784) — मूल C# इम्प्लीमेंटेशन और अंतर्निहित तकनीक का सारा श्रेय vdohney को जाता है।
यह स्क्रिप्ट प्रोसेस मेमोरी डंप में बचे हुए रेंडर स्ट्रिंग्स को स्कैन करती है जो
KeePass 2.x का SecureTextBoxEx उपयोगकर्ता द्वारा मास्टर पासवर्ड टाइप करते समय
पीछे छोड़ देता है, और उस पासवर्ड का पहला अक्षर छोड़कर बाकी हर अक्षर को पुनर्प्राप्त करती है।
वैकल्पिक रूप से, यह keepassxc-cli का उपयोग करके KDBX फ़ाइल के विरुद्ध अज्ञात पहले अक्षर को ब्रूट-फोर्स करती है।
यह दोष कस्टम SecureTextBoxEx कंट्रोल में है: टाइप किए गए प्रत्येक अक्षर के लिए,
.NET प्रबंधित मेमोरी में ●a, ●●s, ●●●s, … के रूप में एक अवशिष्ट स्ट्रिंग रखता है,
जिससे पहले अक्षर के बाद का हर पासवर्ड अक्षर पुनर्प्राप्त किया जा सकता है।
यदि आपने KeePass ≤ 2.53.1 का उपयोग किया है, तो मान लें कि मास्टर पासवर्ड समझौता हो चुका है:
C:\Windows\memory.dmp),powercfg /h off),cipher /w:) ताकि
पहले से आवंटित सेक्टरों से अवशेष निकाले न जा सकें,$PATH में keepassxc-cli (केवल --kdbx के लिए आवश्यक)Debian / Ubuntu पर, यदि आप ब्रूट-फोर्स करने की योजना बनाते हैं तो KeePassXC CLI स्थापित करें:
sudo apt install keepassxc
# उम्मीदवार अक्षर पुनर्प्राप्त करें और उन्हें प्रिंट करें
python3 keepass_dumper.py memory.dmp
# उत्पन्न उम्मीदवार सूची को फ़ाइल में डंप करें
python3 keepass_dumper.py memory.dmp -p candidates.txt
# KDBX के विरुद्ध लापता पहले अक्षर को पुनर्प्राप्त और ब्रूट-फोर्स करें
python3 keepass_dumper.py memory.dmp --kdbx db.kdbx
पूर्ण विकल्प सूची के लिए python3 keepass_dumper.py --help चलाएँ।