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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-3094-One-Liner | Kitploit
ツール/GitHubGitHub/brinhosa/cve-2024-3094-one-liner
脆弱性スキャナーコンテナセキュリティ脆弱性分析クラウドセキュリティDevSecOpsサプライチェーンセキュリティ
GitHubbrinhosa/cve-2024-3094-one-liner

CVE-2024-3094-One-Liner

リポジトリを見る
12年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-3094 ワンライナー脆弱性チェッカー

このリポジトリは、xz ユーティリティの特定のバージョンに見つかった重大なセキュリティ脆弱性である CVE-2024-3094 に対して、サーバーが脆弱かどうかを迅速に判断するための、シンプルかつ強力なワンライナースクリプトを提供します。さらに、潜在的な間接的脆弱性を示す可能性がある xz ライブラリへの参照をコードリポジトリからスキャンする便利な方法も提供します。

サーバーの脆弱性を確認する

サーバーが CVE-2024-3094 の影響を受けるかどうかを確認するには、ターミナルで次のコマンドを実行します:

root@kitploit:~
(type dpkg &>/dev/null && dpkg -l xz 2>/dev/null | awk '/^ii/{print $3}' | grep -qE '^(5.6.0|5.6.1)$' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or xz not installed") || (type rpm &>/dev/null && rpm -q --qf "%{VERSION}\n" xz 2>/dev/null | grep -qE '^(5.6.0|5.6.1)$' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or xz not installed")

上記のコマンドは、Linux ディストリビューション内のパッケージをチェックします。

または、xz コマンドを実行する別のオプションも試せますが、これは通常推奨されません:

