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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dirtypipe — Rustで書かれたDirtyPipe (CVE-2022-0847) エクスプロイト | Kitploit
ツール/GitHubGitHub/morgenm/dirtypipe
特権昇格エクスプロイトシェルコード学習と教育ペイロード開発バイナリエクスプロイト
GitHubmorgenm/dirtypipe

dirtypipe

Rustで書かれたDirtyPipe (CVE-2022-0847) エクスプロイト

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

免責事項

このコードは教育および研究目的のみです。

所有していない、またはテストの許可を得ていないシステムには使用しないでください。

著者は、このコードの使用に起因する誤用、損害、法的結果について一切責任を負いません。

DirtyPipe (CVE-2022-0847)

このエクスプロイトの解説は私のブログでご覧いただけます。これは、Max Kellermann氏の解説を基にRustで書いたDirtyPipe(CVE-2022-0847)エクスプロイトの実装です。 このプログラムを使用すると、特定のファイルを上書きしたり、SUIDバイナリを上書きして権限を昇格したりできます。

特徴

  • カーネルバージョンが脆弱かどうかを確認する
  • 指定した入力ファイルのデータで任意のファイルを上書きする
  • SUIDバイナリ(デフォルトではpasswd)を上書きしてrootを取得する
  • 悪用前にターゲットファイルを/tmpにバックアップする

使い方

ファイルの上書き

まず入力ファイルを作成します。このファイル内のデータがターゲットの上書きに使用されます。その後、以下のコマンドを実行するだけです:

root@kitploit:~
./dirtypipe_exploit -m overwrite -i input.txt -o target_file -b offset

ここで、offset はファイル内で書き込みを開始するバイト単位のオフセットです。この脆弱性の性質上、オフセットはページ境界上に置くことはできず、書き込みもページ境界をまたぐことはできません。

権限昇格のためのSUID

SUIDモードは、指定したSUIDバイナリを所定のELFペイロードで置き換えます。suid ELFはこのリポジトリのリリースに同梱されており、オプションで特に指定しない限り、エクスプロイトによって使用されます。 また、自分で生成したり、gen_suid.py pwntoolsスクリプトとloader.asmファイルを使用してペイロードを変更したりすることもできます。このオプションについては後述します。 エクスプロイトはデフォルトでターゲットを/usr/bin/passwdに設定します。

以下のコマンドを実行すると、提供されたペイロードで/usr/bin/passwdを置き換えます(rootシェルを起動します):

root@kitploit:~
./dirtypipe_exploit -m suid

その後、/usr/bin/passwdを実行するとrootシェルが得られます。

独自のペイロードを生成するには、次の手順に従ってください:

  1. gen_suid.pyスクリプトを実行します。このスクリプトはpwntoolsを使用して、rootシェルを起動するペイロード(shellcode.bin)を生成します。必要に応じて変更してください。
  2. nasm -f bin -o [PAYLOAD_NAME] loader.asmを実行してELFバイナリペイロードを作成します。これによりshellcode.binファイルが実行可能ファイルになります。
  3. ./dirtypipe_exploit -m suid -i [PAYLOAD_NAME] -o [TARGET_FILE]を実行します。
  4. ターゲットを実行してrootを取得します。

STALKR's BLOGの作者に、64ビットTiny ELFヘッダー(こちら)を提供していただきありがとうございます。

ツールをダウンロード