初识linux提权
字数 1450 2025-08-29 08:32:19

Linux提权基础教程

0x01 提权概述

提权(Privilege Escalation)是黑客术语,指在系统或网络入侵过程中,将当前拥有的低级别权限提升至更高级别权限的过程。在Linux系统中,通常指从普通用户权限提升到root管理员权限。

0x02 提权基本思路

  1. 获取初始访问权限:获得低权限shell(如webshell或服务器低权限账户)
  2. 信息收集:收集系统信息,寻找潜在漏洞
  3. 寻找利用方法:根据收集的信息寻找合适的exp(漏洞利用代码)
  4. 尝试提权:执行exp尝试提升权限
  5. 持久化:成功后添加隐藏账户等维持访问

0x03 环境准备

  • 靶机环境:Ubuntu系统(内核版本3.13.0-24-generic)
  • 攻击机:Kali Linux(渗透测试专用发行版)

0x04 详细提权过程

1. 使用低权限账户登录

首先通过某种方式(如webshell、SSH弱密码等)获得低权限用户(tq)的shell访问。

2. 上传检测脚本

将提权检测脚本(如LinEnum.sh、linux-exploit-suggester.sh等)上传到服务器的/tmp目录。

常用上传方法:

  • 通过webshell上传
  • 使用wget/curl从远程下载
  • 使用scp传输

3. 运行检测脚本

在服务器上执行检测脚本:

chmod +x /tmp/检测脚本.sh
/tmp/检测脚本.sh

脚本会输出:

  • 系统信息(内核版本、发行版等)
  • 运行的服务
  • SUID/SGID文件
  • 可写目录
  • 计划任务
  • 可能的漏洞点

4. 寻找漏洞利用

根据检测结果:

  • 访问漏洞数据库网站(如exploit-db.com)搜索对应漏洞
  • 或直接在Kali中使用searchsploit搜索:
searchsploit "Linux Kernel 3.13.0-24"

5. 下载并上传exp

找到合适的exp后:

  • 从网站下载对应的利用代码(如31346.c)
  • 上传到靶机的/tmp目录

6. 编译执行exp

在靶机上:

gcc 31346.c -o exp
chmod +x exp
./exp

常见问题及解决:

  • 编译失败:检查gcc是否安装,依赖是否满足
  • 版本不匹配:寻找更适合的exp
  • 执行失败:尝试其他exp或方法

7. 验证提权

成功后会获得root shell,验证:

whoami
# 应显示root
id
# 应显示uid=0(root)

0x05 常见提权方法

1. 内核漏洞提权

  • 查找系统内核版本:uname -a
  • 搜索对应内核的本地提权exp

2. SUID/SGID提权

  • 查找具有SUID/SGID位的文件:find / -perm -4000 -type f 2>/dev/null
  • 利用配置不当的SUID文件(如nmap、vim等)

3. 计划任务提权

  • 查看计划任务:crontab -lls -la /etc/cron*
  • 利用可写的计划任务脚本

4. 环境变量提权

  • 检查PATH变量设置
  • 利用相对路径执行的SUID程序

5. 服务提权

  • 查找以root权限运行的服务:ps aux | grep root
  • 利用配置不当的服务

0x06 提权失败处理

  1. 分析错误信息:仔细阅读编译或执行时的错误输出
  2. 尝试其他exp:同一个漏洞可能有多个利用方式
  3. 检查依赖:确保所需库和工具已安装
  4. 调整参数:有些exp需要特定参数
  5. 组合利用:结合多个低危漏洞实现提权

0x07 防御建议

  1. 及时更新系统和内核
  2. 遵循最小权限原则
  3. 定期审计SUID/SGID文件
  4. 监控计划任务和系统服务
  5. 限制用户权限和访问

0x08 总结

提权是一个需要耐心和技巧的过程,成功与否取决于:

  • 信息收集的全面性
  • 漏洞识别的准确性
  • exp选择的合适性
  • 问题解决的能力

初学者应多实践,理解每种提权方法的原理,而不仅仅是复制粘贴命令。

Linux提权基础教程 0x01 提权概述 提权(Privilege Escalation)是黑客术语,指在系统或网络入侵过程中,将当前拥有的低级别权限提升至更高级别权限的过程。在Linux系统中,通常指从普通用户权限提升到root管理员权限。 0x02 提权基本思路 获取初始访问权限 :获得低权限shell(如webshell或服务器低权限账户) 信息收集 :收集系统信息,寻找潜在漏洞 寻找利用方法 :根据收集的信息寻找合适的exp(漏洞利用代码) 尝试提权 :执行exp尝试提升权限 持久化 :成功后添加隐藏账户等维持访问 0x03 环境准备 靶机环境 :Ubuntu系统(内核版本3.13.0-24-generic) 攻击机 :Kali Linux(渗透测试专用发行版) 0x04 详细提权过程 1. 使用低权限账户登录 首先通过某种方式(如webshell、SSH弱密码等)获得低权限用户(tq)的shell访问。 2. 上传检测脚本 将提权检测脚本(如LinEnum.sh、linux-exploit-suggester.sh等)上传到服务器的/tmp目录。 常用上传方法: 通过webshell上传 使用wget/curl从远程下载 使用scp传输 3. 运行检测脚本 在服务器上执行检测脚本: 脚本会输出: 系统信息(内核版本、发行版等) 运行的服务 SUID/SGID文件 可写目录 计划任务 可能的漏洞点 4. 寻找漏洞利用 根据检测结果: 访问漏洞数据库网站(如exploit-db.com)搜索对应漏洞 或直接在Kali中使用searchsploit搜索: 5. 下载并上传exp 找到合适的exp后: 从网站下载对应的利用代码(如31346.c) 上传到靶机的/tmp目录 6. 编译执行exp 在靶机上: 常见问题及解决: 编译失败:检查gcc是否安装,依赖是否满足 版本不匹配:寻找更适合的exp 执行失败:尝试其他exp或方法 7. 验证提权 成功后会获得root shell,验证: 0x05 常见提权方法 1. 内核漏洞提权 查找系统内核版本: uname -a 搜索对应内核的本地提权exp 2. SUID/SGID提权 查找具有SUID/SGID位的文件: find / -perm -4000 -type f 2>/dev/null 利用配置不当的SUID文件(如nmap、vim等) 3. 计划任务提权 查看计划任务: crontab -l 或 ls -la /etc/cron* 利用可写的计划任务脚本 4. 环境变量提权 检查PATH变量设置 利用相对路径执行的SUID程序 5. 服务提权 查找以root权限运行的服务: ps aux | grep root 利用配置不当的服务 0x06 提权失败处理 分析错误信息 :仔细阅读编译或执行时的错误输出 尝试其他exp :同一个漏洞可能有多个利用方式 检查依赖 :确保所需库和工具已安装 调整参数 :有些exp需要特定参数 组合利用 :结合多个低危漏洞实现提权 0x07 防御建议 及时更新系统和内核 遵循最小权限原则 定期审计SUID/SGID文件 监控计划任务和系统服务 限制用户权限和访问 0x08 总结 提权是一个需要耐心和技巧的过程,成功与否取决于: 信息收集的全面性 漏洞识别的准确性 exp选择的合适性 问题解决的能力 初学者应多实践,理解每种提权方法的原理,而不仅仅是复制粘贴命令。