
教育目的のCVE-2022-30190(Follina)脆弱性の概念実証。
教育目的のマルウェア開発、悪用、分析、緩和
ソーシャルエンジニアリングによる配信から悪用、フォレンジック分析、パッチ開発までを網羅した、Follina脆弱性の完全文書化された概念実証です。
⚠️ 教育目的のみ。 このリポジトリ内のすべての活動は、SLIITのIE4012攻撃的ハッキング戦術と戦略モジュールの一環として、隔離された仮想マシンラボ環境内でのみ実施されました。これを管理されたラボ以外で使用しないでください。実際のシステムやネットワークに対してテストしないでください。
CVE-2022-30190、通称 Follina は、Microsoft Support Diagnostic Tool (MSDT) におけるリモートコード実行の脆弱性です。2022年5月30日に公開され、CVSSスコア 7.8 (高) が割り当てられました。このエクスプロイトは、被害者が特別に細工されたMicrosoft Office文書を開くと発火します。マクロは不要です。文書は攻撃者制御のHTTPサーバーからHTMLペイロードを取得し、ms-msdt: URIプロトコルハンドラを呼び出し、PCWDiagnostic引数を介して任意のコマンドをシステムに渡します。
SourceCode.zip/
├── PoC.py # メインのエクスプロイトスクリプト
├── patch.py # 緩和パッチスクリプト
├── Invoice_FS-2026-8821_OVERDUE.docx # 生成された悪意のあるWord文書
└── doc/ # docxから抽出された内部XMLファイル
├── word/
│ ├── document.xml # メイン文書本体
│ └── _rels/
│ └── document.xml.rels # 攻撃者サーバーを指す外部OLE参照
└── [Content_Types].xml
囮は、FinanceSyncという請求プラットフォームを装い、請求書が期限切れであると主張するフィッシングメールです。添付ファイルは、悪意のあるWord文書を含むパスワード保護されたzipアーカイブ (Invoice.zip) です。暗号化されたアーカイブを使用することで、内容を検査できないため、ほとんどのメールゲートウェイスキャナーを回避できます。
Invoice_FS-2026-8821_OVERDUE.docx を生成し、ポート8000でHTTPサーバーを起動しますword/_rels/document.xml.rels 内に http://<attacker_ip>:8000/index.html を指す外部OLE参照が含まれています2026-03-25) に対するJavaScriptの日付チェックが含まれています。日付条件を満たさない場合、何も実行されませんms-msdt: URIが、cmd.exe コマンドを含む PCWDiagnostic 引数で発行されますWINWORD.EXE → msdt.exe → cmd.exe が実行され、C:\Users\Public\ に sys_cache.dat を侵入の証拠として書き込みますpatch.py は、Windowsレジストリから ms-msdt URIプロトコルハンドラを削除し、攻撃者制御の引数がMSDTに到達する前にURI解決段階でエクスプロイトチェーンを断ち切ります。
攻撃マシン (Kali Linux)
被害マシン (Windows 10)
HKEY_CLASSES_ROOT に ms-msdt レジストリキーが存在すること2026-03-25 以降に設定されていること# 攻撃マシン上で
python3 PoC.py
スクリプトはWord文書を生成し、HTTPサーバーを起動します。文書を被害VMに転送して開きます。攻撃者のターミナルには、Wordからの受信リクエストが記録されます。
パッチスクリプトは、Windows被害VM上で管理者として実行する必要があります。
# 現在の状態を確認
python patch.py --status
# パッチを適用 (ms-msdt レジストリキーを削除)
python patch.py --apply
# 脆弱な状態にロールバック (再テスト用)
python patch.py --rollback
| マシン | 役割 | IPアドレス |
|---|---|---|
| Kali Linux VM | 攻撃者 - PoC.py を実行 | 192.168.56.10 |
| Windows 10 VM | 被害者 - ドキュメントを開く | 192.168.56.20 |
両VMはインターネットアクセスなしのVirtualBox Host-Onlyネットワークで接続されていました。
| フィールド | 詳細 |
|---|
| CVE ID | CVE-2022-30190 |
| 一般名 | Follina |
| CVSSスコア | 7.8 (高) |
| CVSSベクトル | AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| コンポーネント | Microsoft Support Diagnostic Tool (MSDT) |
| 影響を受けるバージョン | Windows 7 - 11 / Server 2008 R2 - 2022 |
| 公開日 | 2022年5月30日 |
| 公式パッチ | KB5014697 (2022年6月 Patch Tuesday) |
| テスト | パッチ適用前 | パッチ適用後 |
|---|
| ms-msdt レジストリキーの存在 | はい (脆弱) | いいえ (緩和済み) |
| WordによるHTTPリクエスト | はい | はい (変化なし) |
| msdt.exe の起動 | はい | いいえ |
| cmd.exe の起動 | はい | いいえ |
| sys_cache.dat の作成 | はい | いいえ |
| エクスプロイト成功 | はい | いいえ |