1. 靶场环境概述
EvilBox: One是Vulhub漏洞测试环境中一个高度仿真的Web应用靶机,专门用于训练渗透测试人员的实战能力。这个靶机模拟了企业级CMS系统中常见的多重安全漏洞链,包括但不限于文件包含、SQL注入、命令执行等经典漏洞类型。与其他基础靶机不同,它的特别之处在于需要测试者通过层层递进的方式突破防御,最终获取root权限。
我在实际测试中发现,这个环境对漏洞利用的完整性要求很高——单纯发现某个漏洞往往无法直接获取系统权限,需要结合多个漏洞点的联动利用。比如初期通过文件包含漏洞获取的可能是低权限shell,必须再配合提权漏洞才能完成整个渗透流程。这种设计非常贴近真实的企业渗透场景。
2. 环境搭建与配置
2.1 基础环境准备
推荐使用Kali Linux作为测试主机,配合最新版Docker环境运行靶机。以下是具体操作步骤:
# 更新系统并安装必要组件 sudo apt update && sudo apt upgrade -y sudo apt install docker.io docker-compose -y # 拉取Vulhub镜像库 git clone https://github.com/vulhub/vulhub.git cd vulhub/evilbox/one # 启动靶机环境 docker-compose up -d启动后访问http://your-ip:8080即可看到靶机首页。这里有个关键细节:首次启动时数据库初始化可能需要2-3分钟,如果遇到500错误只需等待片刻刷新即可。
2.2 网络配置要点
在实际测试中,我遇到过两个典型问题:
- 容器端口冲突:如果8080端口被占用,可以修改docker-compose.yml中的端口映射
- 防火墙拦截:确保测试机的防火墙放行了对应端口
# 修改端口示例 ports: - "9090:80" # 将外部访问端口改为90903. 渗透测试实战流程
3.1 信息收集阶段
使用nmap进行基础扫描时,建议加上-sV参数获取服务版本信息:
nmap -sV -T4 -p- 192.168.1.100在最近一次测试中,我发现这个靶机在8080端口运行着Apache 2.4.38,同时开放了21端口(ProFTPD 1.3.5)。这个FTP服务版本存在已知漏洞,可以作为后续突破点。
3.2 Web应用漏洞利用
通过目录扫描发现的关键路径:
/admin/ (后台登录入口) /uploads/ (文件上传目录) /include/ (包含漏洞高发点)使用Burp Suite拦截请求时,特别注意观察以下头部字段:
X-Forwarded-For: 可能存在的IP伪造漏洞 Cookie: PHPSESSID 的生成规律3.3 提权操作实录
获取初始shell后,通过以下命令查找提权路径:
find / -perm -4000 2>/dev/null # 查找SUID程序 uname -a # 查看内核版本在最新测试中,发现可以通过脏牛(Dirty Cow)漏洞实现提权。具体利用时需要注意:
- 先上传预编译的exp到/tmp目录
- 使用chmod +x添加执行权限
- 建议在screen会话中运行exp防止断开
4. 典型问题解决方案
4.1 容器启动异常处理
当遇到ERROR: Couldn't connect to Docker daemon错误时:
- 检查docker服务状态:
sudo systemctl status docker - 将当前用户加入docker组:
sudo usermod -aG docker $USER - 重新登录使配置生效
4.2 漏洞利用失败排查
如果文件包含漏洞利用不成功,尝试以下变体:
http://target/include.php?file=php://filter/convert.base64-encode/resource=config.php http://target/index.php?page=../../../etc/passwd%00重要提示:在实际测试中,我发现PHP版本差异可能导致%00截断失效,此时可以尝试使用长度截断等其他技术。
5. 防御加固建议
基于这个靶机反映出的安全问题,建议企业环境中采取以下措施:
文件上传限制:
- 白名单验证文件扩展名
- 重命名上传文件
- 存储在非Web目录
权限控制:
// 禁用危险函数 disable_functions = exec,passthru,shell_exec,system // 限制open_basedir open_basedir = /var/www/html/日志监控:
- 实时分析访问日志中的可疑请求
- 对敏感目录访问设置告警阈值
这个靶机环境最值得称道的是它的漏洞链设计——从简单的注入到复杂的权限提升,完整再现了真实渗透测试中的典型路径。我在三次完整测试中,每次都能发现新的利用方式,这对理解漏洞原理和防御方法都有极大帮助