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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
RootRemover — CVE-2026-31431 を使用して root パスワードを一時的に削除します。 | Kitploit
ツール/GitHubGitHub/st4rburn/rootremover
特権昇格脆弱性分析エクスプロイトポストエクスプロイトペネトレーションテストレッドチーミング
GitHubst4rburn/rootremover

RootRemover

CVE-2026-31431 を使用して root パスワードを一時的に削除します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

[!WARNING] 所有している、またはテストする許可を得ているシステムでのみ使用してください。

RootRemover (CVE-2026-31431)

rootパスワードを一時的に削除し、CVE-2026-31431を使用して、現在のユーザーのパスワードを知らなくてもアーキテクチャに依存せずにrootへ昇格できるようにします。

責任を持って、テストを許可されたシステムでのみ使用してください。この方法がお使いのシステムでサポートされているかどうかは異なりますが、私がテストしたすべてのDebian派生ディストリビューションで動作しています。

このPoCは、基本的に/etc/passwd内の自分のUIDをすべて0に置き換え、事実上root権限を与えるものです。このアプローチは代わりにrootのパスワードを削除するため、su を実行すると即座にrootになれます。これにより、ユーザーをそのまま維持して安定性を保ちますが、クリーンアップまでの間、マシン上の任意のユーザーが昇格できるという制約があります。バイナリ改変ではないため、すべてのアーキテクチャでも動作するはずです(Aarch64とx64でテスト済み)。

Usage

root@kitploit:~
python exploit.py [ --shell | --clean | --noclean ]

引数なしで実行すると、プログラムは実行され、/etc/passwd を変更した後、元に戻します。

  • --noclean は、終了後に変更が元に戻されるのを防ぎます。
  • --clean は以前の実行からのクリーンアップのみを行い、エクスプロイトは実行しません。
  • --shell はクリーンアップを行いませんが、エクスプロイト実行後に su でrootシェルを起動します。
image

What Changes?

image

変更後

image

パスワードが /etc/shadow に保存されていることを示す 'x' を削除すると、そのユーザーにはパスワードがないものとして扱われ、簡単にログインできるようになります。

いつ使用すべきか

私がこれを書いた時点では、CopyFailのよく知られたPoCは2つしかありませんでした。1つはSUID実行ファイルを上書きするもの、もう1つは自分のユーザーのUIDをゼロに置き換えるものでした。システムに対してテストを実行する場合、これら2つはかなり異なるユースケースを持っています。SUIDの上書きにはシステムのアーキテクチャに合わせたシェルコードが必要であり、UIDの変更には現在のユーザーのパスワードで再認証する必要がありますが、そのパスワードを知らない可能性があります。RootRemoverは、それらの要件が障害になる場合によく使用できます。

これは、www-data のようなnologinユーザーでシェルを取得した場合のために設計されており、既知のパスワードがある、またはシェルコードを準備できるほどアーキテクチャをよく知っているマシン向けではありません。

このアプローチの利点:

  • 現在のユーザーのパスワードを知る必要がない
  • アーキテクチャに依存しない
  • 現在のUIDに関係なく動作する
  • 自分のユーザーのUIDをそのまま維持する(自分のユーザーでシステム上で他のタスクを実行するための安定性を確保し、誤ってrootとしてファイルを書き込むのを防ぐ)
  • SUIDバイナリにシェルコードを書き込む必要がない(それらを必要とするプログラムに問題を引き起こす可能性があるため)

このアプローチの欠点:

  • rootのパスワードフィールドに '*LK*' または '*NP*' を使用していてはならない(チェーン書き込みで修正できる可能性があるが、まだ実装する時間がない)
  • su のコマンドラインから昇格を識別されやすい(引数がない場合は常にrootを意味する。UIDパッチPoCはログ上では自分のユーザーへの切り替えのように見えるだけ)
  • 誰でもrootとしてログインできる。以前のバージョンでは自分のパスワードがまだ必要だった。
  • 主にDebianベースのディストリビューションで動作すると思われる。PAMルールの違いや、/etc/passwd と /etc/shadow のどちらが先に優先されるかによって、OS上で動作するかどうかが影響を受ける

クレジット

実際のエクスプロイトコードは rootsecdev のリポジトリからのもので、私は主に上記の理由で書き込まれるバイトを変更しています。

ツールをダウンロード