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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-25741 — CVE-2021-25741 Kubernetes脆弱性のエクスプロイト。レースコンディションを介してホストファイルシステムをポッドにマウントすることを可能にし、デプロイスクリプトと技術的詳細を含む。 | Kitploit
ツール/GitHubGitHub/betep0k/cve-2021-25741
脆弱性分析エクスプロイトペネトレーションテストクラウドセキュリティコンテナエスケープ
GitHubbetep0k/cve-2021-25741

CVE-2021-25741

CVE-2021-25741 Kubernetes脆弱性のエクスプロイト。レースコンディションを介してホストファイルシステムをポッドにマウントすることを可能にし、デプロイスクリプトと技術的詳細を含む。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

概要

これはCVE-2021-25741の脆弱性に対するエクスプロイトです。 この脆弱性により、読み書き権限を持つNodeファイルシステムを新しいPOD内にマウントすることが可能になります。

この脆弱性の詳細については、以下をご覧ください:

https://security.googleblog.com/2021/12/exploring-container-security-storage.html

私はこの脆弱性の作者ではなく、エクスプロイトを作成しただけです。

エクスプロイトの開発に協力してくれた@russtoneと@maximusfoxに感謝します。

条件

  1. 新しいPODを作成する権限があること
  2. ノードが脆弱なkubeletを実行していること

脆弱なバージョンのkubelet:

  • v1.22.0 - v1.22.1
  • v1.21.0 - v1.21.4
  • v1.20.0 - v1.20.10
  • <= v1.19.14

使用方法

run.shを実行して待つだけです :) レースコンディションに基づいているため、エクスプロイトには時間がかかります(私の場合は10〜20分でした)。

root@kitploit:~
chmod +x run.sh; ./run.sh

「Success」というメッセージが表示されたら、PODにアタッチして/mnt/dataディレクトリにNodeファイルシステムがあることを確認できます。 アタッチには次のコマンドを使用できます:

root@kitploit:~
kubectl exec -i -t cve202125741 -c mount-container -- /bin/sh

技術的詳細

エクスプロイトには2つの部分があります:

  • pod.yaml

    脆弱性を悪用するPOD設定を含むYAMLファイル。レースコンディションのため毎回成功するわけではないので、ループで実行する必要があります。

  • run.sh

    pod.yamlをデプロイし、結果を確認して、必要に応じて再デプロイするスクリプト。

RENAME_EXCHANGEオプション付きのrenameat2バイナリとして、次のコードを使用しました: https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f

必要に応じて自分でコンパイルし、pod.yaml内で置き換えることができます:

root@kitploit:~
gcc renameat2.c -o renameat2
base64 renameat2

トラブルシューティング

システムにkubectlがない場合

解決策:

  1. 公式サイトからダウンロードしてシステムに配置するだけです
  2. それが不可能な場合は、run.shを書き換えて、kubectlを使わずにKubernetes APIへ直接HTTPリクエストを送信する必要があります

POD上で/bin/shを実行する権限がない場合

解決策:

  1. /bin/shをTCPポートにバインドして、そのポートに接続してみることができます。
  2. pod.yamlを編集して必要なコマンドを追加できます。これはデプロイプロセス中に実行されます。
ツールをダウンロード