Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-34096 — Easy File Sharing Web Server 7.2 における SEH ベースのバッファオーバーフロー。パスワード回復エンドポイントを介して到達可能。 | Kitploit
ツール/GitHubGitHub/themalwareguardian/cve-2025-34096
脆弱性分析エクスプロイトリバースエンジニアリングシェルコードウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発バイナリエクスプロイト
GitHubthemalwareguardian/cve-2025-34096

CVE-2025-34096

Easy File Sharing Web Server 7.2 における SEH ベースのバッファオーバーフロー。パスワード回復エンドポイントを介して到達可能。

35ヶ月前未レビュー
リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🐞 CVE-2025-34096: Easy File Sharing Web Server 7.2 - スタックベースのバッファオーバーフロー (SEH)

Easy File Sharing Web Server 7.2 における SEH ベースのバッファオーバーフロー。パスワード回復エンドポイントからアクセス可能。




📑 目次

  • このリポジトリが存在する理由
  • この脆弱性が興味深い理由
  • 背景と影響を受けるソフトウェア
  • 脆弱性について
  • クラッシュのトリガー
  • エクスプロイト



🎓 このリポジトリが存在する理由

このリポジトリは、脆弱性研究とエクスプロイト開発を教える際に使用する教材の一部として作成されました。特に、SEH (Structured Exception Handler) オーバーフローや ROP (Return-Oriented Programming) チェーンの概念を導入する場面を想定しています。

これは私の講演 "" に関連しています。その講演では、脆弱性研究にはさまざまな入り口があり、レガシーソフトウェアで公的に文書化された CVE を研究することが初心者にとって最もアクセスしやすい道の一つであると説明しています。

The Path That Leads to Your First CVE

この CVE は、完全で現実的なエクスプロイトシナリオを示しているため選ばれました。

  • ターゲットは公開されている Windows アプリケーションです。
  • クラッシュは単純な EIP 上書きではなく、SEH オーバーライトとスタックピボットを伴います。
  • 脆弱なエンドポイントは認証を必要とせず、真の未認証リモートコード実行プリミティブとなります。
  • エクスプロイトはオプションで ROP チェーンを使用して DEP/NX をバイパスするように拡張でき、同じ SEH オーバーフローをより堅牢な環境に適応させる方法を示します。

このケースを、入門的なバッファオーバーフロー演習とより高度なエクスプロイト開発概念との間の橋渡しとして活用することを目的としています。




💡 この脆弱性が興味深い理由

この脆弱性は、Easy File Sharing Web Server 7.2 に影響を与えます。これは、軽量な Windows ウェブサーバーアプリケーションで、かつて単純なファイル共有に広く使用されていました。このソフトウェアは、現代のセキュリティ緩和策を考慮せずに記述されました。教育的観点から特に興味深いのは、以下の要因の組み合わせです。

  • 脆弱なエンドポイントは POST リクエストであり、標準的な HTTP ツールで簡単に再現できます。
  • /sendemail.ghp エンドポイントはアプリケーションのメール通知機能の一部であり、資格情報なしで任意のリモート攻撃者がアクセスできます。これは、事前アクセスを必要とする脆弱性よりも影響の大きい攻撃シナリオを表します。
  • オーバーフローは SEH ベースであり、クラッシュはリターンアドレスを直接上書きしません。代わりに、スタック上の Structured Exception Handler チェーンを破壊し、異なるエクスプロイト手法を必要とします。
  • DEP バイパスはオプションです。つまり、DEP が無効なシステムでは、直接的な SEH + 短いジャンプ + シェルコードのアプローチでエクスプロイトが機能します。しかし、DEP が有効な場合は、ロードされたモジュールのガジェットを使用した ROP チェーンでエクスプロイトを拡張し、VirtualProtect を呼び出してシェルコード領域を実行可能にした後に制御を移すことができます。

この組み合わせにより、CVE-2025-34096 は、現実的な未認証攻撃シナリオでのエクスプロイト開発手法を教えるための優れたケースとなっています。




🔍 背景と影響を受けるソフトウェア

