大家好,我对 Linux 还算陌生,所以希望能得到一些帮助。我目前正在运行 Kali Linux 并尝试使用sudo -l
.作为背景,我当前正在访问系统,user1
但无权访问其密码。运行时sudo -l
我得到以下结果:
sudo -l
Matching Defaults entries for user1 on thisdevice:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User user1 may run the following commands on thisdevice:
(user2) NOPASSWD: /usr/bin/vi /home/user2/details.txt
据我所知,这意味着我应该user1
能够使用sudo vi
命令来访问目录details.txt
中的文件user2
?然而,当尝试执行时sudo vi
,我仍然被要求提供密码user1
。
有谁知道我是否犯了错误或可能提供帮助?我一直在GTFOBINS(攻击者可以利用这些二进制文件来绕过本地安全限制的精选 Unix 二进制文件列表)正在查看,vi
但在这部分之后似乎无法取得进展。
答案1
该sudo
命令提供有意的权限升级 - 这正是它存在的原因。
您显示的定义sudoers
非常具体:它允许您用来/usr/bin/vi
编辑精确的文件路径/home/user2/details.txt
。这个命令可以工作
sudo -u user2 vi /home/user2/details.txt
但这个不会
cd /home/user2
sudo -u user2 vi details.txt
我看到你提到了sudo vi
。您无权执行此操作,因为除非使用该选项另行指定,否则隐含的目标用户sudo
是。root
-u
sudo [options] vi ...
请注意,该命令中存在一个小中断,vi
该 :shell
命令将以目标用户身份执行交互式 shell。