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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CTF-CVE-2022-0847 — CTFチャレンジ: CVE-2022-0847 (Dirty Pipe) エクスプロイトを展開して読み取り専用ファイルを上書きします。セットアップスクリプト、ヒント、カーネルエクスプロイト練習用の検証を含みます。 | Kitploit
ツール/GitHubGitHub/justinye377/ctf-cve-2022-0847
特権昇格エクスプロイトCTF学習と教育バイナリエクスプロイトラボと実践
GitHubjustinye377/ctf-cve-2022-0847

CTF-CVE-2022-0847

CTFチャレンジ: CVE-2022-0847 (Dirty Pipe) エクスプロイトを展開して読み取り専用ファイルを上書きします。セットアップスクリプト、ヒント、カーネルエクスプロイト練習用の検証を含みます。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Dirty Pipe の展開

このチャレンジでは、CVE-2022-0847 エクスプロイトを使用して、読み取り専用ファイル "cat.txt" を上書きします。 このエクスプロイトを使用する方法はたくさんあります。

依存関係

  • Linux カーネルバージョン 5.8 以降(脆弱性あり)
  • gcc (GNU Compiler Collection) : エクスプロイトコードのコンパイル用

初回セットアップ

  1. 脆弱性のある環境を構築する:
  • Linux ユーザー向け:
    • カーネルバージョン 5.8 以降で、パッチ適用済みバージョンより前のものを使用してください:
    • パッチ適用済みバージョンは 5.16.11、5.15.25、5.10.102 です。
    • システムのカーネルバージョンを確認するには、次のコマンドを実行します: uname -r
    • カーネルがすでにパッチ適用済みの場合は、ダウングレードするか、脆弱性条件に合う別の Linux インストールを使用する必要があります。
  • Windows ユーザー向け:
    • 仮想マシンをインストールする:
      • Oracle VM VirtualBox や VMware などの仮想マシンをダウンロードしてインストールします。
    • 脆弱性のある Linux ディストリビューションをダウンロードする:
      • Kali Linux Archives にアクセスして、古いバージョンの Kali Linux をダウンロードします。
      • 推奨バージョンは 5.8 ~ 5.15 カーネルのリリース (例: Kali 2021.1) です。
    • または、一致するカーネルバージョンを持つ他の Linux ディストリビューション (例: 古いバージョンの Ubuntu や Debian) でも動作します。
  • VM をセットアップする:
    • VirtualBox で新しい仮想マシンを作成します:
    • 少なくとも 2 GB の RAM と 10 GB のディスク容量を割り当てます。
    • ダウンロードした ISO ファイルを使用して Linux ディストリビューションをインストールします。
    • インストール後、次のコマンドでカーネルバージョンを確認します: uname -r
  • 必要なツールをインストールする:
    • 環境をセットアップしたら、以下のツールがインストールされていることを確認します:
      • gcc: エクスプロイトコードのコンパイルに必要。
      • make: 必要に応じてプロジェクトをビルドするため。
      • パッケージマネージャーを更新し、ツールをインストールします: sudo apt update sudo apt install gcc make -y

チャレンジの開始

  1. 開始: カーネルバージョンを確認してください! 次の GitHub リンクを使用します: https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker.git

ファイル cat.txt が読み取り専用であることを確認してください。

制限事項は以下の通りです: 攻撃者は読み取り権限を持っている必要があります(ページをパイプに splice() する必要があるため) オフセットはページ境界上にあってはなりません(そのページの少なくとも 1 バイトがパイプにスプライスされている必要があるため) 書き込みはページ境界をまたいではなりません(残りの部分に新しい匿名バッファが作成されるため) ファイルのサイズ変更はできません(パイプが独自のページ充填管理を持ち、ページキャッシュにどれだけデータが追加されたかを伝えないため)

  1. エクスプロイトの展開:
  • パイプを作成します。

  • パイプに任意のデータを書き込みます(すべてのリングエントリに PIPE_BUF_FLAG_CAN_MERGE フラグを設定するため)。

  • パイプを空にします(struct pipe_inode_info リング上のすべての struct pipe_buffer インスタンスにフラグを残したまま)。

  • 対象ファイル(O_RDONLY で開く)から、対象オフセットの直前の位置からパイプにデータをスプライスします。

  • パイプに任意のデータを書き込みます。このデータは、PIPE_BUF_FLAG_CAN_MERGE が設定されているため、新しい匿名の struct pipe_buffer を作成する代わりに、キャッシュされたファイルページを上書きします。

  • cat.txt を上書きし、次の内容を I'm a cat 1444 から I'm a dog 2025 に変更します。

  • check_cat.sh を使用して、動作するかどうかを確認します: chmod +x check_cat.sh ./check_cat.sh

チャレンジの再生成

以下のコマンドを使用します: chmod +x cat_generate.sh ./cat_generate.sh

チャレンジの公開

ヒントは hints.txt にあります。

ツールをダウンロード