Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-32433 — 测试 | Kitploit
工具/GitHubGitHub/iteride/cve-2025-32433
漏洞分析漏洞利用SCADA/ICS安全CTF渗透测试命令与控制学习与教育远程访问工具实验室与实践
GitHubiteride/cve-2025-32433

CVE-2025-32433

测试

查看仓库
111个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-32433

引言

本文件介绍了影响 Erlang/OTP 平台内置 SSH 服务器实现的漏洞 CVE-2025-32433。
该漏洞是一种无需身份验证即可远程执行任意代码 (RCE) 的漏洞,影响多个 Erlang/OTP 分支(补丁发布前):

  • 27 版本至 27.3.3
  • 26 版本至 26.2.5.11
  • 25 版本至 25.3.2.20

Erlang/OTP 被广泛用作可扩展分布式系统的基础,并集成在许多知名项目的技术栈中(例如即时通讯软件、消息代理、高负载 Web 服务)。
SSH 基础库中存在关键的 RCE 漏洞,使得使用 Erlang/OTP 作为服务器或具有开放 SSH 访问权限的组件的基础设施面临风险。

报告目标

逐步分析该漏洞并展示完整的研究周期:

  1. 收集并整理材料:
    查找并系统化有关 CVE-2025-32433 的公开数据,描述其本质及潜在影响。

  2. 确定 CPE 和配置条件:
    列出受漏洞影响的 CPE 及配置条件列表。

  3. 开发 PoC/利用程序:
    在测试环境中创建并演示可工作的利用原型。

  4. 安全批量检查方法:
    描述三种检查易受攻击主机的方法:

    • 使用 nuclei 的主动模式(利用过程中影响最小);
    • 使用 nuclei 的被动模式(根据软件版本或间接特征);
    • 使用基于 Python 3(或 Go)的自定义脚本,支持多线程。

⚠️ 免责声明

本项研究 纯粹出于教育和道德目的,仅在受控测试环境中进行。
作者 对任何滥用所提供信息的行为不承担任何责任。
请仅将此信息用于学习及提升您系统的安全性。


漏洞详情

Erlang 是一种为构建高并发、高容错系统而设计的编程语言。
其平台 Open Telecom Platform (OTP) 多年来一直用于关键基础设施——从电信到金融领域。

行业中的 Erlang/OTP

在 OT(运营技术)环境和 5G 网络中,Erlang/OTP 因其可扩展性及以最小停机时间确保系统持续运行的能力而备受青睐。
为了实现远程管理,这些网络常使用 Erlang/OTP 内置的 SSH 实现。
正是这一点使得 CVE-2025-32433 漏洞对此类环境尤其危险。

问题本质

Erlang/OTP 中的安全通信由其自身的 SSH 实现提供,该实现:

  • 负责加密连接,
  • 文件传输,
  • 以及——重要的是——命令执行。

该实现中的漏洞允许具有网络访问权限的攻击者 无需身份验证即可执行任意代码,从而对易受攻击的资产构成直接威胁。

传播范围

根据全球互联网扫描数据(Cortex Xpanse,2025 年 4 月),易受攻击的 Erlang/OTP SSH 服务 在互联网上广泛可用,不仅运行在标准端口上,还运行在例如 TCP 端口 2222 上。
该端口常用于过时的工业自动化组件以及 Ethernet/IP 隐式消息传递协议,从而扩大了可能的攻击向量。

该漏洞与 Erlang/OTP 版本中包含的 SSH 版本有关。
易受攻击服务在多种行业特有端口上的分布,形成了显著的全球攻击面。

受影响最严重的行业

遥测数据显示,超过 85% 的利用尝试发生在以下领域的 OT 段 防火墙上:

  • 医疗保健
  • 农业
  • 媒体与娱乐业
  • 高科技

同时,尽管以下行业对 OT 高度依赖,但未发现有利于该威胁积极传播的因素:

  • 公用事业
  • 能源
  • 采矿业
  • 航空航天与国防

行业特点

  • 在 专业与法律服务 领域,警报主要发生在 IT 网络中。
  • 在 制造业、批发与零售业 以及 金融服务业 中,攻击在 IT 和 OT 段 之间大致分布,需要综合性防护。

漏洞状态

  • 严重性等级:根据 Offsec 和 Tenable 标准,CVSS 3.1 评分为 10.0(严重)。利用难度低,无需凭据或用户交互。
  • KEV 列表:已于 2025 年 6 月 9 日被添加到 CISA 的已知利用漏洞目录 (KEV) 中,突出了紧急修复的必要性。

受影响产品与配置条件

CPE 标识符

CVE-2025-32433 已在 NVD 数据库中注册,典型 CPE (Common Platform Enumeration) 如下:

  • cpe:2.3:a:erlang:otp:25:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:26:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:27:*:*:*:*:*:*:*

低于以下补丁版本的次要版本 被认为存在漏洞:

  • 25.x — 至 25.3.2.20(含)
  • 26.x — 至 26.2.5.11(含)
  • 27.x — 至 27.3.3(含)

