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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2020-25637-libvirt-double-free — डबल फ्री | Kitploit
उपकरण/GitHubGitHub/brahmiboudjema/cve-2020-25637-libvirt-double-free
भेद्यता विश्लेषणशोषणडीबगर्सलर्निंग और शिक्षाबाइनरी शोषणलैब और अभ्यास
GitHubbrahmiboudjema/cve-2020-25637-libvirt-double-free

CVE-2020-25637-libvirt-double-free

डबल फ्री

रिपॉजिटरी देखें
45 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

root@kitploit:~
 CVE-2020-25637 
                                    

root@kitploit:~
*** विवरण ***

libvirt API में, संस्करण 6.8.0 से पहले के संस्करणों में, एक दोहरी मुक्त मेमोरी (double free) की समस्या उत्पन्न हुई, जो चल रहे QEMU डोमेन के नेटवर्क इंटरफेस के बारे में जानकारी मांगने के लिए जिम्मेदार है। यह दोष polkit पहुँच नियंत्रण ड्राइवर को प्रभावित करता है। विशेष रूप से, सीमित ACL अनुमतियों के साथ रीड-राइट सॉकेट से जुड़ने वाले क्लाइंट इस दोष का उपयोग libvirt डेमॉन को क्रैश करने के लिए कर सकते हैं, जिससे सेवा से वंचित (denial of service) हो सकता है, या संभावित रूप से सिस्टम पर अपने विशेषाधिकारों को बढ़ा सकते हैं। इस भेद्यता का सबसे बड़ा खतरा डेटा गोपनीयता और अखंडता के साथ-साथ सिस्टम की उपलब्धता से संबंधित है।

इस भेद्यता का सबसे महत्वपूर्ण खतरा निम्नलिखित है:

  • गोपनीयता (Confidentiality)
  • डेटा अखंडता (Integrity)
  • सिस्टम उपलब्धता (Availability)

दोष के स्कोर:

  • RedHat द्वारा 6.4 के औसत के साथ एक मध्यम दोष

    • वेक्टर = स्थानीय (Local)
    • जटिलता = निम्न (Low)
    • प्रमाणीकरण (Authentication) = कोई नहीं (None)
  • NVD द्वारा 6.7 के औसत के साथ एक मध्यम दोष

    • वेक्टर = स्थानीय (Local)
    • जटिलता = उच्च (High)
    • प्रमाणीकरण (Authentication) = कोई नहीं (None)

root@kitploit:~
*** इस दोष का शोषण करने के लिए विभिन्न उपकरण और महत्वपूर्ण पूर्वापेक्षाएँ ***
    

  1. qemu-kvm और libvirt की स्थापना:

सबसे पहले हमारे ऑपरेटिंग सिस्टम की अनुकूलता को सत्यापित करना आवश्यक है, बस यह कमांड चलाएँ:

root@kitploit:~
 grep -E -c "vmx|svm" /proc/cpuinfo

यदि कमांड ठीक प्रतिक्रिया देती है तो आप स्थापना के लिए आगे बढ़ सकते हैं:

root@kitploit:~
sudo apt-get -y install qemu-kvm libvirt-bin virt-top outils-libguestfs virtinst bridge-utils

2) vagrant की स्थापना:

vagrant स्थापित करने के लिए बस यह कमांड चलाएँ:

root@kitploit:~
sudo apt -y install vagrant

एक बार जब आप Vagrant और KVM स्थापित कर लेते हैं, तो आपको Vagrant का उपयोग करके KVM वर्चुअल मशीनों का प्रबंधन शुरू करने के लिए libvirt प्लगइन स्थापित करना चाहिए।

root@kitploit:~
vagrant plugin install vagrant-libvirt

आप पुष्टि कर सकते हैं कि प्लगइन स्थापित हो गया है

root@kitploit:~
vagrant plugin list

3) vagrant बॉक्स:

