Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-14847 — MongoDB أداة كشف ثغرة تسرب الذاكرة (CVE-2025-14847) | Kitploit
أدوات/GitHubGitHub/onewinner/cve-2025-14847
ماسحات الثغرات الأمنيةتحليل الذاكرة الجنائيالاستغلالجمع المعلوماتاختبار الاختراقأمن قواعد البيانات
GitHubonewinner/cve-2025-14847

CVE-2025-14847

MongoDB أداة كشف ثغرة تسرب الذاكرة (CVE-2025-14847)

عرض المستودع
142منذ 7 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

أداة الكشف عن ثغرة MongoDB CVE-2025-14847

أداة الكشف عن ثغرة تسرب الذاكرة في MongoDB (CVE-2025-14847)


⚠️ تنبيه مهم: هذه الأداة مخصصة فقط لاختبارات الأمان المصرح بها وتقييم الثغرات. الاستخدام غير المصرح به قد يخالف القانون.


📋 المحتويات

  • وصف الثغرة
  • الميزات
  • التثبيت
  • طريقة الاستخدام
  • إعداد بيئة الاختبار
  • مثال على الإخراج
  • مبدأ الكشف
  • توصيات الإصلاح
  • إخلاء المسؤولية

🔍 وصف الثغرة

CVE-2025-14847 هي ثغرة خطيرة في تسرب الذاكرة في معالجة بروتوكول ضغط Zlib في MongoDB. يمكن للمهاجم إرسال حزمة بيانات مضغوطة تم إنشاؤها بشكل خبيث، مما يؤدي إلى إرجاع MongoDB لبيانات ذاكرة كومة غير مهيأة، والتي قد تحتوي على معلومات حساسة.

الإصدارات المتأثرة

مخاطر الثغرة

  • 🔴 الخطورة: CVSS 8.7 (عالية)
  • 💾 تسريب بيانات حساسة من ذاكرة الكومة
  • 🔑 قد تحتوي على كلمات مرور، رموز جلسات، مفاتيح تشفير وغيرها
  • 🚫 يمكن استغلالها بدون مصادقة
  • 🌐 يمكن استغلالها عن بعد

✨ الميزات

  • ✅ كشف ذكي – التعرف التلقائي على إصدار MongoDB وتحديد ما إذا كان متأثرًا
  • ✅ تحقق مزدوج – كشف الإصدار ← كشف دعم Zlib ← استخراج تسرب الذاكرة
  • ✅ مسح هدف واحد – كشف سريع لمثيل MongoDB واحد
  • ✅ مسح جماعي – قراءة قائمة الأهداف من ملف للمسح الجماعي
  • ✅ مسح متزامن – دعم خيوط متعددة لزيادة كفاءة المسح
  • ✅ إخراج فوري – عرض بيانات الذاكرة المسربة في الوقت الفعلي
  • ✅ تصدير النتائج – حفظ الأهداف المعرضة للثغرة تلقائيًا في ملف
  • ✅ إخراج بسيط – تنسيق إخراج موحد وواضح

🚀 التثبيت

الطريقة الأولى: التجميع من المصدر

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/onewinner/CVE-2025-14847.git
cd CVE-2025-14847

# تثبيت التبعيات
go mod download

# التجميع
go build -o mongodb-scanner main.go

# التشغيل
./mongodb-scanner -t 127.0.0.1:27017

الطريقة الثانية: التشغيل المباشر

root@kitploit:~
go run main.go -t 127.0.0.1:27017

الطريقة الثالثة: تنزيل الإصدارات المجمعة مسبقًا

انتقل إلى صفحة الإصدارات لتنزيل الإصدار المناسب لنظامك.

📖 طريقة الاستخدام

الاستخدام الأساسي

root@kitploit:~
# مسح هدف واحد
./mongodb-scanner -t 127.0.0.1:27017

# مسح جماعي من ملف
./mongodb-scanner -f targets.txt

# مسح جماعي (20 خيطًا)
./mongodb-scanner -f targets.txt -c 20

# المسح وحفظ الأهداف المعرضة للثغرة
./mongodb-scanner -f targets.txt -o vulnerable.txt

# نطاق إزاحة مخصص (مسح أسرع أو أعمق)
./mongodb-scanner -t 127.0.0.1:27017 --min-offset 20 --max-offset 1000

معاملات سطر الأوامر

تنسيق ملف الأهداف

أنشئ ملف targets.txt:

root@kitploit:~
# قائمة أهداف MongoDB
127.0.0.1:27017
192.168.1.100:27017
mongodb.example.com:27017