漏洞暴露条件

  • 主机上必须运行 Erlang/OTP 内置 SSH 守护进程 (ssh:daemon/2),而非外部 openssh。
  • SSH 端口(标准 22 或自定义端口,如 2222)必须可从攻击者网络远程访问。
  • 配置级别 不需要特殊标志——该漏洞与 Erlang/OTP 代码中的协议逻辑有关,而非 ssh:daemon/2 的特定选项。
  • 可以是任何身份验证方式(密码、密钥等)——该漏洞在 身份验证阶段之前 被利用。

⚠️ 如果 Erlang/OTP 仅作为客户端库使用且未启动 SSH 服务器,或者服务器位于隔离网络中,则无法利用该漏洞。


技术概览

该漏洞的产生原因是 Erlang/OTP 内置 SSH 服务器错误地处理了 预身份验证 过程。
两种连接协议消息起着关键作用——SSH_MSG_CHANNEL_OPEN 和 SSH_MSG_CHANNEL_REQUEST。
根据 RFC 4254 标准,此类消息应 仅在用户成功身份验证后 才被接收。
任何提前发送它们的尝试都应立即导致连接中断。
在 CVE-2025-32433 的情况下,SSH 守护进程未能确保此规则的执行,从而允许攻击者在未提供有效凭据的情况下打开会话通道并发送包含任意命令的 exec 请求。
换言之,这导致 未经身份验证的远程代码执行 (RCE) —— 攻击者无需知道用户名、密码或密钥即可控制服务器。

diagram-placeholder-1

SSH 连接 协议运行在 SSH 传输层和身份验证层之上。
它提供交互式登录、远程命令执行和端口转发功能。
在 Erlang/OTP 有漏洞的 SSH 实现中,正是这两个消息——SSH_MSG_CHANNEL_OPEN 和 SSH_MSG_CHANNEL_REQUEST(用于发起通道和请求命令)——成为攻击点:
攻击者可以发送特制的流量,诱骗系统在 身份验证之前 执行任意代码。

diagram-placeholder-2


PoC / 利用程序

在本研究中,为 CVE-2025-32433 准备了一个可工作的概念验证程序。

文件组成

  • CVE-2025-32433.py — Python 脚本,手动构造 SSH 数据包 (SSH_MSG_KEXINIT, SSH_MSG_CHANNEL_OPEN, SSH_MSG_CHANNEL_REQUEST) 并在 身份验证之前 发送它们。
    这允许在易受攻击的 Erlang/OTP 版本中在服务器端执行任意命令——在 PoC 中,它创建了一个包含文本 cyberok 的文件 /lab.txt。

  • ssh_server.erl — 最小的 Erlang 模块,启动 OTP 内置 SSH 守护进程,监听端口 2222。仅用于演示目的,并在 Docker 容器中运行。

  • Dockerfile — 容器构建配方,自动编译指定版本的 Erlang/OTP 并启动测试 SSH 服务器。

⚠️ 此 PoC 仅用于本地测试和教育目的。请勿在生产或公共网络中使用。


在 Docker 中进行本地测试

  1. 构建镜像: git clone https://github.com/iteride/CVE-2025-32433.git && cd CVE-2025-32433/POC/ && docker build -t cve-ssh . docker

  2. 运行镜像

    root@kitploit:~
    docker run -d --name cve-ssh -p 2222:2222 cve-ssh
    
  3. 演示 PoC poc


nuclei 模板 用于快速检测

被动检测

被动模板查找 漏洞的间接特征,而不执行实际的攻击性操作。
它仅分析服务自身暴露的“表层”信息:

  • Erlang/OTP 版本横幅,
  • 响应头,
  • 其他公开元数据。

如果发现易受攻击的版本(例如 OTP 25.3.2.19 或 26.2.5.10),nuclei 会将主机标记为 潜在易受攻击。
⚠️ 这种方法很安全:不会产生任何恶意数据包或利用尝试。

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-passive.yaml

nuclei-passive


主动检测

主动模板执行 受控的攻击模拟:
它在身份验证之前发送特制的 SSH 数据包,并检查漏洞是否触发。
为了记录利用事实,使用 Interactsh —— 如果远程服务器执行了恶意请求,Interactsh 面板上将出现 DNS 回调。

✅ 此类测试确认了 实际远程代码执行 (RCE) 的可能性,
但仅在隔离测试环境中进行。

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-active.yaml -code

nuclei-passive

多线程脚本 ⚡️

与 nuclei 模板的区别:

  1. 该脚本的工作原理与 nuclei 主动模板相同,但速度更快。
  2. 该脚本在确定服务器是否易受攻击方面更准确,而 nuclei 在分析 interactsh 时存在问题。

运行脚本

⚠️ 运行前确保已安装并启动了 interactsh-client

root@kitploit:~
python3  babyfon.py -f targets.txt -d your.interactsh_domain

babyfon

运行后,在 interactsh-client 中检查 DNS 交互。 (示例中扫描两个目标:一个易受攻击,另一个已修补)

interactsh

与 nuclei 的速度和准确度比较 ℹ️

  1. Nuclei:

nuclei_bad

  1. babyfon

babyfon

测试结论:

  • babyfon 扫描在 0.95 秒内完成,并正确识别出其中一个主机已更新且不易受攻击。
  • nuclei 扫描在 9.9 秒内完成,并错误地显示两个主机都易受攻击。
下载工具