参照の答えに基づいて: gdbはsuid rootプログラムをデバッグできますか?
主張:「デバッガがrootとして実行されている場合にのみプログラムをsetuid
デバッグできますsetgid
。カーネルはptrace
追加の権限で実行されるプログラムを呼び出すことを許可しません。という意味です/bin/su
。
一般ユーザーにこれらの権限が付与されているかどうかを尋ねたい。デバッガツールでどのような利点を得ることができますか?一般ユーザーとしてデバッガツールを使用してルートシェルに入るにはどうすればよいですか?
Du Wenliangの著書「コンピュータとネットワークのセキュリティ」(75ページ、バッファオーバーフロー攻撃の実行)によると、次の質問があります。彼は次のC言語プログラムをコンパイルすると、次のように主張します。
$ gcc -z execstack -fno-stack-protector -g -o stack_dbg stack.c
$ sudo chown root stack
$ sudo chmod 4755 stack
プログラムは、一般ユーザーがオプションでデバッグできるSet-UIDプログラムにします。ただし、一般ユーザーは権限を取得できません。なぜ?ユーザーはデバッグツールにアクセスできますが、なぜそれを自分にとって有利に使用できないのですか?