# إذا لم يتم تحديد المنفذ، يستخدم المنفذ 27017 افتراضيًا
192.168.1.101

🐳 إعداد بيئة الاختبار

لاختبار هذه الأداة بأمان، يُوصى باستخدام Docker لإنشاء بيئة اختبار محلية.

بدء MongoDB المتأثر بالثغرة بسرعة

root@kitploit:~
# بدء MongoDB 6.0.14 (إصدار متأثر بالثغرة) مع تفعيل ضغط Zlib
docker run -d \
  --name mongodb-vulnerable \
  -p 27017:27017 \
  mongo:6.0.14 \
  --networkMessageCompressors snappy,zlib

# عرض حالة الحاوية
docker ps

# اختبار الثغرة
./mongodb-scanner -t 127.0.0.1:27017

استخدام Docker Compose

أنشئ ملف docker-compose.yml:

root@kitploit:~
version: '3.8'

services:
  # الإصدار المتأثر بالثغرة (مع تفعيل Zlib)
  mongodb-vulnerable:
    image: mongo:6.0.14
    container_name: mongodb-vulnerable
    ports:
      - "27017:27017"
    command: mongod --networkMessageCompressors snappy,zlib

  # الإصدار المُصحَّح (للمقارنة)
  mongodb-patched:
    image: mongo:6.0.27
    container_name: mongodb-patched
    ports:
      - "27018:27017"
    command: mongod --networkMessageCompressors snappy,zlib

volumes:
  mongodb-data:
  mongodb-patched-data:

تشغيل بيئة الاختبار:

root@kitploit:~
# تشغيل جميع الحاويات
docker-compose up -d

# اختبار الإصدار المتأثر بالثغرة
./mongodb-scanner -t 127.0.0.1:27017

# اختبار الإصدار المُصحَّح
./mongodb-scanner -t 127.0.0.1:27018

# إيقاف وتنظيف
docker-compose down -v

تنظيف بيئة الاختبار

root@kitploit:~
# إيقاف وحذف الحاوية
docker stop mongodb-vulnerable && docker rm mongodb-vulnerable

# تنظيف وحدات التخزين
docker volume prune -f

📊 مثال على الإخراج

شرح تنسيق الإخراج

تستخدم الأداة بادئات موحدة لتمييز معلومات الإخراج:

  • [*] – معلومات (الهدف، الإصدار، الإعدادات، إلخ)
  • [+] – نجاح / وجود ثغرة / استخراج بيانات
  • [-] – فشل / آمن / لا توجد ثغرة
  • [!] – تحذير / تنبيه مهم

مسح هدف واحد – وجود ثغرة

root@kitploit:~
╔══════════════════════════════════════════════════════════════╗
║  أداة الكشف عن ثغرة MongoDB CVE-2025-14847                  ║
╚══════════════════════════════════════════════════════════════╝
⚠️  للاختبارات الأمنية المصرح بها فقط | الاختبار غير المصرح به قد يكون غير قانوني

[*] الهدف: 1 | الخيوط: 10 | المهلة: 2s | الإزاحة: 20-1000
[*] بدء المسح...

[*] الهدف: 127.0.0.1:27017
[*] الإصدار: 6.0.14
[+] الإصدار معرض للثغرة: نعم
[+] ضغط Zlib: مفعل
[!] الثغرة قابلة للاستغلال، بدء استخراج الذاكرة...
[+] الإزاحة=229 الطول=250: :00\"},\"s\":\"I\",  \"c\":\"NETWORK\",  \"id\":22944,   \"ctx\":\"conn102932\",

[+] 127.0.0.1:27017 – الثغرة قابلة للاستغلال (الإصدار 6.0.14) – 3468 مللي ثانية
[+] تم استخراج عنصر واحد من بيانات الذاكرة:
    [1] :00\"},\"s\":\"I\",  \"c\":\"NETWORK\",  \"id\":22944,   \"ctx\":\"conn102932\",\"msg\":\"Connection ended\",\"attr\":{\"remote\":\"172.17.0.1:44936\"...

======================================================================
[*] اكتمل المسح | الإجمالي: 1 | قابل للاستغلال: 1 | آمن: 0 | الوقت المستغرق: 3.4 ثانية
======================================================================

مسح هدف واحد – إصدار آمن

root@kitploit:~
[*] الهدف: 127.0.0.1:27018
[*] الإصدار: 6.0.27
[-] الإصدار معرض للثغرة: لا

[-] 127.0.0.1:27018 – الإصدار آمن (الإصدار 6.0.27) – 156 مللي ثانية

