Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
log4shell-finder — log4shell(CVE-2021-44228、CVE-2021-45046)およびlog4jライブラリのその他の脆弱なインスタンス(CVE-2017-5645、CVE-2019-17571、CVE-2022-23305、CVE-2022-23307 ... )向けの最速のファイルシステムスキャナ。優れたパフォーマンスと低メモリフットプリントを実現。 | Kitploit
ツール/GitHubGitHub/hynekpetrak/log4shell-finder
静的分析脆弱性スキャナー脆弱性分析コード分析サプライチェーンセキュリティ設定ミス
GitHubhynekpetrak/log4shell-finder

log4shell-finder

log4shell(CVE-2021-44228、CVE-2021-45046)およびlog4jライブラリのその他の脆弱なインスタンス(CVE-2017-5645、CVE-2019-17571、CVE-2022-23305、CVE-2022-23307 ... )向けの最速のファイルシステムスキャナ。優れたパフォーマンスと低メモリフットプリントを実現。

リポジトリを見る
3913123年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

log4shell-finder - log4j インスタンス向け最速のファイルシステムスキャナ

https://github.com/mergebase/log4j-detector の Python 移植版です。log4j-detector は Copyright (C) Copyright 2021 Mergebase Software Inc. https://mergebase.com/ に帰属し、GPLv3 でライセンスされています。

Python に移植した動機は、パフォーマンスの向上、メモリ消費の削減、コードの可読性の向上です。比較については下記の パフォーマンス セクションを参照してください。

そして、これは 最も高速で、メモリ要件が最も低いスキャンツール のようです。

CVE-2021-44228、CVE-2021-45046 およびその他多数の脆弱性に対して影響を受ける、ファイルシステム上の log4j (1.x)、reload4j (1.2.18+)、log4j-core (2.x) のバージョンを特定します - 下の表 を参照。大規模なアプリケーションに数層深く埋め込まれたインスタンスも検出できます。Linux、Windows、Mac、その他 Python 3.8+ が動作するあらゆる環境で動作します。

実行可能な spring-boot の jar/war、uber jars に混在する依存関係、shaded jar、さらにはファイルシステム上に圧縮されずに置かれている exploded jar ファイル(別名 *.class)内の log4j も正確に検出できます。また、shaded クラスファイル(拡張子 .esclazz(elastic)および .classdata(Azure))も処理できます。

検索対象の Java アーカイブ拡張子: .zip, .jar, .war, .ear, .aar, .jpi, .hpi, .rar, .nar, .wab, .eba, .ejb, .sar, .apk, .par, .kar

検出される脆弱性

検出CVECVSSv3深刻度Java影響を受ける開始バージョン影響を受けるバージョン修正バージョンライブラリ
○CVE-2021-4422810.0緊急82.0-beta92.14.12.15.0log4jv2
○CVE-2017-56459.8緊急72.0-alpha12.8.12.8.2log4jv2
○CVE-2019-175719.8緊急1.2.01.2.17nofixlog4jv1
○CVE-2021-450469.0緊急7/82.0-beta92.15.0(2.12.2 を除く)2.12.2/2.16.0log4jv2
○CVE-2022-233059.8緊急1.2.01.2.17nofix / 1.2.18.1log4jv1, reload4j
○CVE-2022-233079.8緊急1.2.01.2.17nofix / 1.2.18.1log4jv1, reload4j
○CVE-2022-233028.8高1.01.2.17nofix / 1.2.18.1log4jv1, reload4j
○CVE-2021-41047.5高-1.01.2.17nofixlog4jv1
○CVE-2021-448326.6中6/7/82.0-alpha72.17.0(2.3.2/2.12.4 を除く)2.3.2/2.12.4/2.17.1log4jv2
-CVE-2021-425506.6中-1.01.2.71.2.8logback
○CVE-2021-451055.9中6/7/82.0-beta92.16.0(2.12.3 を除く)2.3.1/2.12.3/2.17.0log4jv2
-CVE-2020-94883.7低7/82.0-alpha12.13.12.12.3/2.13.2log4jv2

各インスタンスは、該当する CVE のリストとともに報告されます。各 CVE について、推奨される回避策(例: JndiLookup.class や JMSAppender.class の削除)が適用されたかどうかが log4j ライブラリファイルで分析され、適用済みの場合は脆弱性なしと見なされます。STRANGE ステータスは、log4j-core の pom.properties ファイルはあるが実際のバイトコードクラスが含まれないアーカイブについて報告されます。通常これらはソースパッケージなので無視して構いません。

