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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/rubbxalc/cve-2021-32675
भेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारेड टीमिंग
GitHubrubbxalc/cve-2021-32675

CVE-2021-32675

CVE-2021-32675 के लिए Redis में कार्यात्मक DoS शोषण, जो मेमोरी समाप्ति को ट्रिगर करने के लिए अत्यधिक बड़े बल्क स्ट्रिंग हेडर का लाभ उठाता है। उपयोग निर्देश और Docker-आधारित परीक्षण वातावरण शामिल है।

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

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

सभी देखें →

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

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

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

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

CVE-2021-32675 – Redis प्री-आवंटन डिनायल ऑफ सर्विस (OOM)

इस रिपॉजिटरी में CVE-2021-32675 के लिए एक कार्यशील एक्सप्लॉइट शामिल है, जो Redis में एक डिनायल-ऑफ-सर्विस (DoS) भेद्यता है। यह दोष बिना प्रमाणीकरण वाले दूरस्थ हमलावरों को तर्क डेटा प्रदान किए बिना अत्यधिक बड़े बल्क स्ट्रिंग हेडर भेजकर Redis सर्वर पर बड़े पैमाने पर मेमोरी प्री-आवंटन ट्रिगर करने की अनुमति देता है, जिससे मेमोरी समाप्त हो जाती है और सेवा क्रैश हो जाती है।

विवरण

CVE-2021-32675 Redis क्वेरी बफर हैंडलिंग में एक भेद्यता है। RESP (REdis Serialization Protocol) प्रोटोकॉल में आने वाले कमांड को पार्स करते समय, Redis बल्क स्ट्रिंग तर्क ($<length>\r\n) की घोषित लंबाई पढ़ता है और कोई भी तर्क बाइट पढ़ने से पहले पेलोड प्राप्त करने के लिए मेमोरी में तुरंत एक SDS (Simple Dynamic String) बफर प्री-आवंटित करता है।

क्योंकि यह प्री-आवंटन तर्क पेलोड प्राप्त करने से पहले होता है, एक बिना प्रमाणीकरण वाला क्लाइंट अधिकतम अनुमत बल्क स्ट्रिंग आकार (डिफ़ॉल्ट रूप से, proto-max-bulk-len 512 MB है) घोषित कर सकता है और वास्तविक डेटा संचारित किए बिना कनेक्शन को अनिश्चित काल तक खुला रख सकता है। Redis प्रत्येक सक्रिय कनेक्शन के लिए प्री-आवंटित मेमोरी बनाए रखता है, जिससे लगभग 32,000,000× का एम्प्लीफिकेशन अनुपात बनता है (~16 बाइट्स नेटवर्क ट्रैफ़िक के परिणामस्वरूप 512 MB मेमोरी आरक्षण होता है)।

इस हेडर-ओनली तकनीक का उपयोग करके कई समवर्ती कनेक्शन खोलने से सर्वर की उपलब्ध मेमोरी जल्दी समाप्त हो जाती है, जिससे निम्नलिखित होता है:

  • यदि maxmemory नीति सक्रिय है तो जबरन की एविक्शन।
  • बाद के राइट ऑपरेशनों को अस्वीकार करके सेवा से इनकार ()।
OOM command not allowed
  • ऑपरेटिंग सिस्टम OOM (Out-Of-Memory) किलर द्वारा प्रक्रिया समाप्ति।
  • यह भेद्यता Redis के निम्नलिखित संस्करणों से पहले के संस्करणों को प्रभावित करती है:

    • 6.2.6
    • 6.0.16
    • 7.0 (जब बिना प्रमाणीकरण के या डिफ़ॉल्ट बल्क सीमाओं के साथ चल रहा हो)

    बिना प्रमाणीकरण के चलने वाले (requirepass कॉन्फ़िगर नहीं) या डिफ़ॉल्ट proto-max-bulk-len (512 MB) वाले Redis इंस्टेंस इस एक्सप्लॉइट के प्रति संवेदनशील हैं। पैच किए गए संस्करण प्री-आवंटन होने से पहले बिना प्रमाणीकरण वाले क्लाइंट्स के लिए सख्त 16 KB प्रोटोकॉल बफर सीमा लागू करते हैं।

    स्थापना निर्देश

    1. एक वर्चुअल एनवायरनमेंट बनाएं (वैकल्पिक लेकिन अनुशंसित):
    root@kitploit:~
    python3 -m venv .venv
    source .venv/bin/activate
    
    1. निर्भरताएँ स्थापित करें:
    root@kitploit:~
    pip install -r requirements.txt
    

    आवश्यकताएँ

    • Python 3.8+

      • colorama लाइब्रेरी
      • redis लाइब्रेरी
    • संवेदनशील Redis इंस्टेंस (6.2.6 / 6.0.16 से पहले के संस्करण या बिना प्रमाणीकरण वाले इंस्टेंस)

    उपयोग

    root@kitploit:~
    python3 exploit.py --host <IP> --port <PORT> [options]
    

    विकल्प

    विकल्पप्रकारडिफ़ॉल्टविवरण
    --hoststrआवश्यकलक्ष्य Redis होस्टनाम या IP पता
    --portint6379पोर्ट नंबर
    --connectionsint10खोलने के लिए दुर्भावनापूर्ण कनेक्शनों की संख्या
    --sizeint512घोषित बल्क स्ट्रिंग बफर आकार MB में
    --holdint5सफाई से पहले कनेक्शन खुले रखने के लिए सेकंड
    --password, --authstrNoneRedis प्रमाणीकरण के लिए पासवर्ड (यदि आवश्यक हो)

    उदाहरण

    root@kitploit:~
    python3 exploit.py --host 127.0.0.1 --port 6379 --connections 10 --size 512 --hold 5
    

    स्थानीय परीक्षण वातावरण (वैकल्पिक)

    आप शामिल Docker Compose कॉन्फ़िगरेशन का उपयोग करके एक स्थानीय परीक्षण प्रयोगशाला लॉन्च कर सकते हैं:

    root@kitploit:~
    # संवेदनशील Redis (पोर्ट 6380) और शमन किया गया Redis (पोर्ट 6381) प्रारंभ करें
    docker compose -f conf/docker-compose.yml up -d
    
    # संवेदनशील इंस्टेंस के विरुद्ध परीक्षण करें
    python3 exploit.py --host 127.0.0.1 --port 6380 --connections 10 --size 512
    
    # शमन किए गए इंस्टेंस के विरुद्ध परीक्षण करें
    python3 exploit.py --host 127.0.0.1 --port 6381 --password "L4bS3cur3!2024" --connections 10 --size 512
    
    # कंटेनर बंद करें
    docker compose -f conf/docker-compose.yml down
    

    अस्वीकरण

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

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