Easy File Sharing Web Server 7.2 は、HTTP 経由でファイルを共有するために構築された軽量 Windows アプリケーションです。基本的なファイルブラウジングやユーザーアカウントに加えて、ユーザーがメールアドレスを入力して忘れた資格情報を受け取るためのパスワード回復機能が含まれています。

そのフォームは /sendemail.ghp に POST します。Email フィールドを処理するハンドラは、値を固定サイズのスタックバッファに長さチェックなしで直接コピーします。このエンドポイントは認証を必要としないため、リモート攻撃者と脆弱なコードパスの間には何も防御がありません。

主要な技術的詳細は以下の通りです。

  • 脆弱性の種類: スタックベースのバッファオーバーフロー (SEH オーバーライト)
  • 影響を受けるバージョン: Easy File Sharing Web Server 7.2
  • 影響を受けるエンドポイント: POST /sendemail.ghp
  • 脆弱なパラメータ: Email
  • 認証の必要性: なし
  • 影響: 未認証リモートコード実行



⚠️ 脆弱性について

Easy File Sharing Web Server は、メール通知機能の一部として /sendemail.ghp への HTTP POST リクエストを処理します。このエンドポイントが受け入れる Email パラメータは、長さチェックなしでローカルのスタックバッファにコピーされます。

脆弱なロジックを簡略化したものは次のようになります。

root@kitploit:~
char email_buffer[256];

strcpy(email_buffer, user_input);

宛先バッファが固定サイズであり、入力長が検証されないため、Email フィールドに十分に長い文字列を送信すると、コピーがバッファの末尾を超えて書き込まれます。

より多くのデータが書き込まれるにつれて、スタックレイアウトが破損します。単純なリターンアドレスの上書きとは異なり、オーバーフローはスタックに保存されている Structured Exception Handler (SEH) チェーンに到達します。破損したスタックの結果として例外がトリガーされると、OS は SEH チェーンを辿り、攻撃者が制御可能なハンドラアドレスに制御を移します。

したがって、エクスプロイトの流れは SEH オーバーライト手法に従います。

  1. 長い入力がスタックを上書きし、nSEH および SEH ハンドラポインタを含みます。
  2. メモリ破損により例外がトリガーされます。
  3. OS は上書きされたハンドラアドレスを呼び出します。
  4. POP POP RETN ガジェットを使用して nSEH 領域に実行を移します。
  5. 前方への短いジャンプで SEH レコードをスキップし、シェルコード領域に実行をリダイレクトします。
  6. シェルコードが実行されます。

これにより、この脆弱性は基本的な EIP 上書きよりもエクスプロイトが複雑になりますが、現実のシナリオをよりよく代表するものとなります。




💥 クラッシュのトリガー

クラッシュは、/sendemail.ghp への POST リクエストの Email パラメータに長い文字列を送信することで再現できます。認証は不要です。Python を使用した例:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 80

request = (
	'POST /sendemail.ghp HTTP/1.1\r\n'
	'Email=' + 'A' * 5000 + '&getPassword=Get+Password'
).encode('utf-8')

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(request)
s.close()

デバッガで実行すると、クラッシュは破損した SEH チェーンとアクセス違反を示し、ユーザー制御のデータが例外ハンドラポインタを上書きしたことを確認できます。




💣 エクスプロイト

このリポジトリの目的は、単にクラッシュを実演することだけでなく、実際の SEH ベースのエクスプロイトを開発する際に使用される方法論に従って、完全なエクスプロイトプロセスを段階的に説明することです。

メインの README を簡潔に保つために、詳細なエクスプロイトノート、スクリプット、デバッガの手順は、このリポジトリの Vulnerability 📂 フォルダ内に配置されています。

そこには、この CVE のエクスプロイトに使用された完全なワークフローが含まれています。以下を含みます:

  • Email パラメータのファジングによるクラッシュの特定。
  • オフセット発見によるスタック上の nSEH と SEH の正確な位置の特定。
  • ペイロードを破損させるバイトを特定するための bad character 分析。
  • ロードされたモジュールからの POP POP RETN ガジェットを使用した SEH チェーン上書き。
  • シェルコードの配置と実行。
  • オプション: ロードされたモジュールのガジェットを介して VirtualProtect を呼び出すことによる DEP バイパスのための ROP チェーン構築。
ツールをダウンロード