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، يعتمد على رؤوس سلاسل ضخمة الحجم لتحفيز استنزاف الذاكرة. يتضمن تعليمات الاستخدام وبيئة اختبار قائمة على Docker.

عرض المستودع
منذ 15س 32دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2021-32675 – Redis حجب الخدمة عبر التخصيص المسبق للذاكرة (OOM)

يحتوي هذا المستودع على استغلال وظيفي لثغرة CVE-2021-32675، وهي ثغرة حجب خدمة (DoS) في Redis. يسمح العيب للمهاجمين عن بُعد غير المصادق عليهم بتفعيل عمليات تخصيص مسبق ضخمة للذاكرة على خادم Redis عن طريق إرسال رؤوس سلاسل كبيرة الحجم دون توفير بيانات الوسائط، مما يؤدي إلى استنزاف الذاكرة وتعطل الخدمة.

الوصف

CVE-2021-32675 هي ثغرة في معالجة مخزن الاستعلامات المؤقت في Redis. عند تحليل الأوامر الواردة في بروتوكول RESP (بروتوكول تسلسل Redis)، يقرأ Redis الطول المُعلن لوسيطة سلسلة كبيرة ($<length>\r\n) ويقوم فورًا بتخصيص مخزن SDS (سلسلة ديناميكية بسيطة) في الذاكرة لاستقبال الحمولة قبل قراءة أي بايتات من الوسيطة.

نظرًا لأن هذا التخصيص المسبق يحدث قبل استلام حمولة الوسيطة، يمكن للعميل غير المصادق عليه إعلان الحد الأقصى المسموح به لحجم السلسلة الكبيرة (افتراضيًا، proto-max-bulk-len هو 512 ميجابايت) وإبقاء الاتصال مفتوحًا إلى أجل غير مسمى دون إرسال البيانات الفعلية. يحتفظ Redis بالذاكرة المخصصة مسبقًا لكل اتصال نشط، مما يُحدث نسبة تضخيم تبلغ حوالي 32,000,000× (~16 بايت من حركة مرور الشبكة تؤدي إلى حجز ذاكرة بحجم 512 ميجابايت).

فتح اتصالات متزامنة متعددة باستخدام هذه التقنية القائمة على الرؤوس فقط يستنزف بسرعة ذاكرة الخادم المتاحة، مما يسبب:

  • عمليات إخلاء قسرية للمفاتيح إذا كانت سياسة maxmemory نشطة.
  • حجب الخدمة برفض عمليات الكتابة اللاحقة (OOM command not allowed).
  • إنهاء العملية بواسطة مُنهي OOM (نفاد الذاكرة) في نظام التشغيل.
  • تؤثر الثغرة على إصدارات Redis السابقة لما يلي:

    • 6.2.6
    • 6.0.16
    • 7.0 (عند التشغيل بدون مصادقة أو بحدود الحجم الافتراضية)

    حالات Redis التي تعمل بدون مصادقة (requirepass غير مُهيأ) أو بحد proto-max-bulk-len الافتراضي (512 ميجابايت) معرضة لهذا الاستغلال. تفرض الإصدارات المُصححة حدًا صارمًا لمخزن البروتوكول المؤقت يبلغ 16 كيلوبايت للعملاء غير المصادق عليهم قبل حدوث التخصيص المسبق.

    تعليمات التثبيت

    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حجم مخزن السلسلة الكبيرة المُعلن بالميجابايت
    --holdint5ثوانٍ لإبقاء الاتصالات مفتوحة قبل التنظيف
    --password, --authstrNoneكلمة مرور مصادقة Redis (إذا لزم الأمر)

    مثال

    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
    

    إخلاء المسؤولية

    يُقدَّم هذا الدليل الإثباتي (PoC) لأغراض تعليمية وبحثية والتحقق الأمني فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر أو اختبار غير مصرح به ضد أنظمة دون إذن صريح.

    تنزيل الأداة