VulnHub Empire Breakout
字数 1279 2025-08-12 11:34:07
VulnHub Empire Breakout 渗透测试教学文档
靶场概述
Empire Breakout 是 VulnHub 上的一个渗透测试靶场,难度中等,涉及多种渗透技术。靶场下载地址:https://www.vulnhub.com/series/empire,507/
环境准备
-
靶机设置:
- 下载后使用 VMware 导入虚拟机
- 网络模式设置为 NAT 或桥接
- 靶机 IP 自动获取为
192.168.109.129
-
攻击机:
- 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 后台发现:
- 文件上传功能
- 命令执行功能
获取初始 Shell
在 /etc 目录下发现可执行的 Python 脚本,利用它获取非完整 shell,然后使用 Python 的 pty 模块升级为完整 shell:
python -c 'import pty;pty.spawn("/bin/bash")'
权限提升
检查 SUID 权限
发现 tar 命令具有读写执行权限
读取敏感文件
在 /var/backups 目录下发现 .old_pass.bak 文件但无读取权限
利用 tar 读取文件:
- 进入
/tmp目录(具有写入权限) - 压缩目标目录:
tar -cf backup.tar /var/backups - 解压并查看文件:
tar -xf backup.tar cat var/backups/.old_pass.bak
获取 root 密码:Ts&4&YurgtRX(=~h
获取 root 权限
使用获取的密码切换到 root 用户:
su root
输入密码 Ts&4&YurgtRX(=~h 成功获取 root 权限
关键知识点总结
- Brainfuck 编码:一种深奥的编程语言,常用于编码/加密信息
- enum4linux:强大的 SMB 服务枚举工具
- Webmin 利用:Webmin 是常见的系统管理工具,也是攻击面
- Python pty 模块:用于升级非完整 shell 到完整交互式 shell
- tar 提权技术:利用 tar 的权限读取受限文件
- 密码重用:系统备份文件中可能包含重要凭据
防御建议
- 避免在源代码中存放敏感信息
- 限制 Webmin 等管理工具的访问
- 定期检查 SUID 权限设置
- 妥善保管备份文件,设置适当权限
- 避免密码重用,特别是 root 密码
通过这个靶场,可以学习到从信息收集到权限提升的完整渗透测试流程,以及多种实用技术的组合应用。