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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-32433-LAB — Erlang/OTP SSH 服务器中 SSH 协议消息处理存在缺陷,恶意行为者可在没有有效凭据的情况下未经授权访问受影响系统并执行任意命令 | Kitploit
工具/GitHubGitHub/damnkrishna/cve-2025-32433-lab
数据包嗅探与分析漏洞扫描器容器安全漏洞分析漏洞利用网络安全入侵检测学习与教育实验室与实践
GitHubdamnkrishna/cve-2025-32433-lab

CVE-2025-32433-LAB

Erlang/OTP SSH 服务器中 SSH 协议消息处理存在缺陷,恶意行为者可在没有有效凭据的情况下未经授权访问受影响系统并执行任意命令

371个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

CVE-2025-32433 漏洞研究与安全实验室

✅ 预认证 RCE 已确认 — 漏洞利用已成功演示。
📄 技术博客(PDF):CVE-2025-32433-Technical-Blog.pdf
📸 可视化证据:screenshots/
🔍 概念验证详情:docs/PROOF_OF_CONCEPT.md

CVE-2025-32433 是 Erlang/OTP SSH 守护进程中的一个 CVSS 10.0 严重 漏洞。 未经身份验证的攻击者可以在完成身份验证之前打开 SSH 通道并执行任意命令——无需任何凭据。

本实验室为你提供一个完全可用、隔离的环境,用于复现该漏洞、运行漏洞利用、验证漏洞并测试检测机制——全部在你的本地机器上完成。


先决条件

在开始之前,请确保已安装以下内容:

工具最低版本检查命令
Docker Desktop4.x+docker --version
Docker Composev2.20+docker compose version
Python3.10+python --version

你还需要 Python 的 paramiko 库用于检测套件:

pip install paramiko

重要说明 — 为什么我们从源码构建

在 CVE-2025-32433 披露后,Docker Hub 的 erlang:26.2.5 镜像标签被静默覆盖为已修补的 26.2.5.11 版本。 从 Docker Hub 拉取它 得到的是已修补版本,而不是存在漏洞的版本。

本实验的 lab/Dockerfile 直接从官方 Erlang GitHub 发布压缩包 编译 OTP 26.2.5,以保证获得真正的存在漏洞的运行时。首次构建大约需要 10 分钟。


实验架构

                  ┌──────────────────────────────────────────┐
                  │         Isolated Docker Bridge           │
                  │            (cve-lab-bridge)              │
                  └────┬────────────────────────────┬────────┘
                       │                            │
       ┌───────────────┴─────────────┐┌─────────────┴──────────────┐
       │  target_vulnerable          ││  target_patched             │
       │  OTP 26.2.5 (source-built)  ││  erlang:26.2.5.11           │
       │  Host Port: 127.0.0.1:2222  ││  Host Port: 127.0.0.1:2223  │
       └─────────────────────────────┘└─────────────────────────────┘
                                       │
                        ┌──────────────┴──────────────┐
                        │  attacker                   │
                        │  Python 3 + Scapy/Paramiko  │
                        │  Workdir: /work             │
                        └─────────────────────────────┘
容器端口OTP 版本状态
cve-2025-32433-vulnerable127.0.0.1:222226.2.5 (ERTS 14.2.5)❌ 存在漏洞
cve-2025-32433-patched127.0.0.1:222326.2.5.11 (ERTS 14.2.5.15)✅ 已修补
cve-2025-32433-attacker仅内部Python 3 工具攻击者工具集

步骤 1 — 克隆仓库

git clone https://github.com/damnkrishna/CVE-2025-32433-LAB.git
cd CVE-2025-32433-LAB

步骤 2 — 构建存在漏洞的容器

⏱️ 这大约需要 10 分钟 — 它会从 C 源码编译 Erlang/OTP 26.2.5。 这是预期行为。请勿中断。

docker compose build --no-cache target_vulnerable

你将看到类似 make[1]: Leaving directory '/tmp/otp_src_26.2.5/lib/...' 的编译器输出—— 这是正常的。它以如下内容结束:

✔ Image ine_cyber_assignment_job-target_vulnerable Built

步骤 3 — 构建已修补的容器

docker compose build --no-cache target_patched

步骤 4 — 启动实验环境

docker compose up -d target_vulnerable target_patched

步骤 5 — 验证一切正常运行

docker compose ps

Expected output:

NAME                        STATUS              PORTS
cve-2025-32433-vulnerable   Up (healthy)        127.0.0.1:2222->2222/tcp
cve-2025-32433-patched      Up (healthy)        127.0.0.1:2223->2222/tcp

两个容器都必须显示 (healthy) 才能继续。


步骤 6 — 验证存在漏洞的版本

确认容器确实运行的是 OTP 26.2.5(而非已修补的版本):

docker exec cve-2025-32433-vulnerable cat /usr/local/otp/lib/erlang/releases/RELEASES

预期输出——必须显示 14.2.5,且不带 .15 后缀:

