Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Log4j-CVE-Detect — ネストされたバイナリ内の CVE-2021-44228 の検出 | Kitploit
ツール/GitHubGitHub/darkarnium/log4j-cve-detect
静的分析脆弱性スキャナーコンテナセキュリティ脆弱性分析DevSecOpsバイナリ解析サプライチェーンセキュリティ
GitHubdarkarnium/log4j-cve-detect

Log4j-CVE-Detect

ネストされたバイナリ内の CVE-2021-44228 の検出

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Log4J-CVE-Detect

このリポジトリには、CVE-2021-44228、CVE-2021-45046、または CVE-2021-45105 に対して脆弱な log4j のバージョンを検出するための YARA ルール一式が含まれています。影響を受けるバージョンに現れるいくつかの特徴を探すことで検出を行います。

このツールは、Docker イメージ、システムパッケージ、ファイルシステムイメージ、さらにはインストールメディアなどのバイナリファイルに対して再帰的に動作します。対応しているファイル形式の完全なリストについては、「どのように動作するのか?」のセクションを参照してください。

  • CVE-2021-44228
    • JndiManager コンストラクタのシグネチャを探します(< 2.15.0)。
  • CVE-2021-45046
    • JndiManager をインポートしていない Interpolator クラスを探します(< 2.16.0)。
  • CVE-2021-45105
    • ConfigurationStrSubstitutor をインポートしていない AbstractConfiguration クラスを探します(< 2.17.0)。

CodeQL や Semgrep を使用して log4j の安全でない使用法を検出するためのリソースは多数ありますが、バイナリアーティファクト内の潜在的に脆弱な log4j バージョンを検出するためのリソースはこれまで提供されていませんでした。

これは、社内で開発されていないエンタープライズアプリケーションを運用している組織や、初期トリアージを実施するチームがソースコードをすぐに入手できない状況において、課題となっています。

この脆弱性はさまざまな「予期しない」場所に現れる可能性が高いため、このツールはコンパイル済みアーティファクト内の脆弱な log4j バージョンの検出を支援することを目的としています。検出後は手動でレビューし、悪用可能性を判断できます。

注意点

難読化されたコードでは、難読化の使用により潜在的に脆弱なウィジェットを検出できない場合があり、偽陰性が発生します。

実行方法

このツールを実行するには、このリポジトリをクローンし、次の手順に従ってください。Docker と jq がインストールされていることを前提としています。

  1. チェックする必要のあるバイナリを artifacts/ フォルダに追加します
  2. quickstart.sh を実行します(./quickstart.sh)

または、次のコマンドを使用して実行をカスタマイズすることもできます:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/vulnerability.json" \
      "/mnt/stacs/input"

CVE-2021-44228 のみを検索したい場合は、次のコマンドを使用できます:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-44228.json" \
      "/mnt/stacs/input"

CVE-2021-45046 のみを検索したい場合は、次のコマンドを使用できます:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45046.json" \
      "/mnt/stacs/input"

CVE-2021-45105 のみを検索したい場合は、次のコマンドを使用できます:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45105.json" \
      "/mnt/stacs/input"

このツールは Docker なしでも実行できます。Docker なしで STACS をインストールする方法については、STACS のインストール手順を参照してください。

Docker の場合はどうすればよいですか?

Docker イメージをスキャンするには、まずスキャン用に artifacts ディレクトリへエクスポートする必要があります。これは次のコマンドで実行できます:

root@kitploit:~
IMAGE="alpine:latest"
NAME="alpine_latest"

docker export $(docker create ${IMAGE}) -o artifacts/${NAME}.tar

あるいは、実行中のコンテナを次のようにエクスポートすることもできます:

root@kitploit:~
# CONTAINER_ID を正しいコンテナ識別子に置き換えてください。
CONTAINER_ID="c29209118f9a"
NAME="widget_example"

docker export ${CONTAINER_ID} -o artifacts/${NAME}.tar

検出結果が出ました!どうすればよいですか?

アプリケーションでの log4j の使用状況を調査し、製品が脆弱かどうかを理解する必要があります。ソースコードにアクセスできないなどの理由でこれが不可能な場合は、ベンダーがこの問題に関するアドバイザリを公開しているかどうかを確認してください。

脆弱なバージョンの log4j が含まれているからといって、その製品が必ずしも脆弱であるとは限りません!

アドバイザリが見つからない場合は、ベンダーに連絡して、この脆弱性が製品に与える影響について問い合わせてください。

また、log4j プロジェクトが公開している緩和策 も参照してください。あるいは、できれば影響を受けないバージョンの log4j にアップグレードしてください。

どのように動作するのか?

このツールはこの目的のために設計されたわけではありませんが、STACS エンジンをバルクバイナリの分解と分析に使用しています。

STACS は YARA を利用した静的クレデンシャルスキャナであり、バイナリファイル形式、ネストされたアーカイブの分析、構成可能なルールセットと無視リスト、および SARIF レポートをサポートしています。

例として、このツールは、エクスポートされた Docker イメージを含む tarball を分析できます。そのファイルシステム上のどこかに、この脆弱性の影響を受ける JAR が含まれている場合です。

また、ネストされた tar、jar、war、ear、zip、apk、bz2、tgz、xz、rpm、iso なども分析できます。

誤検知 / 見逃しを見つけました

問題を説明し、可能であれば影響を受けるバイナリアーティファクトへのリンクを添付して、Github の issue を開いてください。

ルールセットを調整するプルリクエストも大歓迎です!

検証

このルールセットの検証からのログファイル一式については、validation/ ディレクトリを参照してください。

ツールをダウンロード