amnsecurity/reactorwatch-pentest
GitHub: amnsecurity/reactorwatch-pentest
一份展示 ReactorWatch 核反应堆监控系统完整渗透测试过程的报告,涵盖 CVE-2025-55182 RCE 漏洞利用、数据库窃取、密码破解及权限提升的全链路攻击路径与修复方案。
Stars: 1 | Forks: 0
# ─── REACTORWATCH ☢️ ───
# 🛡️ AMN SECURITY 🛡️ ### 网络安全研究中心 | مركز أبحاث الأمن السيبراني | Cyber Security Research Center [](https://amn.amnoffsec.workers.dev/) [](https://www.instagram.com/ixctw) [](mailto:ayman.mahmoudoffsec@gmail.com)
# 🛡️ AMN SECURITY 🛡️ ### 网络安全研究中心 | مركز أبحاث الأمن السيبراني | Cyber Security Research Center [](https://amn.amnoffsec.workers.dev/) [](https://www.instagram.com/ixctw) [](mailto:ayman.mahmoudoffsec@gmail.com)
# 🇸🇦 阿拉伯语板块 ## ☢️ ReactorWatch 核反应堆监控系统全面渗透测试 ### ReactorWatch Core Monitoring System v3.2.1 | CVSS 10.0 | 极危 ### 📋 执行摘要 对 **ReactorWatch v3.2.1** 进行了全面的渗透测试,这是一个运行在 **Next.js 15.0.3** 框架和 **React 19.0.0** 库上的核反应堆核心监控系统。该系统监控反应堆的关键指标,包括堆芯温度、压力、冷却剂流量、涡轮机输出和中子通量。 **严重发现:** - 通过 CVE-2025-55182 (React2Shell) 实现 **无需认证的远程代码执行** (Unauthenticated RCE) - 攻破包含运行人员 MD5 加密密码的 **SQLite 数据库** - **破解 MD5 加密** → 获取 `engineer` 账户的 SSH 访问权限 - 通过 Node.js V8 Inspector (Chrome DevTools Protocol) **将权限提升至 root** **影响:** 反应堆监控系统被全面攻破——攻击者可以篡改显示的指标、伪造传感器读数、禁用警报,或在 SCADA/控制网络内进行横向移动。 ### 🔍 目标详情 | 元素 | 详情 | |--------|----------| | **系统** | ReactorWatch Core Monitoring System v3.2.1 | | **开发者** | Nuclear Dynamics Corp. | | **技术** | Next.js 15.0.3 / React 19.0.0-rc (App Router) | | **操作系统** | Ubuntu Linux | | **开放端口** | 22 (SSH), 3000 (HTTP — Next.js) | | **分类** | 限制级 — 关键基础设施 | ### 🗺️ 完整攻击链 ``` ┌──────────┐ ┌──────────────────┐ ┌──────────────┐ ┌──────────┐ ┌──────────────┐ │ المسح │ → │ CVE-2025-55182 │ → │ قاعدة بيانات │ → │ SSH │ → │ رفع صلاحية │ │ Recon │ │ RCE بدون مصادقة │ │ SQLite │ │ engineer │ │ إلى root │ └──────────┘ └──────────────────┘ └──────────────┘ └──────────┘ └──────────────┘ │ ▼ 🏁 اختراق كامل ``` ### 💥 阶段 1:利用 CVE-2025-55182 (React2Shell) #### 漏洞分析 **CVE-2025-55182**(又称 React2Shell)是 React Flight deserialization 协议中的一个严重漏洞。当 Next.js 通过 `multipart/form-data` 请求处理 Server Action 时,它会反序列化一个嵌入的 JSON 对象。攻击者可以通过污染 `__proto__.then` 并将任意 JavaScript 代码注入到 `_response._prefix` 中——这些代码会在构建 Flight 响应时被执行。 #### 构造 Payload 该 Payload 使用 React Flight 的信号系统(`$1`, `$2`, `$3` 等)将多个 multipart 数据片段连接成一个恶意的图结构: ``` import requests, json, re, urllib.parse TARGET = "http://
══════════════════════════════════════════════════════════════
# 🌐 英语板块
══════════════════════════════════════════════════════════════
# ☢️ ReactorWatch — 渗透测试报告 ### ReactorWatch Core Monitoring System v3.2.1 | CVSS 10.0 | 极危 ### 📋 执行摘要 对部署在未公开设施(**Site-7**)、基于 Next.js 的核反应堆核心监控仪表板 **ReactorWatch v3.2.1** 进行了全面范围的渗透测试。该应用程序监控关键的反应堆指标,包括堆芯温度、压力、冷却剂流量、涡轮机输出和中子通量。 **严重发现** 包括: - 通过 CVE-2025-55182 (React2Shell) 实现 **无需认证的远程代码执行** - 包含 MD5 哈希操作员凭证的 **SQLite 数据库被窃取** - **破解 MD5 哈希** → 获取 `engineer` 账户的 SSH 访问权限 - 通过暴露的 Node.js V8 Inspector (CDP) **将权限提升至 root** **影响:** 反应堆监控系统被全面攻破——攻击者可以篡改显示的指标、伪造传感器读数、禁用警报,或渗透到 SCADA/控制网络中。 ### 🔍 目标概述 | 字段 | 值 | |-------|-------| | **系统** | ReactorWatch Core Monitoring System v3.2.1 | | **供应商** | Nuclear Dynamics Corp. | | **框架** | Next.js 15.0.3 / React 19.0.0-rc (App Router) | | **操作系统** | Ubuntu Linux | | **开放端口** | 22 (OpenSSH 9.6p1), 3000 (HTTP — Next.js) | ### 🗺️ 攻击链 ``` Phase 1 ─► Recon & Enumeration └── Nmap → Ports 22 (SSH), 3000 (Next.js 15.0.3) Phase 2 ─► CVE-2025-55182 (React2Shell) └── Prototype pollution in React Flight deserialization └── Multipart POST → Command output in x-action-redirect Phase 3 ─► SQLite Exfiltration & MD5 Cracking └── reactor.db → Users table with MD5 hashes └── engineer:reactor1 (MD5 cracked) Phase 4 ─► SSH as engineer → User Flag └── Discovery: Node.js --inspect=127.0.0.1:9229 (root) Phase 5 ─► Privilege Escalation to Root └── SSH tunnel → CDP WebSocket → Runtime.evaluate └── process.mainModule.require('child_process') → ROOT ``` ### 💥 阶段 1:CVE-2025-55182 漏洞利用 (React2Shell) #### 漏洞分析 **CVE-2025-55182** (React2Shell) 是 React Server Components 的 Flight deserialization 协议中的一个严重漏洞。当 Next.js 通过 `multipart/form-data` POST 请求处理 Server Action 时,它会反序列化一个嵌入的 React Flight JSON 对象。通过污染 `__proto__.then` 并将 JavaScript 注入到 `_response._prefix` 中,即可实现任意代码执行。 #### RCE 验证 ``` $ run_cmd("id") uid=999(node) gid=988(node) groups=988(node) ``` **已确认无需认证的 RCE** — 以 `node` 用户身份执行 (uid=999)。 ### 💾 阶段 2:数据窃取 ``` $ run_cmd("sqlite3 /opt/reactor-app/reactor.db 'SELECT * FROM users;'") 1|admin|a203b22191d744a4e70ada5c101b17b8|administrator 2|engineer|39d97110eafe2a9a68639812cd271e8e|operator ``` **破解的凭证:** | 用户名 | 密码 | |----------|----------| | engineer | **reactor1** | ### 🔑 阶段 3:SSH 访问 ``` $ ssh engineer@
**🛡️ AMN SECURITY 🛡️** | *保护关键基础设施*
[](https://amn.amnoffsec.workers.dev/)
[](https://www.instagram.com/ixctw)
[](mailto:ayman.mahmoudoffsec@gmail.com)
© 2026 AMN SECURITY Research. 保留所有权利。
标签:HTTP工具, MITM代理, PE 加载器, PKINIT, SCADA系统, Web报告查看器, 协议分析, 后端开发, 工控安全, 权限提升, 红队评估, 逆向工具