VulnHub Empire Breakout
字数 1279 2025-08-12 11:34:07

VulnHub Empire Breakout 渗透测试教学文档

靶场概述

Empire Breakout 是 VulnHub 上的一个渗透测试靶场,难度中等,涉及多种渗透技术。靶场下载地址:https://www.vulnhub.com/series/empire,507/

环境准备

  1. 靶机设置

    • 下载后使用 VMware 导入虚拟机
    • 网络模式设置为 NAT 或桥接
    • 靶机 IP 自动获取为 192.168.109.129
  2. 攻击机

    • Kali Linux 或其他渗透测试发行版

信息收集

端口扫描

使用 Nmap 进行全面扫描:

nmap -sS -p 0-65535 -Pn -O -sV 192.168.109.129

扫描结果:

  • 80端口:Apache Web 服务
  • 445/139端口:SMB 文件共享服务
  • 10000/20000端口:Webmin MiniServ 服务

Web 服务分析

访问 80 端口,查看网页源代码发现一段 Brainfuck 编码:

++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++.

使用在线工具解密后得到密码:.2uqPEfj3D<P'a-3

服务枚举

SMB 枚举

使用 enum4linux 工具枚举 SMB 服务:

enum4linux -a 192.168.109.129

发现有效用户名:cyber

Webmin 登录尝试

使用发现的凭据尝试登录:

  • 用户名:cyber
  • 密码:.2uqPEfj3D<P'a-3

成功登录 20000 端口的 Webmin 后台(10000 端口登录失败)

漏洞利用

Webmin 功能利用

在 Webmin 后台发现:

  1. 文件上传功能
  2. 命令执行功能

获取初始 Shell

/etc 目录下发现可执行的 Python 脚本,利用它获取非完整 shell,然后使用 Python 的 pty 模块升级为完整 shell:

python -c 'import pty;pty.spawn("/bin/bash")'

权限提升

检查 SUID 权限

发现 tar 命令具有读写执行权限

读取敏感文件

/var/backups 目录下发现 .old_pass.bak 文件但无读取权限

利用 tar 读取文件:

  1. 进入 /tmp 目录(具有写入权限)
  2. 压缩目标目录:
    tar -cf backup.tar /var/backups
    
  3. 解压并查看文件:
    tar -xf backup.tar
    cat var/backups/.old_pass.bak
    

获取 root 密码:Ts&4&YurgtRX(=~h

获取 root 权限

使用获取的密码切换到 root 用户:

su root

输入密码 Ts&4&YurgtRX(=~h 成功获取 root 权限

关键知识点总结

  1. Brainfuck 编码:一种深奥的编程语言,常用于编码/加密信息
  2. enum4linux:强大的 SMB 服务枚举工具
  3. Webmin 利用:Webmin 是常见的系统管理工具,也是攻击面
  4. Python pty 模块:用于升级非完整 shell 到完整交互式 shell
  5. tar 提权技术:利用 tar 的权限读取受限文件
  6. 密码重用:系统备份文件中可能包含重要凭据

防御建议

  1. 避免在源代码中存放敏感信息
  2. 限制 Webmin 等管理工具的访问
  3. 定期检查 SUID 权限设置
  4. 妥善保管备份文件,设置适当权限
  5. 避免密码重用,特别是 root 密码

通过这个靶场,可以学习到从信息收集到权限提升的完整渗透测试流程,以及多种实用技术的组合应用。

VulnHub Empire Breakout 渗透测试教学文档 靶场概述 Empire Breakout 是 VulnHub 上的一个渗透测试靶场,难度中等,涉及多种渗透技术。靶场下载地址: https://www.vulnhub.com/series/empire,507/ 环境准备 靶机设置 : 下载后使用 VMware 导入虚拟机 网络模式设置为 NAT 或桥接 靶机 IP 自动获取为 192.168.109.129 攻击机 : Kali Linux 或其他渗透测试发行版 信息收集 端口扫描 使用 Nmap 进行全面扫描: 扫描结果: 80端口:Apache Web 服务 445/139端口:SMB 文件共享服务 10000/20000端口:Webmin MiniServ 服务 Web 服务分析 访问 80 端口,查看网页源代码发现一段 Brainfuck 编码: 使用在线工具解密后得到密码: .2uqPEfj3D<P'a-3 服务枚举 SMB 枚举 使用 enum4linux 工具枚举 SMB 服务: 发现有效用户名: cyber Webmin 登录尝试 使用发现的凭据尝试登录: 用户名: cyber 密码: .2uqPEfj3D<P'a-3 成功登录 20000 端口的 Webmin 后台(10000 端口登录失败) 漏洞利用 Webmin 功能利用 在 Webmin 后台发现: 文件上传功能 命令执行功能 获取初始 Shell 在 /etc 目录下发现可执行的 Python 脚本,利用它获取非完整 shell,然后使用 Python 的 pty 模块升级为完整 shell: 权限提升 检查 SUID 权限 发现 tar 命令具有读写执行权限 读取敏感文件 在 /var/backups 目录下发现 .old_pass.bak 文件但无读取权限 利用 tar 读取文件: 进入 /tmp 目录(具有写入权限) 压缩目标目录: 解压并查看文件: 获取 root 密码: Ts&4&YurgtRX(=~h 获取 root 权限 使用获取的密码切换到 root 用户: 输入密码 Ts&4&YurgtRX(=~h 成功获取 root 权限 关键知识点总结 Brainfuck 编码 :一种深奥的编程语言,常用于编码/加密信息 enum4linux :强大的 SMB 服务枚举工具 Webmin 利用 :Webmin 是常见的系统管理工具,也是攻击面 Python pty 模块 :用于升级非完整 shell 到完整交互式 shell tar 提权技术 :利用 tar 的权限读取受限文件 密码重用 :系统备份文件中可能包含重要凭据 防御建议 避免在源代码中存放敏感信息 限制 Webmin 等管理工具的访问 定期检查 SUID 权限设置 妥善保管备份文件,设置适当权限 避免密码重用,特别是 root 密码 通过这个靶场,可以学习到从信息收集到权限提升的完整渗透测试流程,以及多种实用技术的组合应用。