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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
copy-fail-python — Pythonによるcopyfail(CVE-2026-31431)の実装 | Kitploit
ツール/GitHubGitHub/cyber-joker/copy-fail-python
特権昇格エクスプロイトフレームワークエクスプロイトレッドチーミングペイロード開発バイナリエクスプロイト
GitHubcyber-joker/copy-fail-python

copy-fail-python

Pythonによるcopyfail(CVE-2026-31431)の実装

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

人気

すべて見る →

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

すべてのツールを探索

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

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

copyfail_su.py

badsectorlabs/copyfail-go(CVE-2026-31431)のPython移植版です。Linuxのみ対応。Python 3.10+(os.splice)が必要です。

root権限を取得する仕組み(重要)

このツールは、/etc/passwdのページキャッシュを利用する手法は使用しません。

  • setuid suバイナリのページキャッシュを、埋め込まれたシェルコード(Go版main.goと同じペイロード)で上書きし、その後**suを実行**します。
  • 権限昇格は、破損したsuのキャッシュイメージをsetuid rootプログラムとして実行することで得られます。/etc/passwd経由でgetpwnam()にUIDが0だと認識させる手法ではありません。

同じCVEに対する他の公開Python PoCは、ページキャッシュ内の**/etc/passwdを書き換え、その後su <user>を実行するよう指示する場合があります。これは、このスクリプトとは対象ファイルも後続処理も異なります**。

使用方法

認可されたテストのみを対象としています。自分が所有するホスト、または明示的に評価を許可されたホストでのみ使用してください。

root@kitploit:~
chmod +x copyfail_su.py

# 対話型スタイルのフロー(--execなしのcopyfail-goと同じ考え方)
./copyfail_su.py --backup /tmp/su.bak

# 別のプログラムを昇格して実行(パスをargvとしてsuに渡し、exec-argv1ペイロードを使用)
./copyfail_su.py --backup /tmp/su.bak --exec /full/path/to/binary

実行が成功したら、実際のsuを復元してください。

--backupなしでの復旧

このPoCは、/usr/bin/suのページキャッシュを破損させます。検証または再インストールを行うまで、ディスク上のファイルがまだ信頼できると想定しないでください。

  1. /usr/bin/suを所有するパッケージを再インストールします(最初に特定し、その後再インストール):

    • RPM系: rpm -qf /usr/bin/su を実行し、次に sudo dnf reinstall shadow-utils を実行します(報告されたパッケージ名を使用)。
    • Debian/Ubuntu: dpkg -S /usr/bin/su を実行し、次に sudo apt install --reinstall <パッケージ> を実行します。
  2. 検証: /usr/bin/suに予期しない変更がないか sudo rpm -V <パッケージ> を実行するか、Debian系システムではdebsumsを実行します。

  3. 任意: 古いキャッシュの想定を避けるため、再インストール後に再起動します。

  4. rootとして再インストールできない場合: リカバリブート、Live USB、または同じディストリビューション/バージョン/アーキテクチャの既知の正常なイメージから/usr/bin/suを置き換えます。所有権が**root:root、モードが4755**(-rwsr-xr-x)であることを確認してください。

参考

  • copyfail-go
  • copy.fail
ツールをダウンロード