======================================================================
[*] اكتمل المسح | الإجمالي: 1 | قابل للاستغلال: 0 | آمن: 1 | الوقت المستغرق: 0.2 ثانية
======================================================================

مسح هدف واحد – Zlib غير مفعل

root@kitploit:~
[*] الهدف: 127.0.0.1:27017
[*] الإصدار: 6.0.14
[+] الإصدار معرض للثغرة: نعم
[-] ضغط Zlib: غير مفعل

[-] 127.0.0.1:27017 – Zlib غير مفعل (الإصدار 6.0.14) – 234 مللي ثانية

======================================================================
[*] اكتمل المسح | الإجمالي: 1 | قابل للاستغلال: 0 | آمن: 1 | الوقت المستغرق: 0.3 ثانية
======================================================================

مسح جماعي

root@kitploit:~
[*] الهدف: 5 | الخيوط: 10 | المهلة: 2s | الإزاحة: 20-8192
[*] بدء المسح...

[+] 192.168.1.10:27017 – الثغرة قابلة للاستغلال (الإصدار 6.0.14) – 3521 مللي ثانية
[+] تم استخراج عنصرين من بيانات الذاكرة:
    [1] Connection ended...
    [2] network statistics...

[-] 192.168.1.11:27017 – الإصدار آمن (الإصدار 6.0.27) – 145 مللي ثانية
[-] 192.168.1.12:27017 – Zlib غير مفعل (الإصدار 6.0.14) – 198 مللي ثانية
[+] 192.168.1.13:27017 – الثغرة قابلة للاستغلال (الإصدار 7.0.15) – 2987 مللي ثانية
[!] 192.168.1.14:27017 – الثغرة قابلة للاستغلال ولكن لم يتم استخراج بيانات (الإصدار 6.0.20) – 4123 مللي ثانية

======================================================================
[*] اكتمل المسح | الإجمالي: 5 | قابل للاستغلال: 3 | آمن: 2 | الوقت المستغرق: 5.2 ثانية
======================================================================

[+] تم حفظ الأهداف القابلة للاستغلال في: vulnerable.txt

🔬 مبدأ الكشف

تستخدم هذه الأداة آلية كشف ثلاثية المراحل:

1️⃣ كشف الإصدار

  • الاتصال بمثيل MongoDB
  • الحصول على معلومات الإصدار (أمر buildInfo)
  • تحديد ما إذا كان الإصدار ضمن نطاق الثغرة

2️⃣ كشف دعم ضغط Zlib

  • إرسال حزمة اختبار ضغط Zlib
  • التحقق من استجابة الخادم بالضغط
  • التأكد من تفعيل وظيفة ضغط Zlib

3️⃣ استخراج تسرب الذاكرة

  • إرسال حزمة بيانات مضغوطة تم إنشاؤها بشكل خبيث
    • الادعاء بأن الحجم بعد فك الضغط أكبر بكثير من الحجم الفعلي
    • تحفيز الخادم على قراءة ذاكرة كومة غير مهيأة
  • مسح إزاحات متعددة لاستخراج المزيد من البيانات
  • فك ضغط استجابة الخادم واستخراج أسماء الحقول المسربة
  • عرض بيانات الذاكرة المكتشفة في الوقت الفعلي

منطق التحديد

الشرطالنتيجة
إصدار معرض للثغرة + Zlib مفعل + استخراج بيانات✅ الثغرة قابلة للاستغلال – عرض البيانات المسربة
إصدار معرض للثغرة + Zlib مفعل + لم يتم استخراج بيانات⚠️ الثغرة قابلة للاستغلال ولكن لم يتم استخراج بيانات
إصدار معرض للثغرة + Zlib غير مفعل❌ Zlib غير مفعل – لا يمكن الاستغلال
إصدار غير معرض للثغرة

🛠️ توصيات الإصلاح

حلول الإصلاح العاجلة

قم بالترقية الفورية إلى أحد الإصدارات المُصحَّحة التالية:

  • MongoDB Server 8.2.3
  • MongoDB Server 8.0.17
  • MongoDB Server 7.0.28
  • MongoDB Server 6.0.27
  • MongoDB Server 5.0.32
  • MongoDB Server 4.4.30

إجراءات التخفيف المؤقتة

إذا تعذرت الترقية على المدى القصير، يمكن اتخاذ الإجراءات المؤقتة التالية:

1. تعطيل ضغط Zlib

في ملف التكوين mongod.conf أو mongos.conf:

root@kitploit:~
net:
  compression:
    compressors: []

أو استبعاد zlib صراحةً في معاملات بدء التشغيل:

