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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-2005 — PoC for CVE-2026-2005 | Kitploit
उपकरण/GitHubGitHub/var77/cve-2026-2005
Privilege EscalationMemory ForensicsVulnerability AnalysisExploitationLearning & EducationDatabase SecurityBinary Exploitation
GitHubvar77/cve-2026-2005

CVE-2026-2005

PoC for CVE-2026-2005

रिपॉजिटरी देखें
2653 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CVE-2026-2005 - PostgreSQL pgcrypto हीप ओवरफ्लो शोषण

PoC शोषण PostgreSQL pgcrypto एक्सटेंशन के PGP सत्र कुंजी पार्सिंग में हीप-आधारित बफर ओवरफ्लो के लिए, जो मनमानी मेमोरी पढ़ने/लिखने और सुपरयूज़र तक विशेषाधिकार वृद्धि की ओर ले जाता है।

पूर्ण तकनीकी विवरण के लिए, Zeroday Cloud सलाह देखें।

डेमो

PoC डेमो

उपयोग

1. PostgreSQL संकलित करें

PostgreSQL को असुरक्षित कमिट से क्लोन और संकलित करें ताकि बाइनरी के प्रतीक ऑफ़सेट बिल्कुल मेल खाएँ। शोषण एएसएलआर बेस को लीक किए गए पॉइंटर्स को ईएलएफ प्रतीक ऑफ़सेट से मिलाकर हल करता है - अलग बिल्ड या संस्करणों में अलग ऑफ़सेट होंगे और वे विफल होंगे।

root@kitploit:~
git clone https://github.com/postgres/postgres.git
cd postgres
git checkout 4b324845ba5d24682b9b3708a769f00d160afbd7
./configure \
    --prefix="$HOME/projects/pg/pgsql" \
    --with-libxml \
    --with-libxslt \
    --enable-debug \
    --with-ssl=openssl
make -j$(nproc)
make install-world-bin

2. Python निर्भरताएँ स्थापित करें

root@kitploit:~
pip install -r requirements.txt

3. शोषण चलाएँ

root@kitploit:~
python poc.py \
    --binary "$HOME/projects/pg/pgsql/bin/postgres" \
    --dbname test-db \
    --host 127.0.0.1 \
    --port 5432 \
    --user test-user \
    --password secret \
    --cmd id

विकल्प

शोषण प्रवाह

शोषण 7 चरणों में आगे बढ़ता है:

  1. हीप पॉइंटर रिसाव - एक निर्मित PGP संदेश mdst बफर के malloc चंक हेडर को दूषित करता है। जब PostgreSQL दूषित चंक पर pfree() कॉल करता है, तो आवंटक पॉइंटर पता वाली एक त्रुटि उत्पन्न करता है, जिससे हीप स्थान mdst->data का रिसाव होता है।

  2. मनमानी पढ़ाई - दूसरा ओवरफ्लो mdst->data को (leaked_ptr - 0x10000) की ओर इंगित करने के लिए अधिलेखित करता है। डिक्रिप्शन के बाद, mbuf_steal_data() उस पते पर मौजूद सामग्री को डिक्रिप्टेड आउटपुट के रूप में लौटाता है, जिससे हीप मेमोरी डंप होती है जिसमें पुराने कोड पॉइंटर्स हो सकते हैं।

  3. पॉइंटर स्कैन - हेक्स डंप को 8-बाइट लिटिल-एंडियन मानों के लिए स्कैन किया जाता है जो कोड पतों (>= 0x500000000000) जैसे दिखते हैं लेकिन हीप क्षेत्र में नहीं हैं। ये उम्मीदवार PIE (Position Independent Executable) पॉइंटर्स हैं।

  4. PIE बेस वोटिंग - प्रत्येक उम्मीदवार पते को postgres बाइनरी से ELF प्रतीक ऑफ़सेट के विरुद्ध परीक्षण किया जाता है। प्रत्येक (addr - sym_offset) जोड़ी के लिए जहाँ पेज ऑफ़सेट मेल खाता है, एक वोट डाला जाता है। 10+ वोट वाले उम्मीदवार रखे जाते हैं; सबसे छोटा बेस (PIE सबसे कम-मैप किया गया ELF सेगमेंट है) वोटों के अनुसार क्रमबद्ध शीर्ष उम्मीदवार है।

  5. PIE बेस सत्यापन - मनमानी पढ़ने की मूल तकनीक का उपयोग करके, शोषण CurrentUserId को पर पढ़ता है और इसकी तुलना सत्र के ज्ञात OID से करता है। मिलान PIE बेस की पुष्टि करता है।

आवश्यकताएँ

  • Python 3.10+
  • psycopg2-binary, pwntools, pycryptodome (pip install -r requirements.txt)
  • PostgreSQL असुरक्षित कमिट (4b324845) से pgcrypto सक्षम करके संकलित

अस्वीकरण

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

संदर्भ

  • CVE-2026-2005: PostgreSQL pgcrypto पूर्णांक ओवरफ्लो से RCE
टूल डाउनलोड करें
तर्कडिफ़ॉल्टविवरण
--binary(postgres बाइनरी)प्रतीक निष्कर्षण के लिए postgres बाइनरी का पथ
--dbnamepostgresलक्ष्य डेटाबेस का नाम
--hostlocalhostPostgreSQL होस्ट
--port5432PostgreSQL पोर्ट
--userpostgresडेटाबेस उपयोगकर्ता
--password(खाली)डेटाबेस पासवर्ड
--cmdwhoamiविशेषाधिकार वृद्धि के बाद निष्पादित करने के लिए OS कमांड
--gdb(फ़्लैग)ओवरफ़्लो बिंदु पर tmux के माध्यम से GDB संलग्न करें
(candidate_base + current_user_offset)
  • मनमानी लिखाई - ओवरफ्लो msrc और mdst दोनों MBuf हेडर को दूषित करता है। नकली msrc->data/read_pos एक एम्बेडेड sym-एन्क्रिप्टेड पैकेट की ओर इशारा करते हैं जिसमें एन्क्रिप्टेड सुपरयूज़र OID (10) होता है। नकली mdst->data CurrentUserId - 4 की ओर इशारा करता है (-4 pgp-pgsql.c:533 में SET_VARSIZE के लिए जो आउटपुट लंबाई को पहले 4 बाइट्स में लिखता है)।

  • विशेषाधिकार वृद्धि - जब CurrentUserId को 10 (बूटस्ट्रैप सुपरयूज़र) पर अधिलेखित कर दिया जाता है, तो COPY FROM PROGRAM निर्दिष्ट OS कमांड को postgres सिस्टम उपयोगकर्ता के रूप में निष्पादित करता है।