vagrant द्वारा सीधे एक तैयार टेम्पलेट का उपयोग करना संभव है, हमारे मामले में हम ubuntu 20.04 इमेज का उपयोग करेंगे।

हमारी इमेज को vagrant बॉक्स में जोड़ने के लिए बस यह कमांड चलाएँ:

root@kitploit:~
vagrant box add generic / ubuntu1804 --provider = libvirt

स्थानीय रूप से मौजूद बॉक्स की सूची देखने के लिए:

root@kitploit:~
vagrant box list

4) डीबगिंग (Debugging)

डीबगिंग की दो संभावनाएँ:

  • GDB, यदि उपकरण आपके ऑपरेटिंग सिस्टम में उपलब्ध नहीं है तो यह कमांड चलाएँ:

    root@kitploit:~
    sudo apt-get install gdb
    
  • Valgrind, यदि उपकरण आपके ऑपरेटिंग सिस्टम में उपलब्ध नहीं है तो यह कमांड चलाएँ:

    root@kitploit:~
    sudo apt-get install valgrind
    

root@kitploit:~
*** कोड का निष्पादन ***

vagrant के माध्यम से एक VM चलाएँ:

root@kitploit:~
vagrant up

सबसे पहले लाइब्रेरी स्थापित करें:

root@kitploit:~
sudo apt-get install -y libvirt-dev

संकलन (Compilation):

root@kitploit:~
gcc -g -Wall info1.c -o info1 -lvirt

कोड का निष्पादन:

root@kitploit:~
./info1 qemu:///system vagrant-vms_ubuntu-01

डीबगिंग के साथ निष्पादन:

root@kitploit:~
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=valgrind-out.txt ./info1 qemu:///system vagrant-vms_ubuntu-01

root@kitploit:~
*** दोष को सक्रिय करना ***

दोष को सक्रिय करने से पहले, libvirt में समस्या पैदा करने वाले फ़ंक्शन के काम करने के तरीके को समझना आवश्यक है।

मान लीजिए कि एक हमलावर libvirt के qemuAgentGetInterfaces () के माध्यम से मुक्त की गई मेमोरी क्षेत्र (ifname वेरिएबल के मेमोरी क्षेत्र में) के उपयोग को प्रेरित कर सकता है, ताकि सेवा से वंचित किया जा सके, और संभवतः कोड निष्पादित किया जा सके।

  • यह फ़ंक्शन चल रहे डोमेन के इंटरफेस की एक सूची को उनके IP और MAC पतों के साथ संसाधित करता है।
  • फिर सफलता पर इंटरफेस की संख्या लौटाता है, अन्यथा त्रुटि पर -1 लौटाता है।

प्रतीक्षित क्षण आ गया है।

एक बार vagrant फ़ाइल चालू हो जाने पर, Qemu/KVM द्वारा स्वयं चलाई गई वर्चुअल मशीन के अंदर info1.c कोड चलाना आवश्यक है। अर्थात, vagrant द्वारा बनाई गई VM के अंदर VM बनाना, यानी कोड को vagrant द्वारा बनाई गई VM में निष्पादित करना।


root@kitploit:~
*** इस दोष का सुधार ***

libvirt के qemuAgentGetInterfaces () फ़ंक्शन में ifname वेरिएबल को शून्य (null) पर सेट करना पर्याप्त है, अर्थात प्रत्येक इंटरफ़ेस के लिए ifname वेरिएबल को मुक्त (free) किया जाना चाहिए।


root@kitploit:~
*** प्रदर्शन ***

आपको PowerPoint फ़ाइल में समस्या (दोहरी मुक्त) का एक सरल प्रदर्शन मिलेगा।


root@kitploit:~
*** महत्वपूर्ण ***

यह परियोजना दोष की जटिलता और हार्डवेयर के साथ-साथ समय की कमी के कारण अंत तक पूर्ण नहीं हो पाई है।

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