初识linux提权
字数 1450 2025-08-29 08:32:19
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. 运行检测脚本
在服务器上执行检测脚本:
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 -l或ls -la /etc/cron* - 利用可写的计划任务脚本
4. 环境变量提权
- 检查PATH变量设置
- 利用相对路径执行的SUID程序
5. 服务提权
- 查找以root权限运行的服务:
ps aux | grep root - 利用配置不当的服务
0x06 提权失败处理
- 分析错误信息:仔细阅读编译或执行时的错误输出
- 尝试其他exp:同一个漏洞可能有多个利用方式
- 检查依赖:确保所需库和工具已安装
- 调整参数:有些exp需要特定参数
- 组合利用:结合多个低危漏洞实现提权
0x07 防御建议
- 及时更新系统和内核
- 遵循最小权限原则
- 定期审计SUID/SGID文件
- 监控计划任务和系统服务
- 限制用户权限和访问
0x08 总结
提权是一个需要耐心和技巧的过程,成功与否取决于:
- 信息收集的全面性
- 漏洞识别的准确性
- exp选择的合适性
- 问题解决的能力
初学者应多实践,理解每种提权方法的原理,而不仅仅是复制粘贴命令。