トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

・CVE-2017-11882 Officeの数式エディタの脆弱性を使った攻撃 のバックアップ(No.5)


FrontPage
・攻撃ベクトルの研究

本稿は、FIREEYE社の脅威調査: https://www.fireeye.com/blog/threat-research/2017/12/targeted-attack-in-middle-east-by-apt34.html を参考にしました。

攻撃に利用された脆弱性

  • CVE-2017-11882 :https://www.ipa.go.jp/security/ciadr/vul/20171129_ms.html
    以下に搭載された数式エディタのスタックベースのバッファーオーバーフローを悪用したものです。
    • Office 2007 SP3
    • Office 2010SP2(32/64bit)
    • Office 2013SP1(32/64bit)
    • Office 2016(32/64bit)

攻撃のフロー

CVE201711882a.jpg

ワークフローで使用されたコンポーネント

名前役割
PowerShell標準スクリプト言語
MSHTA.EXEMicrosoft HTML Application Host、HTAファイルの実行エンジン
VBScriptWindows標準スクリプト言語
CERTUTIL.EXEWindows標準コマンド:証明書ユーティリティ
SCHTASKS.EXEWindows標準コマンド:タスクスケジューラ

手口

  1. 攻撃者は、リッチテキストフォーマットに細工をした数式を埋め込みターゲットにメールの添付ファイルとして送信します。
  2. 受信者が添付ファイルを開くと、受信者の脆弱な数式エディターが起動し数式を読み込みますが、この際、数式エディターがデータ長を正しくチェックしないため、スタックメモリが破壊され、悪意のあるプログラムが実行されます。
  3. 悪意あるプログラムは、WinExec関数を呼び出し、受信者のコンテキストで子プロセス「mshta.exe」を呼び出します。「mshta.exe」は外部サイトからテキストファイルに見せかけた悪意あるPowerShellスクリプトをダウンロードし実行します。
  4. 悪意あるPowerShellスクリプトは、さらにテキストファイルに見せかけたVBScriptをダウンロードし、実行します。
  5. VBScriptは、C:\ProgramData\Windows\Microsoft\java\ に4つのコンポーネントをダウンロードします。
  6. このうちBase64でエンコードされた2つのコンポーネントは、証明書関連の正規のユーティリティである Certutil.exe を利用しデコードし、PowerShellスクリプトに変換されます。
  7. 残りの2つのファイルの内、バッチファイルが永続化のためのVBScriptをタスクスケジューラに登録します。
  8. 定期的に起動されるPowerShell スクリプトは、C&Cサーバーと通信し、追加の悪意あるコンポーネントダウンロードします。

設定対策

本件は、PowerShellの実行ポリシーを禁止にするべきか、署名済みスクリプトのみ許可する、とし、環境評価によって、VBScriptの実行停止、もしくは、コマンドラインのブラックリスト化を行うことで、十分に抑止できたと考えられます。

  1. ユーザーにローカル管理者権限を与えない。
  2. Officeの数式エディターの脆弱性アップデート。
  3. グループポリシーによるPowerShellの実行ポリシーの制御(停止、署名済みのみ許可等)。
  4. AppLocker、Defender Application制御を使ったMSHTA.EXE、CERTUTIL.EXE、SCHETASKS.EXEの実行制御。
  5. Registry設定によるVBScriptエンジン(WSCRIPT.EXE、CSCRIPT.EXE)の停止、署名のみ許可設定。