[{release,"Erlang/OTP","26","14.2.5",
          [{kernel,"9.2.4",...},

如果你看到 14.2.5.15 —— 说明容器镜像有误。请使用 --no-cache 重新构建。


步骤 7 — 正常认证 SSH 登录(基线)

以合法用户身份连接,确认服务器接受标准认证:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2222 [email protected]

当提示输入密码时,请输入:LabPass2026!Secured

你将进入一个 Erlang shell:

Eshell V14.2.5 (press Ctrl+G to abort, type help(). for help)
1>

在 Erlang shell 中尝试一些命令:

ls().
file:write_file("test.txt", "hello").
file:read_file("test.txt").

要退出 Erlang shell:

q().

步骤 8 — 实时监控日志(在单独的终端中运行此步骤)

在运行漏洞利用程序之前,请打开第二个 PowerShell 终端并跟踪服务器日志:

Get-Content -Path .\logs\target_vulnerable\ssh.log -Wait -Tail 20

保持此终端打开。你将实时看到连接事件出现。


步骤 9 — 运行 CVE-2025-32433 漏洞利用

这是预认证远程代码执行的概念验证。 不使用任何凭据。

cd attacker_work\exploit
python payload.py

Expected output:

[*] Connecting to SSH server...
[+] Received banner: SSH-2.0-Erlang/5.1.4
[*] Sending SSH_MSG_KEXINIT...
[*] Sending SSH_MSG_CHANNEL_OPEN...
[*] Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)...
[✓] Exploit sent! If the server is vulnerable, it should have written to /lab.txt.
[+] Received response: 000003d4...

该 banner 必须显示 SSH-2.0-Erlang/5.1.4(不带 .15 后缀),以确认你已连接到存在漏洞的服务器。


步骤 10 — 验证漏洞利用是否成功

docker exec cve-2025-32433-vulnerable cat /lab.txt

Expected output:

pwned

如果你看到 pwned —— CVE-2025-32433 预认证 RCE 已确认。 该漏洞利用在零凭据的情况下写入了容器文件系统。


步骤 11 — 确认已修补的容器不受影响

对端口 2223 上已修补的容器运行相同的漏洞利用:

编辑 attacker_work\exploit\payload.py 第 6 行:

PORT = 2223   # change from 2222 to 2223

运行漏洞利用程序:

python payload.py

然后检查该文件:

docker exec cve-2025-32433-patched cat /lab.txt

Expected output:

cat: /lab.txt: No such file or directory

修补后的容器会拒绝未认证的通道请求。未写入文件 = 已修补。

完成后将 payload.py 的端口恢复为 2222。


第 12 步 — 运行检测套件

返回仓库根目录:

cd ..\..

选项 A:版本横幅扫描器(通过 SSH 横幅检查目标是否存在漏洞)

扫描存在漏洞的目标:

python detection\detect_cve_2025_32433.py 127.0.0.1 2222

扫描已修补的目标:

python detection\detect_cve_2025_32433.py 127.0.0.1 2223

选项 B:主机进程与文件完整性监控

监控容器进程表,检测由 Erlang 派生的意外子进程 (例如表明存在 RCE 的 shell 进程):

python detection\host_process_monitor.py

保持其运行,并在另一个终端中运行漏洞利用程序——它将标记该异常。 按 Ctrl+C 停止。

选项 C:主 4 层统一诊断套件

通过一条命令运行所有检测层:

python detection\run_all_detections.py

这会生成一张完整的诊断表,涵盖:

  • 第 1 层:基线认证会话测试
  • 第 2 层:版本横幅漏洞扫描
  • 第 3 层:网络 IDS 规则摘要(Scapy)
  • 第 4 层:主机进程完整性检查

步骤 13 — 查看 SSH 日志

Erlang SSH 守护进程将结构化日志写入磁盘,并挂载到你的主机:

容器日志文件
易受攻击版本./logs/target_vulnerable/ssh.log
已修补版本./logs/target_patched/ssh.log

实时跟踪:

Get-Content -Path .\logs\target_vulnerable\ssh.log -Wait -Tail 20

漏洞利用后需要查找的关键日志行:

debug: Connection terminated. Unexpected message for unauthenticated user.
       Message: [{ssh_msg_channel_open,...}]
notice: Accept failed on any:2222 for connect from 172.20.0.X:PORT: normal

在存在漏洞的版本中,通道请求会在写入此日志条目之前执行。


步骤 14 — 停止实验环境

docker compose down

要彻底清理镜像:

docker compose down --volumes
docker rmi ine_cyber_assignment_job-target_vulnerable --force
docker rmi ine_cyber_assignment_job-target_patched --force

SSH 凭据参考

参数值
用户名labuser
密码LabPass2026!Secured
易受攻击端口127.0.0.1:2222
已修补端口127.0.0.1:2223

关键文件参考

文件用途
CVE-2025-32433-Technical-Blog.pdfPDF 格式的全面研究博客(800–1,200+ 字)
screenshots/易受攻击/已修补状态及漏洞利用的完整照片证据
lab/Dockerfile从官方源码构建真实的易受攻击 OTP 26.2.5
lab_patched/Dockerfile使用官方已修补的 erlang:26.2.5.11 镜像
lab/start_ssh.erlErlang SSH 守护进程配置脚本
attacker_work/exploit/payload.pyCVE-2025-32433 漏洞利用(原始套接字,零依赖)
detection/detect_cve_2025_32433.py基于横幅的远程漏洞扫描器
detection/host_process_monitor.py容器进程与文件完整性监控器
detection/run_all_detections.py主 4 层诊断与检测套件
docs/PROOF_OF_CONCEPT.md完整的漏洞利用分解与技术验证日志
logs/target_vulnerable/ssh.log实时 Erlang SSH 守护进程日志(易受攻击)
logs/target_patched/ssh.log实时 Erlang SSH 守护进程日志(已修补)

证据与截图

下载工具