root@kitploit:~
mongod --networkMessageCompressors snappy,zstd

2. استخدام خوارزمية ضغط أخرى

يُوصى باستخدام snappy أو zstd بدلاً من zlib:

root@kitploit:~
net:
  compression:
    compressors: snappy,zstd

3. التحكم في الوصول إلى الشبكة

  • تقييد منفذ MongoDB بحيث يكون مفتوحًا فقط لعناوين IP الموثوقة
  • استخدام قواعد جدار الحماية أو إعداد bindIp
  • تفعيل تشفير TLS/SSL للإرسال

4. تفعيل التحكم في الوصول

  • تفعيل آلية المصادقة (معامل --auth)
  • استخدام سياسات كلمات مرور قوية
  • تطبيق مبدأ الصلاحيات الدنيا

5. المراقبة والتدقيق

  • مراقبة الاتصالات غير الطبيعية وأنماط الوصول إلى الذاكرة
  • تفعيل سجلات التدقيق
  • فحص سجلات الأمان بانتظام

⚠️ تنبيه مهم: إجراءات التخفيف المؤقتة تقلل المخاطر فقط، وليست حلاً جذريًا. يُوصى بشدة بالترقية إلى الإصدار المُصحَّح في أقرب وقت.

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

تنبيه مهم:

  • ✅ هذه الأداة مخصصة فقط لـاختبارات الأمان المصرح بها وتقييم الثغرات
  • ✅ قبل استخدام هذه الأداة، تأكد من أن لديك الإذن لاختبار النظام المستهدف
  • ❌ المسح غير المصرح به قد يخالف القوانين واللوائح
  • ❌ المؤلف ليس مسؤولاً عن أي إساءة استخدام

باستخدام هذه الأداة، فإنك توافق على:

  1. استخدامها فقط على الأنظمة التي لديك إذن صريح لاختبارها
  2. الامتثال للقوانين واللوائح المحلية
  3. تحمل المسؤولية عن أي عواقب ناتجة عن استخدام هذه الأداة

📄 الترخيص

هذا المشروع مرخص بموجب ترخيص MIT.

🤝 المساهمة

نرحب بإضافة المشكلات (Issues) وطلبات السحب (Pull Requests)!

دليل المساهمة

  1. Fork هذا المستودع
  2. أنشئ فرع الميزات الخاص بك (git checkout -b feature/AmazingFeature)
  3. قم بتنفيذ التغييرات (git commit -m 'أضف ميزة رائعة')
  4. ادفع إلى الفرع (git push origin feature/AmazingFeature)
  5. افتح طلب سحب (Pull Request)

📚 المراجع

  • تفاصيل CVE-2025-14847
  • تنبيهات أمان MongoDB
  • دليل ترقية MongoDB
  • تكوين ضغط MongoDB

👨‍💻 المؤلف

onewinner – @onewinner

رابط المشروع: https://github.com/onewinner/CVE-2025-14847

📝 سجل التحديثات

الإصدار 1.0.0 (2025-12-26)

  • 🎉 إصدار أولي
  • ✅ دعم المسح الفردي والجماعي
  • ✅ دعم المسح المتزامن متعدد الخيوط
  • ✅ كشف تلقائي للإصدار وتقييم المخاطر
  • ✅ كشف ذكي لتسرب الذاكرة
  • ✅ توصيات إصلاح مفصلة

⭐ إذا كان هذا المشروع مفيدًا لك، نرجو منحه نجمة!

Made with ❤️ by Security Researchers

تنزيل الأداة
نطاق الإصدارالحالة
8.2.0 – 8.2.2⚠️ متأثر
8.0.0 – 8.0.16⚠️ متأثر
7.0.0 – 7.0.27⚠️ متأثر
6.0.0 – 6.0.26⚠️ متأثر
5.0.0 – 5.0.31⚠️ متأثر
4.4.0 – 4.4.29⚠️ متأثر
4.2.x جميع الإصدارات⚠️ متأثر
4.0.x جميع الإصدارات⚠️ متأثر
3.6.x جميع الإصدارات⚠️ متأثر
المعاملالوصفالقيمة الافتراضية
-t <target>هدف واحد (مثال: 127.0.0.1:27017)-
-f <file>ملف الأهداف (هدف في كل سطر)-
-c <num>عدد الخيوط المتزامنة10
-timeout <time>مهلة الاتصال2s
-o <file>ملف الإخراج (حفظ الأهداف المعرضة للثغرة)-
--min-offset <num>أدنى إزاحة لطول المستند20
--max-offset <num>أقصى إزاحة لطول المستند8192
✅ الإصدار آمن