警告 --fix 機能は実験的です。自己責任で使用し、使用前に jar ファイルをバックアップしてください。

--fix 引数は、JndiLookup.class のインスタンスを JndiLookup.vulne にリネームすることで、クラスがロードされないようにします。Java アーカイブ内ではインプレースリネームで行われるため、アーカイブの再 zip 化は不要で、瞬時に完了します。

Linux 64bit、MS Windows 64bit および 32bit 向けのバイナリが利用可能です - Releases を参照

サポートされる最小 Python バージョンは 3.8 です。私のテストによると、Python 3.6 の zip 実装ではテストデータの多くの .jar ファイルを開くことができませんでした。

パフォーマンス

log4shell-finder はパフォーマンスと低メモリ消費向けに最適化されています。

2022年1月23日更新。2005 フォルダ内の 26237 ファイルがあるディレクトリでパフォーマンスを測定しました。

実行時間は半分、メモリ消費は 2/3、ファイルシステム読み取りは少なくとも 90% 削減

log4shell-finder(このツール)

Command being timed: "./test_log4shell.py /home/hynek/war/ --exclude-dirs /mnt --same-fs"
User time (seconds): 17.68
System time (seconds): 1.20
Percent of CPU this job got: 127%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:14.47
Maximum resident set size (kbytes): 64144
File system inputs: 114424

log4j-finder (https://github.com/fox-it/log4j-finder)

Command being timed: "./log4j-finder.py /home/hynek/war/"
User time (seconds): 23.59
System time (seconds): 1.09
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:26.18
Maximum resident set size (kbytes): 38604
File system inputs: 142824

log4j-detector (https://github.com/mergebase/log4j-detector)

Command being timed: "java -jar log4j-detector-latest.jar /home/hynek/war"
User time (seconds): 30.56
System time (seconds): 1.39
Percent of CPU this job got: 113%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:28.26
Maximum resident set size (kbytes): 214116
File system inputs: 14416

log4j2-scan (https://github.com/logpresso/CVE-2021-44228-Scanner)

Command being timed: "./log4j2-scan /home/hynek/war --scan-log4j1 --scan-zip"
User time (seconds): 52.05
System time (seconds): 25.32
Percent of CPU this job got: 88%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:27.86
Maximum resident set size (kbytes): 593080
File system inputs: 215416

変更履歴

バージョン 1.22-20220222

  • 追加: MANIFEST.MF と pom.properties の両方からライブラリのバージョンと名前(log4j、log4j-core、reload4j)を読み取るようにしました
  • パフォーマンスをさらに 15% 改善
  • 追加: mswin で all パラメータを使用してすべてのローカルドライブを自動検出
  • 追加: 複数ホストの結果をマージしやすくするため、CSV ヘッダーを省略する --no-csv-header
  • 追加: CVE-2017-5645 (9.8)、CVE-2019-17571 (9.8)、CVE-2022-23307 (8.1)、CVE-2022-23305 (9.8)、CVE-2022-23305 (9.8)、CVE-2022-23302 (8.1) の検出、および CVE-2017-5645 の検出を改善
  • 追加: スキャンスレッド数を手動で調整する --threads パラメータ
  • 追加: log4j ライブラリが検出されなかった場合に CSV 出力へ "CLEAN" 行を書き込む --cvs-clean パラメータ
  • 追加: 実行時間(秒)とスキャンしたファイル/フォルダ数を CSV 出力へ "STATS" 行として書き込む --cvs-stats パラメータ

バージョン 1.21-20220109

  • バグ修正: バージョン 1.19 および 1.20 の --fix コマンドが .jar アーカイブを破損する可能性がありました。

以前の変更については リリースノート を参照してください。

使い方

Python インタープリターから実行するか、dist フォルダ内の Windows/Linux バイナリを使用します。

ファイルシステム全体にアクセスできる(少なくとも読み取り専用)ユーザーとして実行してください。log4shell-finder はアクセスできるフォルダのみを走査し、権限拒否エラーは報告しません。

PS C:\D\log4shell_finder> python3 .\test_log4shell.py --help
usage:  Type "test_log4shell.py --help" for more information
        On Windows "test_log4shell.py c:\ d:\"
        On Linux "test_log4shell.py /"

Searches file system for vulnerable log4j version.

positional arguments:
  folders               List of folders or files to scan. Use "-" to read list of files from stdin. On MS Windows use "all" to scan all local drives.
ツールをダウンロード