FireEye は最近、これまで公開されていなかった脆弱性である CVE-2017-0199 を悪用する悪意のある Microsoft Office RTF ドキュメントを検出しました。この脆弱性により、ユーザーがエクスプロイトが埋め込まれたドキュメントを開いたときに、悪意のあるアクターが PowerShell コマンドを含む Visual Basic スクリプトをダウンロードして実行することができます。 FireEye は、CVE-2017-0199 を悪用する Office ドキュメントを確認しており、さまざまな既知のマルウェア ファミリからマルウェア ペイロードをダウンロードして実行します。
FireEye は脆弱性の詳細を Microsoft と共有し、Microsoft による脆弱性に対処するためのパッチのリリースに合わせて一般公開を調整しています。
この脆弱性は、パッチが利用可能になる前にほとんどの軽減策を回避しました。ただし、FireEye の電子メールおよびネットワーク製品は、悪意のあるドキュメントを検出しました。 FireEye は、Microsoft Office ユーザーが Microsoftからパッチを適用することを推奨します。
攻撃シナリオ
攻撃は次の方法で発生します。
- 脅威アクターが、OLE2 埋め込みリンク オブジェクトを含む Microsoft Word 文書を標的のユーザーに電子メールで送信します。
- ユーザーがドキュメントを開くと、winword.exe がリモート サーバーに HTTP 要求を発行し、悪意のある HTA ファイルを取得します。
- サーバーから返されたファイルは、悪意のあるスクリプトが埋め込まれた偽の RTF ファイルです
- Winword.exe は、COM オブジェクトを介して application/hta のファイル ハンドラを検索します。これにより、Microsoft HTA アプリケーション (mshta.exe) が悪意のあるスクリプトをロードして実行します。
これらの攻撃を認めた最初のブログの前に FireEye が観察した 2 つの文書では、悪意のあるスクリプトが winword.exe プロセスを終了させ、追加のペイロードをダウンロードし、おとり文書をロードしていました。元の winword.exe プロセスは、OLE2link によって生成されたユーザー プロンプトを隠すために終了されました。図 1 は、このプロンプトを示しています。
ドキュメント 1 – (MD5: 5ebfd13250dd0408e3de594e419f9e01)
FireEye が最初に特定した悪意のあるドキュメントには、3 つの段階がありました。埋め込まれた OLE2 リンク オブジェクトにより、winword.exe は次の URL にアクセスして、ステージ 1 の悪意のある HTA ファイルをダウンロードします。
http[:]//46.102.152[.]129/template.doc
悪意のある HTA ファイルがダウンロードされると、「application/hta」ハンドラによって処理されます。図 2 の強調表示された行は、最初のダウンロードが行われたことを示しており、その後に追加の悪意のあるペイロードが続きます。
ダウンロードが完了すると、テンプレート ファイルはユーザーのインターネット一時ファイルに template[?].hta という名前で保存されます。ここで、[?] は実行時に決定されます。
ロジックバグ
Mshta.exe は、コンテンツ タイプ「application/hta」の処理、コンテンツの解析、およびスクリプトの実行を担当します。図 3 は、「application/hta」ハンドラーの CLSID のレジストリ値を照会する winword.exe を示しています。
Winword.exe が DCOMLaunch サービスに要求を送信すると、DCOMLaunch をホストする svchost.exe プロセスが mshta.exe を実行します。次に、Mshta.exe は、悪意のある HTA ドキュメントに埋め込まれたスクリプトを実行します。図 4 は、第 1 段階のダウンロードから難読化が解除された VBScript を示しています。
図 4 に示すスクリプトは、次の悪意のあるアクションを実行します。
- taskkill.exe を使用して winword.exe プロセスを終了し、図 1 に示すプロンプトを非表示にします。
- http[:]//www.modani[.]com/media/wysiwyg/ww.vbs から VBScript ファイルをダウンロードし、%appdata%MicrosoftWindowsmaintenance.vbs に保存します。
- http[:]//www.modani[.]com/media/wysiwyg/questions.doc からおとり文書をダウンロードし、%temp%document.doc に保存します。
- Microsoft Word が正常に再起動するように、Word バージョン 15.0 および 16.0 の Word Resiliency キーをクリーンアップします。
- 悪意のあるステージ 2 VBScript を実行します: %appdata%MicrosoftWindowsmaintenance.vbs
- おとりドキュメント %temp%document.doc を開いて、悪意のあるアクティビティをユーザーから隠します。
ダウンロードされた第 2 段階の VBScript (ww.vbs/maintenance.vbs) が実行されると、次のアクションが実行されます。
- 埋め込まれた難読化されたスクリプトを %TMP%/eoobvfwiglhiliqougukgm.js に書き込みます
- スクリプトを実行します
難読化された eoobvfwiglhiliqougukgm.js スクリプトは、実行時に次のアクションを実行します。
- システムから自分自身を削除しようとする
- http[:]//www.modani[.]com/media/wysiwyg/wood.exe のダウンロードを試み (最大 44 回)、ファイルを %TMP%dcihprianeeyirdeuceulx.exe に保存します。
- %TMP%dcihprianeeyirdeuceulx.exe を実行します。
図 5 は、イベントのプロセス実行チェーンを示しています。
このマルウェアで利用される最終的なペイロードは、LATENTBOT マルウェア ファミリの新しい亜種です。このマルウェアへの更新の追加の詳細は、ドキュメント 2 のウォークスルーに従います。
MD5 |
サイズ |
名前 |
説明 |
5ebfd13250dd0408e3de594e419f9e01 |
37,523 |
採用フォーム.doc |
悪意のある文書 |
fb475f0d8c8e9bf1bc360211179d8a28 |
27,429 |
template.doc/template[?].hta |
悪意のある HTA ファイル |
984658e34e634d56423797858a711846 |
5,704 |
www.vbs/maintenance.vbs |
ステージ 2 VBScript |
73bf8647920eacc7cc377b3602a7ee7a |
13,386 |
question.doc/document.doc |
おとり文書 |
11fb87888bbb4dcea4891ab856ac1c52 |
5,292 |
eoobvfwiglhiliqougukgm.js |
悪意のあるスクリプト |
a1faa23a3ef8cef372f5f74aed82d2de |
388,096 |
wood.exe/dcihprianeeyirdeuceulx.exe |
最終ペイロード |
15e51cdbd938545c9af47806984b1667 |
414,720 |
wood.exe/dcihprianeeyirdeuceulx.exe |
更新された最終ペイロード |
表 1: 最初のドキュメント ファイルのメタデータ
LATENTBOT ペイロード
最初のドキュメントに関連付けられているペイロードは、 LATENTBOT マルウェア ファミリの更新バージョンです。 LATENTBOT は、2013 年から出回っている高度に難読化されたボットです。
新しいバージョンの LATENTBOT には、Windows XP (x86) および Windows 7 オペレーティング システム用の異なるインジェクション メカニズムがあります。
- Attrib.exe パッチ– ボットは Attrib.exe を呼び出し、メモリ内のエントリにパッチを適用し、マップされたセクションに制御を移す JMP 命令を挿入します。 atrrib.exe のアドレス空間にセクションをマップするには、ZwMapViewOfSection() を使用します。
- svchostコード インジェクション– Attrib.exe は、svchost.exe プロセスを中断モードで開始し、領域を作成し、ZwMapViewOfSection() を呼び出してコードを割り当てます。
- 制御転送– 次に、SetThreadContext() を使用してプライマリ スレッドの OEP を変更します。この OEP はリモート プロセスで実行され、コードの実行をトリガーします。
- ブラウザ インジェクション– NtMapVIewOfSection() を使用して、最終的なペイロードをデフォルトの Web ブラウザにインジェクトするために、同様のプロセスが使用されます。
Windows 7 以降のオペレーティング システムでは、ボットは attrib.exe を使用しません。むしろ、コードを svchost.exe に挿入した後、NtMapViewOfSection() を利用して、悪意のあるペイロードでデフォルトのブラウザを起動します。
次に、この亜種は次のコマンド アンド コントロール (C2) サーバーに接続します。
C2 サーバーとの通信が成功すると、LATENTBOT はビーコンを生成します。復号化されたビーコンの 1 つは次のとおりで、バージョン番号は 5015 に更新されています。
分析の時点で、C2 サーバーはオフラインでした。このボットには、高度にモジュール化されたプラグイン アーキテクチャが付属しており、インフォスティーラーとして「ポニー」キャンペーンに関連付けられています。
2017 年 4 月 10 日現在、www.modani[.]com/media/wysiwyg/wood.exe でホストされているマルウェアが更新され、C2 サーバーは 217.12.203[.]100 に移動されました。
ドキュメント 2 – (MD5: C10DABB05A38EDD8A9A0DDDA1C9AF10E)
FireEye が特定した 2 番目の悪意のあるドキュメントは、2 つの悪意のある段階で構成されていました。初期段階では、次の URL にアクセスして、段階 1 の悪意のある HTA ファイルをダウンロードしました。
http[:]//95.141.38[.]110/mo/dnr/tmp/template.doc
このファイルは、ユーザーの一時インターネット ファイル ディレクトリに template[?].hta という名前でダウンロードされます。[?] は実行時に決定されます。ダウンロードが完了すると、winword.exe は mshta.exe を使用してファイルを解析します。 mshta.exe は、ファイル検索 <script> </script> タグを解析し、含まれているスクリプトを実行します。図 6 は、難読化が解除されたスクリプトを示しています。
図 6 は、次の悪意のあるアクションを示しています。
- taskkill.exe を使用して winword.exe プロセスを終了し、図 1 に示すプロンプトを非表示にします。
- http[:]//95.141.38[.]110/mo/dnr/copy.jpg から実行可能ファイルをダウンロードし、「%appdata%MicrosoftWindowsStart MenuProgramsStartupwinword.exe」に保存します。
- http[:]//95.141.38[.]110/mo/dnr/docu.doc からドキュメントをダウンロードし、%temp%document.doc に保存します。
- Word バージョン 15.0 および 16.0 の Word Resiliency キーをクリーンアップして、Microsoft Word が正常に再起動するようにします。
- 「%appdata%MicrosoftWindowsStart MenuProgramsStartupwinword.exe」で悪意のあるペイロードを実行する
- おとりドキュメント %temp%document.doc を開いて、悪意のあるアクティビティをユーザーから隠します。
悪意のあるペイロードを調査した結果、Microsoft がWingBirdと呼んでいる、FinFisher と同様の特徴を持つドロッパーの亜種であることが明らかになりました。このマルウェアは、分析を遅らせるカスタム VM など、いくつかの分析対策によって難読化されています。 「Artem」によるブログ投稿では、WingBird のペイロード ドライバーについて説明しています。ブログの著者は、このサンプルに一致するドロッパーの保護手法について簡単に言及しています。
MD5 |
サイズ |
名前 |
説明 |
c10dabb05a38edd8a9a0ddda1c9af10e |
70,269 |
СПУТНИК РАЗВЕДЧИКА.doc |
悪意のある文書 |
9dec125f006f787a3f8ad464d480eed1 |
27,500 |
テンプレート.doc |
悪意のある HTA ファイル |
acde6fb59ed431000107c8e8ca1b7266 |
1,312,768 |
copy.jpg/winword.exe |
最終ペイロード |
e01982913fbc22188b83f5f9fadc1c17 |
6,220,783 |
docu.doc/document.doc |
おとり文書 |
表 2: 2 番目のドキュメント メタデータ
結論
FireEye は、Microsoft Word の脆弱性である CVE-2017-0199 を確認しました。この脆弱性により、攻撃者は悪意のある Visual Basic スクリプトを実行できます。 CVE-2017-0199 の脆弱性はロジック バグであり、ほとんどの軽減策をバイパスします。悪意のあるスクリプトが実行されると、悪意のあるペイロードをダウンロードして実行し、おとりのドキュメントをユーザーに表示します。 2 つのドキュメントは、悪意のあるペイロードの実行を達成します。1 つは LATENTBOT を含み、もう 1 つは WingBird/FinFisher を含みます。悪意のあるドキュメントには、攻撃者が制御するサーバーへのリンクのみが含まれており、FireEye の MVX エンジンが多段階攻撃を検出する利点を示しています。パッチが利用可能になる前に、この攻撃を利用するキャンペーンがさらに確認されていますが、このブログでは取り上げていません。
Microsoft Office ユーザーは、できるだけ早くパッチを適用することをお勧めします。
了承
FLARE チーム、FireEye Labs チーム、および FireEye iSIGHT Intelligence の Michael Matonis、Dhanesh Kizhakkinan、Yogesh Londhe、Swapnil Patil、Joshua Triplett、Tyler Dean の各氏に感謝します。また、マイクロソフト セキュリティ レスポンス センター (MSRC) でご協力いただいたすべての皆様にも感謝いたします。
参考: https ://www.mandiant.com/resources/blog/cve-2017-0199-hta-handler
Comments