某师傅造的仿真环境,从GetShell到提权root
字数 1353 2025-08-29 22:41:01
从GetShell到提权root的渗透测试实战教程
0x00 文章背景
本文记录了一个仿真环境的完整渗透测试过程,从初始的GetShell到最终的root权限获取。该环境由某安全师傅精心构建,包含了多个安全漏洞点,适合中高级渗透测试人员学习。
0x01 信息收集
-
目标识别:
- 确定目标系统为某仿真环境,具体技术栈未明确说明
- 需要进一步扫描探测服务端口和版本信息
-
服务枚举:
- 使用nmap进行端口扫描:
nmap -sV -A -T4 <target_ip> - 重点关注常见Web服务端口(80,443,8080等)
- 使用nmap进行端口扫描:
-
Web应用指纹识别:
- 使用Wappalyzer或WhatWeb识别Web框架
- 检查robots.txt和常见目录结构
0x02 爆破密文
-
发现加密凭证:
- 在Web应用中发现加密的凭据存储
- 可能是base64、md5或其他加密方式
-
破解方法:
- 使用hashcat或john进行暴力破解
- 命令示例:
hashcat -m 0 hash.txt rockyou.txt - 尝试常见加密算法组合
-
字典选择:
- 使用常见密码字典(rockyou.txt等)
- 根据目标环境特点定制字典
0x03 垂直越权
-
漏洞发现:
- 通过低权限账户登录系统
- 发现权限校验不严的API端点
-
越权测试:
- 修改请求中的用户ID参数
- 尝试访问管理员功能接口
- 检查Cookie中的权限标识
-
利用方法:
- 使用Burp Suite拦截修改请求
- 伪造高权限令牌或会话
- 直接调用特权API
0x04 上传绕过
-
文件上传点定位:
- 寻找头像上传、文件导入等功能
- 检查CMS的插件/主题上传
-
绕过技巧:
- 修改Content-Type为合法类型
- 使用双扩展名(.php.jpg)
- 添加特殊字符(%00截断)
- 修改文件头信息
-
Webshell选择:
- 使用小马测试:
<?php @eval($_POST['cmd']);?> - 根据环境选择合适的一句话
- 使用小马测试:
0x05 获取路径
-
信息泄露:
- 通过错误信息获取绝对路径
- 检查phpinfo()等敏感页面
-
路径探测:
- 尝试常见路径(/var/www/html等)
- 使用find命令:
find / -name "*.php"
-
环境确认:
- 确认Web根目录位置
- 检查配置文件中的路径设置
0x06 权限提升
-
本地信息收集:
- 执行
uname -a查看内核版本 - 检查sudo权限:
sudo -l - 查找SUID文件:
find / -perm -4000 2>/dev/null
- 执行
-
提权方法:
- 内核漏洞利用:
- 搜索对应内核版本的公开exp
- 使用DirtyPipe、DirtyCow等知名漏洞
- 配置错误利用:
- 滥用sudo权限
- 利用可写的cron job
- 密码复用:
- 检查数据库配置文件中的凭据
- 尝试SSH密码复用
- 内核漏洞利用:
-
后渗透操作:
- 添加持久化后门
- 清理日志痕迹
- 建立SSH隧道维持访问
总结
本教程展示了一个完整的渗透测试流程,从初始的信息收集到最终的权限提升。关键点包括:
- 全面的信息收集是成功的基础
- 密码破解需要耐心和合适的字典
- 垂直越权是Web应用常见漏洞
- 文件上传绕过有多种技巧
- 提权需要根据具体环境选择合适方法
建议在实际测试中注意法律合规性,仅在授权范围内进行测试。