root@kitploit:~
command -v xz &>/dev/null && { xz_version=$(xz --version | head -n 1 | awk '{print $4}'); [[ $xz_version == "5.6.0" || $xz_version == "5.6.1" ]] && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable: CVE-2024-3094"; } || echo "xz not installed"

このスクリプトは次のアクションを実行します:

  • xz ユーティリティがインストールされているかどうかを確認します。
  • インストールされている xz のバージョンを特定します。
  • 既知の脆弱性のあるバージョン(5.6.0 および 5.6.1)とバージョンを比較します。
  • サーバーの脆弱性ステータスを出力します。

Docker イメージの高度な脆弱性チェック

Docker を使用していて、コンテナイメージ内の脆弱性を懸念しているチーム向けに、Aqua Security 製のオープンソース脆弱性スキャナーである Trivy を使用した高度な例を提供します。この方法は、CVE-2024-3094 を含む脆弱性を Docker イメージに対してスキャンし、イメージのセキュリティステータスに関する明確な出力を提供します。

Trivy で Docker イメージをチェックする

次のコマンドは、Trivy を使用して Docker イメージ(debian:experimental-20240311)を脆弱性についてスキャンし、liblzma5 に関連する CVE-2024-3094 の結果をフィルタリングします:

root@kitploit:~
docker run --rm -v $('pwd'):/project -w /project aquasec/trivy:latest image --format cyclonedx --scanners vuln --output /project/result.json debian:experimental-20240311@sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970 && jq -r '.components[] | .properties[] | select(.name == "aquasecurity:trivy:PkgID" and (.value | tostring | test("liblzma5@(5\\.6\\.0|5\\.6\\.1)"))) | .value' result.json | grep -qE '5\.6\.0|5\.6\.1' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or liblzma5 not found"

仕組み:

  1. Docker 実行コマンド: Trivy コンテナを起動し、現在のディレクトリをコンテナにボリュームとしてマウントします。この設定により、Trivy はスキャン結果をホストの現在のディレクトリ内のファイル(result.json)に直接出力できます。

  2. Trivy スキャン: 指定された Docker イメージを脆弱性についてスキャンし、結果を CycloneDX 形式(ソフトウェア部品表の標準化された形式)で出力します。

  3. jq による処理: スキャン結果をフィルタリングしてパッケージ liblzma5 を特定し、バージョン「5.6.0」または「5.6.1」をチェックします。

  4. 脆弱性チェック: grep を使用して、脆弱性のあるバージョンの liblzma5 を検索します。見つかった場合は "Vulnerable: CVE-2024-3094" を出力し、それ以外の場合は "Not vulnerable or liblzma5 not found" を出力します。

この方法は自動化パイプラインに非常に効果的で、さまざまな Docker イメージの多様な脆弱性をチェックするように適応でき、デプロイメントの安全性を確保します。

独自の Docker イメージ向けにスキャンをカスタマイズする

提供されているコマンドを使用して独自の Docker イメージをスキャンするには、次の手順に従ってニーズに合わせてコマンドをカスタマイズします:

  1. Docker イメージの置き換え: スキャンしたいイメージに debian:experimental-20240311@sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970 を変更します。イメージは名前とタグ(例: yourimage:yourtag)またはダイジェストで指定できます。

  2. 脆弱性チェックの調整: CVE-2024-3094 以外の脆弱性をスキャンする場合は、jq 式と grep 式を変更して、対象とする脆弱性に関連する特定のパッケージとバージョンを指定します。

たとえば、yourimage:yourtag という名前のイメージをスキャンするには:

root@kitploit:~
docker run --rm -v $('pwd'):/project -w /project aquasec/trivy:latest image --format cyclonedx --scanners vuln --output /project/result.json yourimage:yourtag && jq -r '.components[] | .properties[] | select(.name == "aquasecurity:trivy:PkgID" and (.value | tostring | test("liblzma5@(5\\.6\\.0|5\\.6\\.1)"))) | .value' result.json | grep -qE '5\.6\.0|5\.6\.1' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or liblzma5 not found"

カスタマイズのヒント:

  • 異なる脆弱性の場合: jq コマンド内の "liblzma5@(5\\.6\\.0|5\\.6\\.1)" を、関心のあるパッケージとバージョンに置き換えます。たとえば、openssl バージョン「1.1.1」をチェックするには、openssl@(1\\.1\\.1) を使用します。

  • 異なるプロパティの場合: 脆弱性やパッケージに応じて、CycloneDX 出力内の異なるプロパティを対象とするように .name == "aquasecurity:trivy:PkgID" を調整する必要があるかもしれません。

正確なスキャンを確保する

  • 定期的な更新: Trivy のインスタンスを定期的に更新して、最新の脆弱性定義を保持するようにしてください。これは通常、スキャンを実行する前に最新の aquasec/trivy イメージをプルすることで実現できます。

  • 出力の理解: Trivy の出力形式と jq 処理に精通し、結果を正確に解釈して Docker イメージへの影響を理解してください。

コードリポジトリ内の xz 参照をスキャンする

xz ライブラリと相互作用する、または依存する可能性のあるコードを保守している場合、脆弱性のあるライブラリバージョンへの明示的な参照を特定することが重要です。次のコマンドを使用してリポジトリをスキャンします:

「tukaani」参照を検索する

tukaani プロジェクトは xz ユーティリティの本拠地です。コード内の言及を見つけるには:

root@kitploit:~
grep -rnH "tukaani" .

Maven 依存関係の参照を検索する

Maven を使用する Java プロジェクトでは、pom.xml 内で xz を依存関係として指定する場合があります。これらの参照を見つけるには:

root@kitploit:~
grep -rnH "org.tukaani:xz:" .

これらのコマンドは、現在のディレクトリ(およびサブディレクトリ)を再帰的に検索して指定されたパターンを探し、ファイル名、行番号、および一致する行を報告します。


注: サーバー上でこれらのスクリプトを実行したりリポジトリをスキャンしたりするために必要な権限があることを確認してください。本番システムで使用する前に、必ず安全な環境でスクリプトを検証およびテストしてください。

プルリクエストを送信するかイシューを開いて、このリポジトリへの貢献や改善の提案をぜひ行ってください。フィードバックと貢献をいただけると大変嬉しく思います!

ツールをダウンロード