某师傅造的仿真环境,从GetShell到提权root
字数 1353 2025-08-29 22:41:01

从GetShell到提权root的渗透测试实战教程

0x00 文章背景

本文记录了一个仿真环境的完整渗透测试过程,从初始的GetShell到最终的root权限获取。该环境由某安全师傅精心构建,包含了多个安全漏洞点,适合中高级渗透测试人员学习。

0x01 信息收集

  1. 目标识别

    • 确定目标系统为某仿真环境,具体技术栈未明确说明
    • 需要进一步扫描探测服务端口和版本信息
  2. 服务枚举

    • 使用nmap进行端口扫描:nmap -sV -A -T4 <target_ip>
    • 重点关注常见Web服务端口(80,443,8080等)
  3. Web应用指纹识别

    • 使用Wappalyzer或WhatWeb识别Web框架
    • 检查robots.txt和常见目录结构

0x02 爆破密文

  1. 发现加密凭证

    • 在Web应用中发现加密的凭据存储
    • 可能是base64、md5或其他加密方式
  2. 破解方法

    • 使用hashcat或john进行暴力破解
    • 命令示例:hashcat -m 0 hash.txt rockyou.txt
    • 尝试常见加密算法组合
  3. 字典选择

    • 使用常见密码字典(rockyou.txt等)
    • 根据目标环境特点定制字典

0x03 垂直越权

  1. 漏洞发现

    • 通过低权限账户登录系统
    • 发现权限校验不严的API端点
  2. 越权测试

    • 修改请求中的用户ID参数
    • 尝试访问管理员功能接口
    • 检查Cookie中的权限标识
  3. 利用方法

    • 使用Burp Suite拦截修改请求
    • 伪造高权限令牌或会话
    • 直接调用特权API

0x04 上传绕过

  1. 文件上传点定位

    • 寻找头像上传、文件导入等功能
    • 检查CMS的插件/主题上传
  2. 绕过技巧

    • 修改Content-Type为合法类型
    • 使用双扩展名(.php.jpg)
    • 添加特殊字符(%00截断)
    • 修改文件头信息
  3. Webshell选择

    • 使用小马测试:<?php @eval($_POST['cmd']);?>
    • 根据环境选择合适的一句话

0x05 获取路径

  1. 信息泄露

    • 通过错误信息获取绝对路径
    • 检查phpinfo()等敏感页面
  2. 路径探测

    • 尝试常见路径(/var/www/html等)
    • 使用find命令:find / -name "*.php"
  3. 环境确认

    • 确认Web根目录位置
    • 检查配置文件中的路径设置

0x06 权限提升

  1. 本地信息收集

    • 执行uname -a查看内核版本
    • 检查sudo权限:sudo -l
    • 查找SUID文件:find / -perm -4000 2>/dev/null
  2. 提权方法

    • 内核漏洞利用
      • 搜索对应内核版本的公开exp
      • 使用DirtyPipe、DirtyCow等知名漏洞
    • 配置错误利用
      • 滥用sudo权限
      • 利用可写的cron job
    • 密码复用
      • 检查数据库配置文件中的凭据
      • 尝试SSH密码复用
  3. 后渗透操作

    • 添加持久化后门
    • 清理日志痕迹
    • 建立SSH隧道维持访问

总结

本教程展示了一个完整的渗透测试流程,从初始的信息收集到最终的权限提升。关键点包括:

  1. 全面的信息收集是成功的基础
  2. 密码破解需要耐心和合适的字典
  3. 垂直越权是Web应用常见漏洞
  4. 文件上传绕过有多种技巧
  5. 提权需要根据具体环境选择合适方法

建议在实际测试中注意法律合规性,仅在授权范围内进行测试。

从GetShell到提权root的渗透测试实战教程 0x00 文章背景 本文记录了一个仿真环境的完整渗透测试过程,从初始的GetShell到最终的root权限获取。该环境由某安全师傅精心构建,包含了多个安全漏洞点,适合中高级渗透测试人员学习。 0x01 信息收集 目标识别 : 确定目标系统为某仿真环境,具体技术栈未明确说明 需要进一步扫描探测服务端口和版本信息 服务枚举 : 使用nmap进行端口扫描: nmap -sV -A -T4 <target_ip> 重点关注常见Web服务端口(80,443,8080等) 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应用常见漏洞 文件上传绕过有多种技巧 提权需要根据具体环境选择合适方法 建议在实际测试中注意法律合规性,仅在授权范围内进行测试。