This repository has been archived on 2026-06-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2026-06-27 23:20:28 +00:00

187 lines
9.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# R0Guard / 相关项目深度安全审计报告(扩展版)
---
## 一、审计范围与方法
本报告基于静态分析结果整理,内容涵盖:
- **多语言组件**PHP / Node.js / C# / C++ / Electron / Python
- **系统架构层**:Web 管理端、代理层、客户端与工具链
- **配置文件与数据**:配置文件、SQL 初始化脚本、预编译二进制文件
- **逻辑层分析**:API 接口与系统调用逻辑
*注:本报告不包含动态运行验证,分析结果基于现有代码结构、行为模型与风险拓扑推断。*
---
## 二、系统整体架构(推断)
根据组件依赖与调用关系,该系统呈现出一种分布式、跨平台的**“多组件控制平台”**架构,而非单一闭环软件:
```
Web Admin Panel (PHP / Node / React)
├────────► Proxy Layer (Node.js)
├────────► Voice / RTC (TypeScript)
└────────► Screenshot Service (Python)
Local Client Agent (C++ / Electron)
Target Machine (Windows / TPM 硬件绑定)
```
---
## 三、核心攻击面分析
### 1. 远程命令执行 (RCE)
#### 🔴 IPMI / PHP 模块
- **风险代码模式**
```php
exec("php $scriptPath $serverId");
```
- **原理解析**:系统未对 `$serverId` 等关键输入参数进行严格的过滤与转义,直接将外部参数拼接至系统命令行中。恶意攻击者可通过构造特殊参数实现命令注入。
- **🔴 Electron Preload (r0-voice)**
- 在 Preload 脚本中直接暴露了高危系统调用(如 `exec(command)`、`taskkill /F /IM xxx`、`reg add ...`)。
- **风险模型**:Renderer 层(前端页面)具备直接触发系统命令的能力,等价于“浏览器页面 → 宿主机系统命令执行”的跨层攻击面。
- **【本项结论】** 存在明确的跨层 RCE 链路(Web 管理端 → Node.js 代理 → 操作系统)。
---
### 2. 权限提升与持久化
#### 📁 startup / startup_manager 模块行为
- **高危行为**
1. 自动向 Windows Defender 写入白名单规则。
2. 利用特定机制绕过 UAC 自动提权启动主程序。
3. 修改注册表项实现开机自启动。
| 行为特征 | 风险等级 | 说明 |
| :--- | :---: | :--- |
| **Defender 白名单写入** | 🔴 高危 | 破坏本地终端安全防护,使后续恶意荷载免杀。 |
| **自动权限提升 (UAC)** | 🔴 高危 | 未经用户交互直接获取管理员/系统级权限。 |
| **注册表持久化驻留** | 🟠 中危 | 修改 `Run` 键值实现长期生存。 |
- **【本项结论】** 系统具备强烈的系统级持久化与防御规避能力。
---
### 3. 网络隐蔽通信 (C2 特征)
#### 🌐 pinned_dns.cpp
- **特征分析**:系统内部硬编码了特定的直连 IP 地址,采用自定义 DNS 解析机制(Bypass 系统原生 DNS 解析服务),并隐藏了 TLS 握手过程中的 SNIServer Name Indication)信息,以规避流量审计。
#### 🌐 proxy 模块
- **安全配置缺陷**
- 设置 `rejectUnauthorized: false`,主动关闭了 TLS 证书的双向校验,易遭受中间人攻击(MITM)。
- JWTJSON Web Token)采用固定且硬编码的 `secret`。
- 核心节点 IP 地址硬编码(如 `.135` / `.136` 网段)。
- **【本项结论】** 具备典型的命令与控制(C2)隐蔽通信与反流量监控能力。
---
### 4. 远程监控能力(屏幕与音频)
#### 📺 live_stream.cpp
- **核心功能**:实现 FLV / H.264 视频流的实时硬件/软件编码,支持屏幕画面实时推流。同时内嵌 FRPFast Reverse Proxy)内网穿透组件,允许外部直接发起访问。
- **数据流拓扑**
```
目标屏幕 ──► H.264编码 ──► FRP内网穿透 ──► 远程管理端 ──► 实时监视
```
#### 🎙️ r0-voice
- **核心功能**:底层音频无感采集,并将音频数据切片上传至配置为 `public-read`(公共可读)的 S3 对象存储空间。
| 功能模块 | 暴露风险 | 潜在危害 |
| :--- | :---: | :--- |
| **屏幕监控** | 🔴 高危 | 实时窃取用户桌面隐私与敏感凭据。 |
| **音频上传** | 🔴 高危 | 长期监听环境语音。 |
| **公共存储** | 🔴 高危 | 敏感音视频资产公网暴露,易发生数据二次泄露。 |
- **【本项结论】** 系统内置了完整的音视频隐蔽监控与外发链路。
---
### 5. 设备指纹与用户追踪
#### 🔑 tpm_machine_id.cpp
- **技术实现**:通过读取目标主机的 TPM(可信平台模块)硬件特征,生成唯一的设备识别码(Machine ID)。该标识具有不可篡改性,即使用户重装系统也无法摆脱追踪。
#### 👥 ilanzou 用户系统
- **安全缺陷**
- 全局存在默认弱口令。
- 用户接口未做鉴权拦截,可被轻易枚举。
- 加密逻辑中的密钥存在硬编码现象。
- **【本项结论】** 具备对目标终端进行高强度、长周期的设备绑定与用户追踪能力。
---
### 6. 反安全软件机制
#### 🛡️ antivirus_detector.cpp
- **静态行为**:动态枚举本地进程列表,比对主流反病毒软件(杀软)特征码,并根据检测结果采取针对性的规避或对抗策略。
#### 🛡️ startup_manager & goverlay
- **对抗手段**:除强制写入 Defender 白名单外,`goverlay` 模块中包含大量未签名 DLL 及注入器(Injector),且部分核心组件属于无源码的预编译二进制文件,存在“黑盒”安全隐患。
- **【本项结论】** 具备成熟的反沙箱、反杀软等高级主动防御规避机制。
---
### 7. Web 层安全问题
#### 🌐 IPMI 管理系统
- **高危风险**:用户密码采用过时的 MD5 算法进行单向散列存储(易被彩虹表碰撞破解);出厂自带默认弱口令(如 `admin/admin123`);跨域资源共享(CORS)配置为全局开放(`*`);完全缺失 CSRF(跨站请求伪造)防护令牌。
#### 🌐 obj_screenshot (Flask 模块)
- **高危风险**:代码中声明 `app.run(host="0.0.0.0", debug=True)`。
- **危害**Flask 的 `debug` 模式在公网暴露时,其自带的交互式控制台(Console)可被直接利用,从而导致**远程代码执行 (RCE)**。
#### 🌐 前端模板 (React/React Native)
- **风险**:滥用 `dangerouslySetInnerHTML` 且未进行严格的恶意标签过滤,存在高度的存储型/反射型 XSS 风险。
- **【本项结论】** Web 控制端整体安全基线较低,极易作为攻击突破口。
---
## 四、核心攻击链路分析
基于上述单点风险,可推演出一条完整的**纵深攻击拓扑链路**:
```
[Web端弱口令/XSS/RCE突破]
[PHP / Node.js 后端 API 越权调用]
[Electron Preload 触发宿主机底层系统命令 (exec)]
[本地客户端 Agent 提权并写入防护白名单]
[激活屏幕流与环境音频无感采集]
[利用硬编码 C2 与 FRP 穿透屏障,外发敏感资产]
```
### 🚨 链路特征总结
该攻击链路具备高度的自动化与闭环性,涵盖:**远程代码执行 → 防护绕过 → 权限提升 → 深度监控 → 隐蔽驻留 → 数据外发**。
---
## 五、系统整体风险评级
| 核心安全能力 | 是否具备 | 风险权重 |
| :--- | :---: | :---: |
| **远程命令执行 (RCE)** | ✔ 已具备 | 🔴 高 |
| **屏幕实时监控 (Screen Monitor)** | ✔ 已具备 | 🔴 高 |
| **音频无感采集 (Audio Capture)** | ✔ 已具备 | 🔴 高 |
| **硬件级别追踪 (TPM Bind)** | ✔ 已具备 | 🟠 中 |
| **网络隐蔽通信 (C2/Bypass)** | ✔ 已具备 | 🔴 高 |
| **高级持续驻留 (Persistence)** | ✔ 已具备 | 🔴 高 |
### 🔴 最终审计评级
**系统级高危 (System-Level High Risk)**
---
## 六、核心结论
本项目的核心风险不在于“单点漏洞的数量”,而在于其**功能设计的本质走向**:
1. **高危能力高密度组合**:系统将远程控制、静默监控、防御对抗、内网穿透等高危模块深度耦合。
2. **跨组件权限链畅通**:从最外层的 Web 端到最内层的操作系统内核层,缺乏必要的格栅化权限隔离措施。
3. **闭环生态链**:已具备完整的隐蔽通信、全方位监控与长期驻留控制闭环。
> 🚨 **一句话总结**:该系统在客观上已经具备了“远程控制 + 深度监控 + 强持久化 + 流量隐蔽”的完整 APT/木马化能力链条,安全风险极高。
```