This post is also available in: English (英語)
概要
2018年8月15日、トレンドマイクロ社がMicrosoft Internet ExplorerのVBScriptエンジンにおけるリスクの高い脆弱性を詳細に記述したブログ記事を公開しました(CVE-2018-8373)。この脆弱性は本稿執筆現在(2018年9月7日)で最新バージョンのInternet Explorerを実行中のエンドポイントと、関連パッチを適用していないWindowsに影響します。
エクスプロイトは悪意のあるWebホスト hxxp://windows-updater[.]net/realmuto/wood.php?who=1?????? で行われており、Qihoo 360による分析の結果、DarkHotelのAPT攻撃との関連が指摘されています。今年初めには同攻撃者による別のVBScript脆弱性(CVE-2018-8174)の悪用も確認されていました。同社は攻撃初期段階のペイロードについても完全な分析を行っています。このペイロード名はzlib1.dllです。
図1悪意のあるサンプルで観測された攻撃フロー
図1は、悪意のあるサンプルについて観測された攻撃フローです。まず、侵害を受けた端末が悪意のあるWebホスト(1)のエクスプロイトURLを参照します。 ここで返されるWebページには、vbscript.dllでUAF(Universal Authentication Framework ユニバーサル認証フレームワーク)を悪用するVBScriptが含まれています。 このエクスプロイトは、Read/Write命令を実装することでエクスポートされた関数のアドレスを特定してリークさせ、偽のCONTEXT構造を作成後、NtContinue()関数を使ってシェルコード上のVirtualProtect()関数へジャンプし、その後、偽のCONTEXT構造のアドレスに直接に戻ります(2)。トレンドマイクロ社のブログで、このエクスプロイト フェーズが完全に分析されています。
次にこのシェルコードは、先と同じ悪意のあるWebホスト(hxxp://windows-updater[.]net/realmuto/wood.php?var=xxx&name=dr.john&q=yyy&d=z) から初期ペイロード(DLL)を一時ファイル(3)としてダウンロードし、当該一時ファイルをさらに別の一時ファイル(4)に復号後、LoadLibrary() 関数 (5) によってロードします。
x86系システム上でこのペイロードは自身を%ALLUSERSPROFILE%\zlib1.dll (6)としてドロップし、mmc.exe を使ってUACをバイパス(7)した後、rundll32.exe (8)により自身を再実行します。x64系システム上では、iexplore.exeからメインロジックを直接実行します。
初期ペイロードのメインロジックは、感染したコンピュータの構成を送信し、先と同じ悪意のあるWebホスト(hxxp://windows-updater[.]net/dragon/config-donkey.php?inst=xxx&name=yyy)から2つ目のペイロードをダウンロードして(9)復号し、そのままメモリから反射的にロードします(10)。
残念ながら弊社では2つ目のペイロードのサンプルを入手できなかったため、こちらについては分析が行えませんでした。
Trapsがどのようにこの脅威を防止したか
パロアルトネットワークスの次世代エンドポイントセキュリティ製品 Traps™ Advanced Endpoint Protection は、何重ものマルウェア対策、エクスプロイト対策を提供してこうした複雑な脅威からお客様環境を保護します。
先の脅威が悪用していた数々のエクスプロイト テクニックは、Traps のエクスプロイト防御で防止されます。これに加え、機械学習によるローカル解析、WildFireとの統合により、攻撃の様々な段階で悪意のあるペイロードが実行されることを防止します。図1にはTrapsロゴが複数描かれていますが、これらのロゴが示しているのは、同脅威の侵害に対してTrapsがそれ以降の攻撃進行を阻止していたであろうと思われるポイントです。
何年も前にリリースされた古いバージョンのTrapsであっても、とくに設定を変更したりポリシーを更新したりする必要もなく、このエクスプロイトの実行を防止できていたはずです。
AutoFocusをお使いのお客様は、当該攻撃者グループをDarkHotelのタグで追跡できます。