
Arctic Wolf Log4Shell Deep Scanは、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 から入手できます。
適用法により要求される場合、または書面による同意がある場合を除き、本ライセンスに基づき配布されるソフトウェアは「現状のまま」で提供され、明示的または黙示的を問わず、いかなる種類の保証も条件も付帯しません。本ライセンスに基づく許可および制限事項を規定する具体的な文言については、本ライセンスを参照してください。
本スクリプトは、Log4Shell脆弱性の原因となるLog4JクラスJndiLookup.classを含むJavaアプリケーションをシステム上で検索します。このクラスがアプリケーション内で見つかった場合、スクリプトはアプリケーションがLog4J 2.16+またはLog4J 2.12.2+を使用するように更新されていることを示すLog4Jの更新を探します。アプリケーションがJndiLookup.classを含んでいるものの、更新されていないと思われる場合、そのアプリケーションは脆弱です。
詳細については、以下を参照してください:
修復手順については、影響を受ける各アプリケーションのベンダーにお問い合わせください。
各スキャンは以下のいずれかの結果になります:
修復手順については、影響を受ける各アプリケーションのベンダーにお問い合わせください。
最新バージョンはこちらからダウンロードしてください:log4shell_deep_scan_0.3.zip。
実行するには、管理者としてコマンドプロンプト(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" }
]
FAIL し、未スキャンの jar があるスキャンの JSON 出力には、システム上で見つかった脆弱な Java アプリケーションまたは未スキャンの 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" }
]
2021年12月17日にリリースされたバージョン0.3には、以下の機能強化と修正が含まれています:
2021年12月17日にリリースされたバージョン0.2には、以下の機能強化と修正が含まれています: