有时候用普通用户登录目标机后用
sudo -l
发现该用户什么命令都不能sudo
解决方法如下
先用
find / -perm -4000 2>/dev/null | grep '/bin/'
或者
find / -user root -perm -u=s 2>/dev/null
看看能用什么进程来提权
最好选择位于/usr/local/bin/下的进程
然后就是老朋友GTFOBins或者是漏洞数据库
如果是用GTFOBins的话,选shell类而不再是sudo类,用给出的命令来建立一个新的可交互的shell来突破提权。
如果是用漏洞数据库的话,则搜索对应的软件漏洞,下载exploit脚本并在目标机上执行,有时exploit脚本会抽风,就得自己解析脚本,一步一步按脚本里的命令来执行。
有时候输入sudo -l后,会出现下面情况,例如:
(ALL;!root) NOPASSWD /usr/bin/vi /home/user.txt
这种有时候会抽风,明明写着nopasswd,但sudo执行 /usr/bin/vi 时还是需要输入密码
而且使用不了
解决方法:
sudo -u#-1 /usr/bin/vi /home/user.txt
这里是使用的-u#-1,通过以-1的用户身份来绕过sudo的密码检测
后面一定要接绝对路径