
Windows, Linux और macOS होस्ट्स को स्कैन करके JndiLookup.class वाले Java पैकेजों की पहचान करता है, ताकि Log4Shell (CVE-2021-44228, CVE-2021-45046) जोखिम का पता लगाया जा सके और JSON परिणाम रिपोर्ट किए जा सकें।
Arctic Wolf Log4Shell डीप स्कैन को CVE-2021-44228 और CVE-2021-45046 के अधीन Java एप्लिकेशन पैकेजों का पता लगाने के लिए डिज़ाइन किया गया है।
Copyright 2021, Arctic Wolf Networks, Inc.
Arctic Wolf Networks, Inc. इस फ़ाइल को आपको Apache License, Version 2.0 ("लाइसेंस") के अंतर्गत लाइसेंस देता है। आप लाइसेंस के अनुपालन में होने के अलावा इस फ़ाइल का उपयोग नहीं कर सकते। आप लाइसेंस की एक प्रति यहाँ प्राप्त कर सकते हैं: 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 दबाएँ।
PASS होने वाले स्कैन के लिए JSON आउटपुट में 1 प्रविष्टि इस प्रकार होगी:
[
{ "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 }
]
जिन स्कैन का परिणाम FAIL होता है, उनके JSON आउटपुट में सिस्टम पर पाई गई प्रत्येक कमज़ोर Java एप्लिकेशन के लिए 1 प्रविष्टि इस प्रकार होगी:
[
{ "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 होते हैं और जिनमें बिना स्कैन की गई jars होती हैं, सिस्टम पर पाए गए प्रत्येक कमजोर या बिना स्कैन किए गए Java एप्लिकेशन के लिए निम्नानुसार 1 प्रविष्टि होगी:
[
{ "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 को जारी किया गया, जिसमें निम्नलिखित संवर्द्धन और समाधान शामिल हैं: