如何查看其他用户的文件? Ubuntu 16.04

如何查看其他用户的文件? Ubuntu 16.04

如果我是 root,我可以查看同一本地计算机上其他用户的文件吗?如果是这样,怎么办?

答案1

您可以 $ sudo su 现在您实际上已经是 root 用户了。并且,转到/(root)并查看/home文件夹可以找到机器上的所有用户。

答案2

默认情况下,从 root 切换到不同的用户帐户并不安全。

以 root 用户身份直接浏览所需目录比使用susudo切换用户要安全得多,因为后者允许受感染的用户自动地通过 TIOCSTI ioctl 将命令推送到 root 的 tty,以 root 身份执行任意命令。

例如,假设有一个hacksu利用 TIOCSTI ioctl 的二进制文件,并且入侵者修改了受感染的用户帐户 [user] 的 .bashrc 以在 shell 启动时执行该二进制文件。

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

然后,当 rootsu对受感染用户使用时,受感染用户可以以 root 身份执行任意命令。

root@host:~# su - [user]

以下 8 行将自身打印到终端,无需用户交互,因为 .bashrc 的获取是自动的。

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

现在,root 意识到出现了问题并关闭了 [user] shell 以检查 [user] 的 .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 身份成为该用户并查看他的文件

相关内容