linux提权的各种姿势总结

linux提权的各种姿势总结
最新回答
思檀郎

2026-10-23 07:56:53

Linux提权主要通过利用系统配置错误、程序漏洞或设计缺陷实现,常见方式包括内核漏洞、SUID提权、Sudo提权、明文密码、计划任务及其他特殊场景提权,具体如下:

1. 内核漏洞提权

利用内核栈溢出或已知漏洞(如脏牛漏洞)实现提权。操作步骤:

  • 收集内核版本信息(uname -a、lsb_release -a)。
  • 使用工具(如searchsploit、linux-exploit-suggester-2)查找对应漏洞。
  • 下载并编译漏洞利用程序(exp),执行后获取root权限。示例:脏牛漏洞通过竞争条件破坏私有内存映射,实现本地提权或Docker容器逃逸。
2. SUID提权

利用设置了SUID位的可执行文件,执行时临时获得文件所有者(如root)的权限。操作步骤:

  • 查找SUID文件(find / -perm -u=s -type f 2>/dev/null)。
  • 执行高权限文件(如/usr/bin/find、vim)或通过其功能启动shell。防御措施:定期审计SUID文件,移除非必要权限。
3. Sudo提权

利用/etc/sudoers配置错误,允许用户无需密码或通过特定程序执行高权限命令。操作步骤:

  • 查看sudo权限(sudo -l)。
  • 利用允许的程序(如awk、man、curl)绕过限制执行任意命令。示例:配置NOPASSWD:ALL后,用户可直接执行所有命令。
4. 明文密码提权

通过可写或可读的/etc/passwd、/etc/shadow文件修改密码或爆破hash。操作步骤:

  • 检查文件权限(ls -l /etc/passwd /etc/shadow)。
  • 若passwd可写,替换root密码hash;若shadow可读,用工具(如john)爆破。
  • 密码复用:数据库或Web后台密码可能为root密码。
5. 计划任务提权

修改root权限运行的定时任务脚本,插入恶意代码(如反弹shell)。操作步骤:

  • 查看定时任务文件(/etc/crontab、/etc/cron.d/)。
  • 修改可写脚本,添加提权命令。示例:通过环境变量劫持或路径污染执行恶意指令。
6. 其他提权方式
  • NFS提权:利用NFS共享配置错误(如no_root_squash)挂载目录并创建文件。
  • Docker逃逸:通过容器漏洞或配置错误获取宿主机root权限。
  • rbash绕过:通过环境变量或程序漏洞突破受限shell。

总结:Linux提权的核心是利用系统配置错误、程序漏洞或设计缺陷,常见攻击面包括内核漏洞、SUID/SGID文件、sudo权限、计划任务等。防御需定期审计权限、更新内核、限制高风险配置。