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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-0847-Docker — Dockerエクスプロイト | Kitploit
ツール/GitHubGitHub/mrchucu1/cve-2022-0847-docker
特権昇格コンテナセキュリティ脆弱性分析エクスプロイト学習と教育バイナリエクスプロイトラボと実践
GitHubmrchucu1/cve-2022-0847-docker

CVE-2022-0847-Docker

Dockerエクスプロイト

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Dirty Pipe (CVE-2022-0847): Dockerでのハンズオンエクスプロイトデモンストレーション

CVE-2022-0847 Docker C Language

このリポジトリは、「Dirty Pipe」権限昇格脆弱性を安全に実演・分析するための、自己完結型の対話型Docker環境を提供します。セキュリティ専門家が、制御された環境で重要なカーネルレベルのエクスプロイトの仕組みを理解するための教育ツールとして設計されています。


1. 脆弱性の説明: Dirty Pipeとは何か?

Dirty Pipeは、Linuxカーネル(バージョン5.8以降に影響)で発見された重大な脆弱性です。これにより、ローカルの非特権ユーザーが任意の読み取り専用ファイルのデータを上書きできるようになりました。

影響は深刻です。/etc/passwdやSUIDバイナリなどの機密ファイルを上書きすることで、攻撃者は簡単に権限をrootに昇格させ、システムの完全な制御を獲得できます。この脆弱性は、Linuxの基本的なセキュリティ制御である標準的なファイルパーミッションチェックをバイパスするため、特に危険でした。

2. プロジェクトアーキテクチャ: 安全なラボのためのDocker活用

このプロジェクトでは、Dockerを使用して安全で隔離された、意図的に脆弱性を持たせた環境を作成します。これにより、ホストマシンを危険にさらすことなく誰でもエクスプロイトを学習できます。

主要コンポーネントは以下の通りです。

  • Dockerfile: 脆弱なコンテナの設計図を定義します。Dirty Pipeの影響を受けることが知られている古いベースイメージ(debian:bullseye-20210927-slim)を使用し、セットアッププロセスを自動化します。
  • exploit.c: Max Kellermannによる元の概念実証に基づいて、エクスプロイトロジックを実装したCコードです。
  • Makefile: コンテナ内でCコードを実行可能バイナリにコンパイルするためのシンプルなmakefileです。

3. ハンズオンデモンストレーション: 一般ユーザーからrootへ

このウォークスルーでは、環境の構築からエクスプロイトの実行までをガイドします。

前提条件: システムにDockerがインストールされ、実行中である必要があります。

ステップ1: リポジトリのクローン

ターミナルを開き、このプロジェクトをクローンします。

root@kitploit:~
git clone https://github.com/mrchucu1/CVE-2022-0847-Docker.git
cd CVE-2022-0847-Docker

ステップ2: 脆弱なDockerイメージのビルド

docker buildコマンドを使用してコンテナイメージを作成します。Dockerfileがすべての依存関係を処理し、エクスプロイトコードをコンパイルします。

root@kitploit:~
docker build -t dirty-pipe-demo .

ステップ3: コンテナの実行とエクスプロイトの実行

次に、インタラクティブモードでコンテナを実行します。--rmフラグは終了時にコンテナを削除し、-itは対話型シェルを提供します。

root@kitploit:~
docker run --rm -it dirty-pipe-demo

コンテナ内で、非特権ユーザー(hacker@...:/$)としてシェルが起動します。

次に、プリコンパイルされたエクスプロイトを実行します。

root@kitploit:~
# You are currently an unprivileged user.
# Your prompt looks like this: hacker@<container_id>:/$
#
# Now run the exploit...
./exploit

成功! エクスプロイトがSUIDバイナリを上書きし、rootシェルを付与します。ターミナルのプロンプトが$から#に変わり、root権限を取得したことを示します。

root@kitploit:~
# The exploit has succeeded.
# Your prompt is now a root shell: # whoami
root
#

4. 主要なセキュリティ教訓と学び

このプロジェクトは単なるスクリプトの実行ではありません。クラウドセキュリティエンジニアとしての私の業務に関連する、重要なセキュリティ原則の実践的なデモンストレーションです。

  • カーネルエクスプロイトはアプリケーション層のセキュリティをバイパスする: 完全なファイルパーミッションがあっても、カーネルの脆弱性によりオペレーティングシステム全体のセキュリティモデルが損なわれる可能性があることを示しています。これは多層防御が不可欠であることを証明しています。
  • コンテナセキュリティはホストセキュリティである: コンテナがホストのカーネルを共有していることを具体的に証明します。コンテナ内で実行されたカーネルエクスプロイトは、完全なブレイクアウトとホストマシンの侵害につながる可能性があります。これは、本番環境でseccompプロファイル、gVisor、またはコンテナ最適化OSを使用することの重要性を浮き彫りにします。
  • パッチ管理の重要性: コンテナホストをはじめとする本番環境において、タイムリーなカーネルアップデートが交渉の余地のないセキュリティ慣行である理由を示す生きた例です。
  • 攻撃対象領域の理解: エクスプロイト環境を構築することで、攻撃者がシステムを分析し、メモリ管理(パイプやページキャッシュなど)の小さな欠陥を活用してシステム全体を侵害する方法について、より深い理解を得ることができました。

免責事項

このプロジェクトとそのコードは、教育および研究目的のみを意図しています。明示的な許可なく、いかなるシステムでもこのエクスプロイトを使用しないでください。

ツールをダウンロード