Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
log4j-detector — ماسح نظام ملفات يكتشف إصدارات Log4J الضعيفة (CVE-2021-44228, CVE-2021-45046) عن طريق تحليل فئات Java المجمعة، بما في ذلك الأرشيفات المتداخلة. يعمل على لينكس، ويندوز، وماك. | Kitploit
أدوات/GitHubGitHub/mergebase/log4j-detector
التحليل الثابتماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةأمن سلسلة التوريد
GitHubmergebase/log4j-detector

log4j-detector

ماسح نظام ملفات يكتشف إصدارات Log4J الضعيفة (CVE-2021-44228, CVE-2021-45046) عن طريق تحليل فئات Java المجمعة، بما في ذلك الأرشيفات المتداخلة. يعمل على لينكس، ويندوز، وماك.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

شعار mergebase

مكتشف Log4j

ماسح ضوئي يكتشف إصدارات Log4J الضعيفة لمساعدة الفرق في تقييم تعرضهم لـ CVE-2021-44228 (حرج) و CVE-2021-45046 و CVE-2021-45105 و CVE-2021-44832. يمكنه البحث عن مثيلات Log4J عن طريق فحص نظام الملفات بالكامل بدقة، بما في ذلك جميع التطبيقات المثبتة. وهو قادر على العثور على مثيلات Log4J المخفية بعدة طبقات عميقة. يعمل على Linux و Windows و Mac وأي مكان آخر يعمل فيه Java أيضًا!

جدول المحتويات

  • مقدمة
  • مثال على الاستخدام
  • مزيد من الأمثلة على الاستخدام
  • فهم النتائج
  • الاستخدام
  • البناء من المصدر
  • الاختبار
  • الترخيص
  • الأسئلة الشائعة
    • كيف يعمل؟
    • هذا الماسح يبلغ فقط عن الإصابات في مكتبة log4j-core. ماذا عن log4j-api؟
    • لماذا التبليغ عن 2.10.0 و 2.15.0 و 2.16.0؟
    • ماذا عن نتائج "file1.war!/path/to/file2.zip!/path/to/file3.jar!/path/to/log4j.jar"؟
    • ماذا عن Log4J 1.2.x؟
    • كيف يمكنني التأكد من أن هذا ليس حصان طروادة يتظاهر بأنه كاشف Log4J؟
  • ما هو MergeBase؟

مقدمة

يبلغ حاليًا عن إصدارات log4j-core 2.3.2 و 2.12.4 و 2.17.1 كـ _SAFE_ (آمنة)، و 2.3.1 و 2.12.2 و 2.12.3 و 2.15.0 و 2.16.0 و 2.17.0 كـ _OKAY_ (مقبولة) وجميع الإصدارات الأخرى كـ _VULNERABLE_ (قابلة للاختراق) (على الرغم من أنه يبلغ عن ما قبل الإصدار 2.0-beta9 كـ _POTENTIALLY_SAFE_ (قد تكون آمنة)). ويبلغ عن الإصدارات الأقدم من log4j-1.x كـ _OLD_ (قديمة).

يمكنه اكتشاف log4j بشكل صحيح داخل ملفات jar/wars القابلة للتنفيذ من Spring Boot، والتبعيات المدمجة في uber jars، والملفات المظللة (shaded jars)، وحتى ملفات jar غير المضغوطة على نظام الملفات (المعروفة باسم *.class).

نحتفظ حاليًا بمجموعة من عينات log4j التي نستخدمها للاختبار.

مثال على الاستخدام:

java -jar log4j-detector-2021.12.29.jar ./samples 

-- github.com/mergebase/log4j-detector v2021.12.29 (من mergebase.com) يقوم بتحليل المسارات (قد يستغرق بعض الوقت).
-- ملاحظة: استخدم العلامة '--verbose' لطباعة كل ملف تم فحصه إلى STDERR.
false-hits/log4j-core-2.12.2.jar يحتوي على Log4J-2.x   == 2.12.2 _OKAY_
false-hits/log4j-core-2.12.3.jar يحتوي على Log4J-2.x   == 2.12.3 _OKAY_
false-hits/log4j-core-2.12.4.jar يحتوي على Log4J-2.x   == 2.12.4 _SAFE_
false-hits/log4j-core-2.15.0.jar يحتوي على Log4J-2.x   == 2.15.0 _OKAY_
false-hits/log4j-core-2.16.0.jar يحتوي على Log4J-2.x   == 2.16.0 _OKAY_
false-hits/log4j-core-2.17.0.jar يحتوي على Log4J-2.x   == 2.17.0 _OKAY_
false-hits/log4j-core-2.17.1.jar يحتوي على Log4J-2.x   >= 2.17.1 _SAFE_
false-hits/log4j-core-2.3.1.jar يحتوي على Log4J-2.x   == 2.3.1 _OKAY_
false-hits/log4j-core-2.3.2.jar يحتوي على Log4J-2.x   == 2.3.2 _SAFE_
true-hits/log4j-core-2.0-beta9.jar يحتوي على Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.10.0.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.10.0.zip يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.0.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.1.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.2.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.12.0.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.12.1.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.14.0.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.14.1.jar يحتوي على Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.2.jar يحتوي على Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.3.jar يحتوي على Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.4.1.jar يحتوي على Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.4.jar يحتوي على Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.9.1.jar يحتوي على Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
old-hits/log4j-1.1.3.jar يحتوي على Log4J-1.x   <= 1.2.17 _OLD_
old-hits/log4j-1.2.17.jar يحتوي على Log4J-1.x   <= 1.2.17 _OLD_
old-hits/log4j-core-2.0-beta2.jar يحتوي على Log4J-2.x   <= 2.0-beta8 _POTENTIALLY_SAFE_ (هل قمت بإزالة JndiLookup.class؟)

