
يفحص مضيفي Windows وLinux وmacOS بحثًا عن حزم Java التي تحتوي على JndiLookup.class لاكتشاف التعرّض لثغرة Log4Shell (CVE-2021-44228، CVE-2021-45046) وإخراج النتائج بصيغة JSON.
صُمم فحص Arctic Wolf Log4Shell العميق لاكتشاف حزم تطبيقات Java المعرّضة لـ CVE-2021-44228 و CVE-2021-45046.
حقوق النشر 2021، Arctic Wolf Networks, Inc.
تُرخّص لك Arctic Wolf Networks, Inc. هذا الملف بموجب رخصة Apache، الإصدار 2.0 (the "License"). لا يجوز لك استخدام هذا الملف إلا وفقًا للامتثال للرخصة. يمكنك الحصول على نسخة من الرخصة من http://www.apache.org/licenses/LICENSE-2.0.
ما لم يُشترط بموجب القانون المعمول به أو يُتفق عليه كتابيًا، فإن البرمجيات الموزعة بموجب الرخصة تُوزع على أساس "كما هي" (AS IS)، دون ضمانات أو شروط من أي نوع، صريحة كانت أو ضمنية. راجع الرخصة للاطلاع على اللغة المحددة التي تحكم الأذونات والقيود بموجب الرخصة.
يبحث هذا السكربت في النظام عن تطبيقات Java التي تحتوي على صنف Log4J المسمى JndiLookup.class وهو مصدر ثغرات Log4Shell. إذا عُثر على هذا الصنف داخل تطبيق ما، يبحث السكربت عن تحديثات Log4J التي تشير إلى أن التطبيق قد حُدّث لاستخدام Log4J 2.16+ أو Log4J 2.12.2+. إذا كان التطبيق يحتوي على JndiLookup.class لكنه لا يبدو أنه قد حُدّث، فإن التطبيق معرّض للثغرة.
لمزيد من التفاصيل، راجع:
للاطلاع على خطوات المعالجة، تواصل مع مورّد كل تطبيق متأثر.
ستحصل كل عملية فحص على إحدى النتائج التالية:
للاطلاع على خطوات المعالجة، تواصل مع مورّد كل تطبيق متأثر.
نزّل أحدث إصدار من هنا: log4shell_deep_scan_0.3.zip.
للتشغيل، افتح Command (cmd.exe) بصفتك مسؤولاً:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
بشكل افتراضي، سيتم البحث في جميع محركات الأقراص الثابتة. حدد search_root على النحو التالي:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
ستُكتب النتائج في ملف داخل دليل العمل الحالي على النحو التالي:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
لتحديد اسم ملف لملف الإخراج، قدّمه كمعامل على النحو التالي:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
يمكن أن يستغرق هذا عدة دقائق. اضغط Ctrl-c للإلغاء.
nice إذا لزم الأمر.للتشغيل، افتح موجه الأوامر:
$ sudo sh log4shell_deep_scan.sh
بشكل افتراضي، سيتم البحث في جميع محركات الأقراص الثابتة. حدد search_root على النحو التالي:
$ sudo sh log4shell_deep_scan.sh /START_HERE
ستُكتب النتائج في ملف داخل دليل العمل الحالي على النحو التالي:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
لتحديد اسم ملف لملف الإخراج، قدّمه كمعامل على النحو التالي:
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
يمكن أن يستغرق هذا عدة دقائق. اضغط Ctrl-c للإلغاء.
سيكون لمخرجات JSON للفحوصات التي تنجح (PASS) مدخل واحد كما يلي:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:24:46.8919939-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"PASS", "vulnerable_jar":false }
]
سيتضمن مخرجات JSON للفحوصات التي تنتهي بحالة FAIL مدخلًا واحدًا لكل تطبيق Java مصاب تم العثور عليه على النظام كما يلي:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\log4j-core-2.12.1.jar" }
]
سيتضمن مخرجات JSON للفحوصات التي تنتهي بحالة FAIL وتحتوي على ملفات jar غير مفحوصة مدخلاً واحدًا لكل تطبيق Java مصاب أو غير مفحوص تم العثور عليه على النظام كما يلي:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"UNKNOWN", "unscanned_jar":"C:\\Users\\user1234\\Downloads\\log4j-3234-2.12.1.jar" }
]
يتضمن الإصدار 0.3 الصادر في 17 ديسمبر 2021 التحسينات والحلول التالية:
يتضمن الإصدار 0.2 الصادر في 17 ديسمبر 2021 التحسينات والحلول التالية: