次の手順を使用して、setuid アクセス権が設定されているファイルを検索します。
find コマンドを使用して setuid アクセス権が設定されているファイルを検索します。
# find directory -user root -perm -4000 -exec ls -ldb {} \;>/tmp/filename
|
|
find directory |
指定したディレクトリから始めて、マウントされているすべてのパスを検査する。ディレクトリとしてルート (/)、sys、bin、または mail を指定できる |
|
-user root |
root が所有するファイルを表示する |
|
-perm -4000 |
アクセス権が 4000 に設定されているファイルだけを表示する |
|
-exec ls -ldb |
find コマンドの出力を ls -ldb 形式で表示する |
|
>/tmp/filename |
結果が /tmp/filename に書き込まれる |
結果を /tmp/filename に出力します。
# more /tmp/filename |
setuid アクセス権の詳細については、「setuid アクセス権」を参照してください。
# find / -user root -perm -4000 -exec ls -ldb {} \;> /tmp/ckprm
# cat /tmp/ckprm
-r-sr-xr-x 1 root bin 38836 Aug 10 16:16 /usr/bin/at
-r-sr-xr-x 1 root bin 19812 Aug 10 16:16 /usr/bin/crontab
---s--x--x 1 root sys 46040 Aug 10 15:18 /usr/bin/ct
-r-sr-xr-x 1 root sys 12092 Aug 11 01:29 /usr/lib/mv_dir
-r-sr-sr-x 1 root bin 33208 Aug 10 15:55 /usr/lib/lpadmin
-r-sr-sr-x 1 root bin 38696 Aug 10 15:55 /usr/lib/lpsched
---s--x--- 1 root rar 45376 Aug 18 15:11 /usr/rar/bin/sh
-r-sr-xr-x 1 root bin 12524 Aug 11 01:27 /usr/bin/df
-rwsr-xr-x 1 root sys 21780 Aug 11 01:27 /usr/bin/newgrp
-r-sr-sr-x 1 root sys 23000 Aug 11 01:27 /usr/bin/passwd
-r-sr-xr-x 1 root sys 23824 Aug 11 01:27 /usr/bin/su
|
この出力は、rar というユーザーが /usr/bin/sh のコピーを作成し、そのアクセス権を root への setuid に設定したことを示しています。この結果、rar は /usr/rar/bin/sh を実行して特権付きユーザーになることができます。この出力を参考のために保存したい場合は、ファイルを /tmp ディレクトリ以外のファイルへ移動してください。