他のユーザーのファイルを表示するにはどうすればよいですか? Ubuntu 16.04 [閉じる]

他のユーザーのファイルを表示するにはどうすればよいですか? Ubuntu 16.04 [閉じる]

ルートの場合、同じローカルコンピュータで別のユーザーのファイルを表示できますか?それでは、どうすればいいですか?

答え1

$ sudo su これで実際にルートになることができます。そして/(root)に行き、/ homeフォルダを見て、そのマシン上のすべてのユーザーを見つけることができます。

答え2

デフォルトでは、ルートから別のユーザーアカウントに切り替えるのは安全ではありません。

ルートとして目的のディレクトリを直接閲覧することは、ユーザーを使用または切り替えるsuよりもはるかに安全です。sudo自動的にTIOCSTI ioctl 経由で root の tty にコマンドをプッシュし、root としてコマンドを実行します。

たとえば、TIOCSTI ioctlを使用するバイナリがあり、hacksu侵入者が破損したユーザーアカウント[user]の.bashrcを変更して、シェルの起動時にバイナリを実行するとします。

$ tail -n3 /home/[user]/.bashrc
echo hi
/opt/hacksu -- $'echo "hello world" >> /tmp/file1\nfg'
echo bye
$ _

その後、su破損したユーザーに対してrootを使用すると、破損したユーザーはrootとして任意のコマンドを実行できます。

root@host:~# su - [user]

.bashrc検索は自動的に行われるため、次の8行はユーザー操作なしで端末に印刷されます。

echo "hello world" >> /tmp/file
1
fg
[1]+  Stopped                 su - [user]
root@host:~# echo "hello world" >> /tmp/file1
root@host:~# fg
su - [user]
bye

ルートは問題が発生したことに気づき、[ユーザー]シェルを閉じて、[ユーザー]の.bashrcが何をしたかを確認します。

[user]@host:~$ logout
root@host:~# ll /tmp/file1
-rw-r--r-- 1 root root 12 Apr 15 00:47 /tmp/file1  # owned by root (!)
root@host:~# cat -v /tmp/file1
hello world
root@host:~# # oops ..

上記のシナリオでは、[user]は任意のファイルにrootとして作成しました。実際に実行されたコマンドは、rootができるすべての操作を実行できます。例えば。hacksu/etc/shadow

POCのソースバイナリのソースコードは、hacksu以下にあります。https://www.halfdog.net/Security/2012/TtyPushbackPrivilegeEscalation/。破損したユーザー アカウントの脅威を解決しない限り、root に別のユーザーに切り替えないでください。

答え3

次のようにすることもできます。

# su user

このユーザーをrootとしてログインし、そのファイルを表示します。

関連情報