فهم النتائج

_VULNERABLE_ -> تحتاج إلى ترقية هذا الملف أو إزالته.

_OKAY_ -> نبلغ عن ذلك لإصدارات Log4J 2.3.1 و 2.12.2 و 2.12.3 و 2.15.0 و 2.16.0 و 2.17.0. نوصي بالترقية إلى 2.17.1.

_SAFE_ -> نبلغ حاليًا عن ذلك فقط لإصدارات Log4J 2.3.2 و 2.12.4 و 2.17.1 (وما بعدها).

_OLD_ -> أنت آمن من CVE-2021-44228، ولكن يجب التخطيط للترقية لأن Log4J 1.2.x تجاوز عمرها الافتراضي منذ 7 سنوات ولها عدة ثغرات أمنية معروفة.

_POTENTIALLY_SAFE_ -> ملف "JndiLookup.class" غير موجود، إما لأن إصدار Log4J الخاص بك قديم جدًا (قبل 2.0-beta9)، أو لأن شخصًا ما أزال هذا الملف بالفعل. تأكد من أن شخصًا من فريقك أو شركتك هو من أزال "JndiLookup.class" إذا كان الأمر كذلك، لأنه من المعروف أن المهاجمين يزيلون هذا الملف بأنفسهم لمنع المهاجمين المنافسين الإضافيين من الوصول إلى الأنظمة المخترقة.

الاستخدام

java -jar log4j-detector-2021.12.29.jar 

الاستخدام: java -jar log4j-detector-2021.12.29.jar [--verbose] [--json] [--stdin] [--exclude=X] [مسارات للفحص...]

  --json       - إخراج النتائج إلى STDOUT بصيغة JSON. (لا تزال الأخطاء/التحذيرات تُصدر إلى STDERR)
  --stdin      - قراءة STDIN للمسارات المراد استكشافها (مسار واحد لكل سطر)
  --exclude=X  - حيث X هي قائمة JSON تحتوي على مسارات كاملة لاستبعادها. يجب أن تكون JSON صالحة.

                 مثال: --exclude='["/dev", "/media", "Z:\TEMP"]'

رموز الخروج:  0 = لم يتم العثور على إصدارات Log4J ضعيفة.
             1 = تم العثور على إصدار قديم واحد على الأقل من Log4J 1.x.
             2 = تم العثور على إصدار ضعيف واحد على الأقل من Log4J.

حول - كاشف MergeBase log4j (الإصدار 2021.12.29)
الوثائق  - https://github.com/mergebase/log4j-detector 
(C) حقوق النشر 2021 شركة Mergebase Software Inc. مرخص لك عبر GPLv3.

البناء من المصدر:

git clone https://github.com/mergebase/log4j-detector.git
cd log4j-detector/
mvn install
java -jar target/log4j-detector-latest.jar

الاختبار:

نحتفظ بمجموعة من عينات log4j هنا: https://github.com/mergebase/log4j-samples

الترخيص

الإصدار 3.0 من رخصة GPL

الأسئلة الشائعة

كيف يعمل؟

يقوم مترجم Java بتخزين النصوص الحرفية (String literals) مباشرة في ملفات *.class المترجمة. إذا اكتشف log4j-detector وجود ملف باسم "JndiManager.class" على نظام الملفات الخاص بك، فإنه يفحص هذا الملف بحثًا عن النص: "Invalid JNDI URI - {}". اتضح أن هذا النص المحدد موجود فقط في الإصدار المُصحح من Log4J (الإصدار 2.15.0). أي إصدارات Log4J التي لا تحتوي على هذا النص تكون ضعيفة.

تم توسيع هذه التقنية نفسها لفحص ملفات *.class بحثًا عن النصوص الحرفية لاكتشاف الإصدارات الآمنة 2.3.2 و 2.12.4 و 2.17.1 بدقة.

هذا الماسح يبلغ فقط عن الإصابات في مكتبة log4j-core. ماذا عن log4j-api؟

تُبلغ العديد من الماسحات الضوئية (بما في ذلك Dependabot الخاص بـ GitHub) حاليًا عن كل من مكتبتي "log4j-core" و "log4j-api" على أنهما ضعيفتان. هذه الماسحات مخطئة. لا يوجد حاليًا أي إصدار موجود من مكتبة "log4j-api" يمكن استغلاله بواسطة أي من هذه الثغرات.

تنزيل الأداة