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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-4034 — これは、PwnKit 脆弱性に対するエクスプロイトのシンプルな実装です。 | Kitploit
ツール/GitHubGitHub/nicoibarburu/cve-2021-4034
特権昇格エクスプロイト学習と教育バイナリエクスプロイト
GitHubnicoibarburu/cve-2021-4034

CVE-2021-4034

これは、PwnKit 脆弱性に対するエクスプロイトのシンプルな実装です。

リポジトリを見る
5日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

概念実証 (Proof of Concept): CVE-2021-4034 (PwnKit)

注記: このリポジトリとその内容は卒業研究 (GrAL) の一部であり、教育目的および学術研究のみを目的として作成されています。

説明

このリポジトリには、CVE-2021-4034 の脆弱性 (PwnKit としても知られる) に対する概念実証 (PoC - Proof of Concept) コードが含まれています。このメモリ破壊の脆弱性は、Linux システム上の Polkit の pkexec コンポーネントに影響を与えます。pkexec が空の引数リスト (argc == 0) で実行されると、環境変数を操作して任意の共有ライブラリを強制的に読み込ませることができ、これによりローカルの権限昇格が達成されます。

悪用のフェーズ (環境の分析)

以下に、この脆弱性を悪用するために実行環境を準備するために必要な手順を説明します。このプロセスでは、pkexec のメモリ読み取り/書き込みエラーがどのように利用されるかを詳しく説明します。

1. 環境の準備 (gconv 構造)

このエクスプロイトは、GLib がエラーメッセージを出力しようとする際の文字変換の処理方法を悪用します。そのため、最初のステップとして、GLib にとって GCONV 変換モジュールのローカルリポジトリとして機能する特定のディレクトリ構造を作成します。

2. 環境変数の操作

この脆弱性の要となるのは、pkexec の argc == 0 状態によって引き起こされる範囲外書き込みを利用して、GCONV_PATH 環境変数を注入することです。これにより、プログラムは異常な文字セットを使用することを強制され、GLib に対して文字変換モジュールを前のステップで作成した制御されたディレクトリ内で探すように指示します。

3. 悪意のある共有ライブラリの作成 (.so)

自分のコードを実行するには、共有ライブラリ (shared object または .so) をコンパイルする必要があります。pkexec が見つけることのできない文字セットを処理しようとすると、このライブラリが偽の gconv ディレクトリから読み込まれます。pkexec は SUID ビットが有効なバイナリであるため (root として実行されます)、このライブラリを読み込むと、自分のコードが root 権限を取得し、システムの完全な制御を奪います (例: root シェルを開く)。

4. gconv-modules ファイルの設定

最後に、そのローカルディレクトリに gconv-modules という名前の設定ファイルを作成する必要があります。このファイルはインデックスとして機能し、要求された特定の文字セットの変換を実行するために、GLib にどの特定のライブラリ (.so) を読み込むかを指示します。このファイルは、pkexec が要求する変換を、手順 3 で作成した共有ライブラリに結び付けます。

コンパイルとクリーンアップ

このプロジェクトには、C バイナリのコンパイルと環境のクリーンアップを自動化する Makefile が含まれています。

  • プロジェクトをコンパイルするには: $ make

  • 生成されたファイル (一時ファイル、フォルダ、バイナリ) をクリーンアップするには: $ make clean

ツールをダウンロード