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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-0847-Container-Escape — CVE-2022-0847 はコンテナエスケープを達成するために使用される CVE-2022-0847 (Dirty Pipe) を利用してコンテナエスケープを実現 | Kitploit
ツール/GitHubGitHub/greenhandatsjtu/cve-2022-0847-container-escape
特権昇格コンテナセキュリティ脆弱性分析エクスプロイトコンテナエスケープ
GitHubgreenhandatsjtu/cve-2022-0847-container-escape

CVE-2022-0847-Container-Escape

CVE-2022-0847 はコンテナエスケープを達成するために使用される CVE-2022-0847 (Dirty Pipe) を利用してコンテナエスケープを実現

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
3764年前Kitploit レビュー済み

CVE-2022-0847

CVE-2022-0847 は、コンテナエスケープ(ホスト上の任意の読み取り専用ファイルの上書き)を実現するために使用されます。

スライド(中国語)はここから入手できます。

CVE-2022-0847 (Dirty Pipe) を利用してコンテナエスケープを実現します(ホスト上の任意の読み取り専用ファイルを上書きする効果)。

中国語の発表PPTはこちらにあります。

はじめに

カーネルが CVE-2022-0847 の影響を受ける場合、攻撃者は読み取り専用ファイルを上書きできます(非永続的です! 詳細は https://dirtypipe.cm4all.com/ を参照してください)。ただし、コンテナはコンテナ内のファイルにしかアクセスできません。幸いなことに、CAP_DAC_READ_SEARCH を付与されると、攻撃者はホスト上のファイルを上書きできるようになります。

説明

https://dirtypipe.cm4all.com/ で説明されているように、読み取り専用ファイルを上書きするには、そのファイルをパイプに splice() する必要があります。splice() を使用するには、まず対象ファイルを O_RDONLY フラグで開いて ファイルディスクリプタ を取得する必要があります。

そこで CAP_DAC_READ_SEARCH が思い浮かびました。Linux マニュアル によると、CAP_DAC_READ_SEARCH を付与されると、コンテナ内の攻撃者は次のことができます。

  • ファイルの読み取り権限チェックと、ディレクトリの読み取り・実行権限チェックをバイパスする
  • open_by_handle_at(2) を呼び出す

CAP_DAC_READ_SEARCH ケーパビリティを使用すると、ホストのファイルシステムを検索し、open_by_handle_at(2) を使ってコンテナからホスト上の任意のファイルを読み取り専用で開き、その ファイルディスクリプタ を取得できます(詳細は http://stealth.openwall.net/xSports/shocker.c を参照してください)。

ホスト上の対象ファイルの ファイルディスクリプタ を取得できたので、もちろん splice() を使用して対象ファイルの内容をパイプに送り、上書きすることができます。

使用方法

root@kitploit:~
cp /etc/password . # back up /etc/password
gcc dp.c -o dp
docker run --rm -it -v $(pwd):/exp --cap-add=CAP_DAC_READ_SEARCH ubuntu
/exp/dp /etc/passwd 1 ootz: # overwrite /etc/password on host from offset 1
/etc/dp /etc/passwd # dump /etc/passwd on host

例

まず、ホスト上で root ユーザーにより読み取り専用ファイル /home/vagrant/flag.txt を作成します。その内容は hello world です:

次に、ケーパビリティ CAP_DAC_READ_SEARCH を持つコンテナを起動し、まずホスト上の /home/vagrant/flag.txt をダンプしてみると、hello world が取得できます:

次に、オフセット 1 から内容 abcdefghij で対象ファイルを上書きしてみます:

対象ファイルをもう一度ダンプすると、内容は habcdefghij になっています! コンテナを終了してホスト上の /home/vagrant/flag.txt を確認すると、その内容は habcdefghij です。

はい、コンテナからホスト上のファイルを上書きできました!

クレジット

  • https://dirtypipe.cm4all.com/
  • http://stealth.openwall.net/xSports/shocker.c
ツールをダウンロード