1. DriftingBlues5靶场概述
DriftingBlues5是一个专门为网络安全学习设计的虚拟靶机环境,属于DriftingBlues系列靶场的第五个版本。这个靶场模拟了存在多种漏洞的真实系统场景,主要面向渗透测试初学者和网络安全爱好者,用于练习信息收集、漏洞利用、权限提升等核心渗透技能。
与常见CTF靶机不同,DriftingBlues5的特点是:
- 基于真实世界漏洞构建(如老旧服务版本、配置错误等)
- 包含多个攻击路径和提权方式
- 需要综合运用多种渗透工具和技术
- 特别注重权限维持和横向移动的实战模拟
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与初始访问
2.1 靶机获取与部署
DriftingBlues5的OVA文件可以从Vulnhub官网下载。部署时建议使用VMware Workstation或VirtualBox,配置要点:
bash复制# 推荐虚拟机配置
内存: 2GB+
存储: 20GB
网络: NAT或桥接模式(需与攻击机同网段)
注意:首次启动时若遇到"Press I to agree"提示,需要按I键接受协议才能继续启动。
2.2 信息收集阶段
使用nmap进行基础扫描是标准起点:
bash复制nmap -sV -A -T4 靶机IP
典型扫描结果会显示:
- 22/tcp: OpenSSH服务(版本通常存在已知漏洞)
- 80/tcp: Apache HTTP服务(隐藏目录是关键突破点)
- 111/tcp: rpcbind服务(可能暴露NFS共享)
进阶信息收集技巧:
- 使用gobuster扫描web目录:
gobuster dir -u http://靶机IP -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt - 检查robots.txt文件获取敏感路径
- 对SSH服务进行版本指纹识别:
nc -nv 靶机IP 22
3. Web应用漏洞利用
3.1 隐藏目录发现
扫描通常会发现一个特殊目录如/hidden_text,其中包含:
- 看似无用的文本文件
- 经过编码的管理员凭据提示
- 可能存在的文件上传点
关键解码技巧:
- 使用cyberchef进行多重解码(Base64 → ROT13 → Hex等)
- 注意观察文本中的模式重复和异常字符
- 尝试将解码结果作为SSH或Web登录凭据
3.2 文件包含漏洞
某些版本存在LFI漏洞特征:
code复制http://靶机IP/index.php?page=../../../../etc/passwd
利用方式:
- 使用php封装器读取源码:
php://filter/convert.base64-encode/resource=index.php - 通过日志注入获取RCE:
/proc/self/environ或/var/log/auth.log - 如有文件上传点,结合LFI执行上传的webshell
4. 权限提升路径分析
4.1 SUID二进制利用
查找具有SUID权限的可执行文件:
bash复制find / -perm -4000 -type f 2>/dev/null
常见可利用目标:
- 自定义开发的维护脚本
- 版本较旧的系统工具(如find、vim、bash等)
- 配置错误的cron job脚本
4.2 内核漏洞提权
检查系统信息:
bash复制uname -a
cat /etc/issue
适用于该靶机的典型内核漏洞:
- DirtyPipe (CVE-2022-0847)
- overlayfs (CVE-2021-3493)
- 根据内核版本搜索对应exploit
4.3 密码复用攻击
从web或配置文件发现的凭据应尝试:
- 复用至SSH服务
- 测试sudo -l权限
- 检查数据库连接配置
5. 后渗透技巧与flag获取
5.1 持久化维持
建立稳定访问的方法:
- 生成SSH密钥对并写入authorized_keys
- 创建隐藏的cron job反弹shell
- 修改web应用添加后门页面
5.2 敏感信息定位
查找flag的典型位置:
- /root目录下的.txt或.flag文件
- 数据库中的特殊表项
- 环境变量中的隐藏信息
- 被删除但未覆盖的磁盘数据(使用strings搜索)
5.3 痕迹清理要点
完成挑战后应:
- 删除添加的用户账号
- 恢复修改的配置文件
- 清除命令历史记录
- 删除上传的webshell文件
6. 常见问题排查指南
问题1:扫描不到靶机IP
- 确认虚拟机网络模式(建议使用桥接)
- 使用arp-scan定位:
arp-scan -l - 检查防火墙是否阻止探测
问题2:获得的shell不稳定
- 使用python PTY升级:
python -c 'import pty; pty.spawn("/bin/bash")' - 通过socat建立反向连接
- 用screen或tmux保持会话
问题3:提权exploit编译失败
- 检查gcc版本是否兼容
- 尝试静态编译:
gcc -static exploit.c -o exploit - 寻找预编译的二进制版本
在实际渗透过程中,我习惯先建立完整的信息矩阵 - 将发现的每个信息点(IP、端口、服务、凭据等)记录在笔记中并用连线标注潜在关联。这种可视化方法往往能发现被忽视的攻击路径。例如在DriftingBlues5中,通过交叉分析web目录结构和SSH版本信息,可以推测出管理员可能使用的命名规律,从而暴力破解的效率能提升3-4倍
