渗透测试 | VulnHub-Breach1.0实战
字数 1500 2025-08-18 11:39:26

VulnHub-Breach1.0渗透测试实战教学文档

1. 靶机概述

Breach1.0是Vulnhub平台提供的一个渗透测试靶机,目标是通过各种渗透技术获取root权限并查看flag。该靶机模拟了真实环境中的多种安全漏洞,适合学习渗透测试技术。

2. 环境准备

  • 靶机下载:从Vulnhub官网下载Breach1.0虚拟机镜像
  • 运行环境:VMware或VirtualBox
  • 攻击机:Kali Linux或Windows攻击机(需安装JDK)

3. 信息收集

3.1 初始发现

  1. 查看首页源码,发现隐藏信息
  2. 解码得到初始密码提示

3.2 邮件信息分析

  • 第2封邮件:Michael采购了IDS/IPS设备
  • 第3封邮件:发现peter的SSL证书保存在192.168.110.140/.keystore

4. 漏洞挖掘与利用

4.1 证书获取与解密

  1. 访问目录浏览页面发现.keystore文件
  2. 使用JDK的keytool工具处理证书:
    C:\Program Files\Java\jre1.8.0_121\bin\keytool.exe
    
  3. 输入密码:tomcat

4.2 Tomcat认证破解

  1. 捕获HTTP Basic认证数据包:
    Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC
    
  2. Base64解码得到Tomcat凭据:
    • 用户名:tomcat
    • 密码:Tt\5D8F(#!*u=G)4m7zB

4.3 获取Web Shell

  1. 登录Tomcat管理后台
  2. 上传WAR格式的Web Shell(如中国菜刀)
  3. 访问上传的Shell路径(如/caidao)
  4. 使用中国菜刀连接并执行命令

5. 权限提升

5.1 初始提权

  1. 发现异常PHP文件:
    • fe4db1f7bc038d60776dcb66ab3404d5.php
    • 0d93f85c5061c44cdffeb8381b2772fd.php
  2. 下载分析PHP文件内容

5.2 数据库渗透

  1. 连接MySQL数据库:
    mysql -u root -p
    use mysql;
    select user,password from user;
    exit
    
  2. 获取milton用户密码哈希:6450d89bd3aff1d893b85d3ad65d2ec2
  3. 使用somd5.com解密得到明文密码:thelaststraw

5.3 用户提权

  1. 解决终端问题:
    python -c 'import pty;pty.spawn("/bin/bash")'
    
  2. 切换到milton用户:
    su - milton
    密码:thelaststraw
    
  3. 检查milton用户目录下的some_script.sh文件

5.4 进一步提权

  1. 查看系统信息:
    uname -a
    cat /etc/issue
    
  2. 分析历史命令
  3. 发现6张图片,从中提取密码提示
  4. 提权到blumbergh用户:
    • 用户名:blumbergh
    • 密码:coffeestains

6. Root权限获取

6.1 分析清理脚本

  1. 发现/usr/share/cleanup目录和tidyup.sh脚本
  2. 分析tidyup.sh脚本内容
  3. 检查sudo权限:
    sudo -l
    

6.2 利用定时任务

  1. 发现crontab计划任务每3分钟执行tidyup.sh
  2. 利用脚本漏洞获取root权限

6.3 获取Flag

  1. 使用反弹Shell获取root权限
  2. 发现flag是一张图片flair.jpg
  3. 下载并查看图片内容:
    I NEED TO TALK ABOUT YOUR FLAIR
    

7. 关键知识点总结

  1. 信息收集:源码分析、目录遍历、证书获取
  2. 密码破解:Base64解码、哈希解密
  3. Web应用攻击:Tomcat管理后台利用、Web Shell上传
  4. 权限提升:数据库渗透、定时任务利用、sudo权限分析
  5. 隐蔽信息:图片隐写分析、历史命令分析

8. 防御建议

  1. 加强Tomcat管理界面访问控制
  2. 避免使用弱密码或可预测密码
  3. 限制目录遍历漏洞
  4. 定期审计系统定时任务和sudo权限
  5. 对敏感信息进行加密存储

9. 工具清单

  • JDK keytool工具
  • Burp Suite(用于解码Base64)
  • 中国菜刀/JspSpy(Web Shell)
  • somd5.com(哈希解密)
  • nc(反弹Shell)
VulnHub-Breach1.0渗透测试实战教学文档 1. 靶机概述 Breach1.0是Vulnhub平台提供的一个渗透测试靶机,目标是通过各种渗透技术获取root权限并查看flag。该靶机模拟了真实环境中的多种安全漏洞,适合学习渗透测试技术。 2. 环境准备 靶机下载 :从Vulnhub官网下载Breach1.0虚拟机镜像 运行环境 :VMware或VirtualBox 攻击机 :Kali Linux或Windows攻击机(需安装JDK) 3. 信息收集 3.1 初始发现 查看首页源码,发现隐藏信息 解码得到初始密码提示 3.2 邮件信息分析 第2封邮件:Michael采购了IDS/IPS设备 第3封邮件:发现peter的SSL证书保存在192.168.110.140/.keystore 4. 漏洞挖掘与利用 4.1 证书获取与解密 访问目录浏览页面发现.keystore文件 使用JDK的keytool工具处理证书: 输入密码: tomcat 4.2 Tomcat认证破解 捕获HTTP Basic认证数据包: Base64解码得到Tomcat凭据: 用户名: tomcat 密码: Tt\5D8F(#!*u=G)4m7zB 4.3 获取Web Shell 登录Tomcat管理后台 上传WAR格式的Web Shell(如中国菜刀) 访问上传的Shell路径(如/caidao) 使用中国菜刀连接并执行命令 5. 权限提升 5.1 初始提权 发现异常PHP文件: fe4db1f7bc038d60776dcb66ab3404d5.php 0d93f85c5061c44cdffeb8381b2772fd.php 下载分析PHP文件内容 5.2 数据库渗透 连接MySQL数据库: 获取milton用户密码哈希: 6450d89bd3aff1d893b85d3ad65d2ec2 使用somd5.com解密得到明文密码: thelaststraw 5.3 用户提权 解决终端问题: 切换到milton用户: 检查milton用户目录下的 some_script.sh 文件 5.4 进一步提权 查看系统信息: 分析历史命令 发现6张图片,从中提取密码提示 提权到blumbergh用户: 用户名: blumbergh 密码: coffeestains 6. Root权限获取 6.1 分析清理脚本 发现 /usr/share/cleanup 目录和 tidyup.sh 脚本 分析 tidyup.sh 脚本内容 检查sudo权限: 6.2 利用定时任务 发现crontab计划任务每3分钟执行 tidyup.sh 利用脚本漏洞获取root权限 6.3 获取Flag 使用反弹Shell获取root权限 发现flag是一张图片 flair.jpg 下载并查看图片内容: 7. 关键知识点总结 信息收集 :源码分析、目录遍历、证书获取 密码破解 :Base64解码、哈希解密 Web应用攻击 :Tomcat管理后台利用、Web Shell上传 权限提升 :数据库渗透、定时任务利用、sudo权限分析 隐蔽信息 :图片隐写分析、历史命令分析 8. 防御建议 加强Tomcat管理界面访问控制 避免使用弱密码或可预测密码 限制目录遍历漏洞 定期审计系统定时任务和sudo权限 对敏感信息进行加密存储 9. 工具清单 JDK keytool工具 Burp Suite(用于解码Base64) 中国菜刀/JspSpy(Web Shell) somd5.com(哈希解密) nc(反弹Shell)