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 に関する調査を紹介します。
この脆弱性は、認証を必要とせずにリモートで任意のコードを実行可能(Remote Code Execution, 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/Exploit の開発:
    テスト環境で動作するプロトタイプのエクスプロイトを作成・実演します。

  4. 安全な一斉確認の手法:
    脆弱なホストを確認する3つの方法を説明します。

    • 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セグメント にほぼ均等に分散しており、包括的な保護が必要です。

脆弱性のステータス

  • 深刻度: CVSS 3.1 スコア 10.0(クリティカル)(Offsec および Tenable による)。エクスプロイトの複雑さは低く、認証情報やユーザーの操作は不要です。
  • 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 までを含む

脆弱性が顕在化する条件

  • ホスト上で、外部の openssh ではなく、組み込みの Erlang/OTP SSH デーモン(ssh:daemon/2)が実行されている必要があります。
  • SSH ポート(標準の 22 またはカスタム、例 2222)が攻撃者のネットワークからリモート接続可能である必要があります。
  • 設定レベルでは 特別なフラグは不要 です。脆弱性は Erlang/OTP のコード内のプロトコルロジックに関連しており、ssh:daemon/2 の特定のオプションによるものではありません。
  • 認証方式は任意(パスワード方式、鍵方式など)で構いません。このバグは 認証前の段階 で悪用されます。

⚠️ Erlang/OTP がクライアントライブラリとしてのみ使用され、SSH サーバが起動されていない場合、またはサーバが隔離されたネットワークに閉じられている場合、脆弱性は悪用できません。


技術概要

この脆弱性は、Erlang/OTP の組み込み SSH サーバが 事前認証プロセス を適切に処理しないために発生します。
重要な役割を果たすのは、接続プロトコルの 2 種類のメッセージ、SSH_MSG_CHANNEL_OPEN と SSH_MSG_CHANNEL_REQUEST です。
RFC 4254 によれば、これらのメッセージは ユーザー認証が成功した後にのみ 受け入れられるべきです。
それ以前に送信しようとする試みは、直ちに接続を切断する必要があります。
CVE-2025-32433 の場合、SSH デーモンはこのルールを強制しないため、攻撃者は 有効な認証情報を提示することなく、セッションチャネルを開き、任意のコマンドを含む exec リクエストを送信できます。
言い換えれば、これは 認証されていないリモートコード実行(RCE) につながります。攻撃者は、ユーザー名、パスワード、鍵を知らなくてもサーバの制御を奪取できます。

図プレースホルダー1

SSH Connection プロトコルは、SSH のトランスポート層と認証層の上で動作します。
これは、対話型ログイン、リモートコマンド実行、ポート転送の機能を提供します。
Erlang/OTP の脆弱な SSH 実装では、チャネルの開始とコマンドリクエストに必要な 2 つのメッセージ SSH_MSG_CHANNEL_OPEN と SSH_MSG_CHANNEL_REQUEST が攻撃のポイントになります。
攻撃者は、特別に細工したトラフィックを送信することで、認証を通過する前に システムを騙して任意のコードを実行させることができます。

図プレースホルダー2


PoC / Exploit

本調査の一環として、CVE-2025-32433 用の実用的な Proof-of-Concept を作成しました。

ファイル構成

  • 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 モジュール。ポート 2222 で組み込み OTP SSH デーモンを起動します。デモンストレーションのみを目的としており、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-template による迅速な確認

パッシブチェック

パッシブテンプレートは、実際の攻撃動作を実行せずに、間接的な脆弱性の兆候 を検索します。
サービスが自ら提供する「表面」情報のみを分析します。

  • 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-template との違い:

  1. スクリプトは nuclei のアクティブテンプレートと同じように動作しますが、はるかに高速です。
  2. スクリプトはサーバが脆弱かどうかを nuclei よりも正確に判断します。nuclei には interactsh の分析に関する問題があります。

スクリプトの実行

⚠️ 実行前に、interactsh-client がインストールされ、起動されていることを確認してください。

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

babyfon

実行後、interactsh-client で DNS インタラクションを確認します。 (例では 2 つのターゲットをスキャンしています。1 つは脆弱、もう 1 つは既にパッチが適用されています)

interactsh

Nuclei との速度・精度比較 ℹ️

  1. Nuclei:

nuclei_bad

  1. babyfon

babyfon

テストからの結論:

  • babyfon のスキャンは 0.95 秒で完了し、ホストの 1 つが既に更新され脆弱でないことを正しく判断しました。
  • nuclei のスキャンは 9.9 秒かかり、両方のホストが脆弱であると誤って表示しました。
ツールをダウンロード