MS14-064脆弱性を利用してXP IE8でコードを遠隔実行させる [Metasploit]
Metasploitを使い、MS14-064(CVE-2014-6332)脆弱性を利用してWindows XPのInternet Explorer 8でコードを遠隔実行させてみます。攻撃者が用意したWebページに誘うだけで任意のコードを実行させることができます。
テスト環境
ホスト(攻撃実行者)は仮想マシン上のWindows Server 2016 TP5。クライアント(攻撃対象者)はWindows XP SP3 + IE 8です。XPはサポート終了までの全てのセキュリティ更新プログラムを適用済み、IE8は2014年5月2日に公開された最後のセキュリティ更新プログラム KB2964358 を適用してあります。
今回は『MS14-064(CVE-2014-6332) Windows OLE の脆弱性により、リモートでコードが実行される』の脆弱性を利用します。この脆弱性自体はInternet Explorer 3.0以降11までの全てのバージョンに存在します。2014年12月に公開されたセキュリティ更新プログラムでようやく修正されたものです。Windows 8.1までの全てのWindowsのInternet Explorerが当てはまります。XPではサポートが終了しているため修正されていません。
Metasploitという脆弱性の診断に利用できるツールがあるのでこれを使用します。標準でインストールされるms14_064_ole_code_executionというモジュールを使うことでこの脆弱性を突くテストを実施することができます。このモジュールはWindows XPまたはWindows 7を使用するクライアントPCに対して有効です。
実施方法
ホストでMetasploit Consoleを起動。use exploit/windows/browser/ms14_064_ole_code_execution
を実行。show options
やset
コマンドを利用して実行オプションを指定し、exploit
コマンドでサーバーを稼働させます。
攻撃対象に見立てたクライアントPCからサーバーの指定URLにアクセスしてみます。これは実際にはスパムメールや悪意のあるWebサイト、改変されたWebページのリンクなどから誘導されるのでしょう。
するとESET Smart Security(市販のセキュリティソフト)の保護に阻まれて接続が遮断され、ページにアクセスできませんでした。
ESET Smart Securityの設定画面を開いてWebアクセス保護を無効にし、再度ページにアクセスしてみます。
今度はWSHから「スクリプトファイル何某が見つかりません」というメッセージと、ESET Smart Securityからファイル(トロイの木馬)が削除されたというメッセージが出ました。
ページにアクセスしてVBS(スクリプトファイル)がダウンロードされた時にセキュリティソフトがそれを検出・削除したようです。このVBSが実行されると、攻撃者が作成した実行可能プログラムファイルがローカルに作成されるようになっています。
さらにESET Smart Securityのリアルタイムファイルシステム保護を無効にしてみます。今度はページが白紙のまま読み込みが完了しました。ただ、ホストの方で何の反応もありませんでした。本来ならホストから任意のシステムコマンドを遠隔実行できるようになるはずなので、下準備がよくなかったのかもしれません。
ただ、Process Monitorで監視してみるとプログラムの実行を確認することができました。
wscript.exeが起動した後にntvdm.exeが起動しています。VBSに組み込んでいたコードは(見かけ上)MS-DOSアプリケーションであるため、NTVDMが起動したことと辻褄が合います。
今回は攻撃の結果を直接確認することはできませんでしたが、攻撃者が作成したプログラムが遠隔で実行されるところまでは確認することができました。
未だにサポートが終了したWindows 2000やWindows XPとInternet Explorerでサイトにアクセスされる方を見かけますが、その方達は危険性を理解した上で利用されているのでしょうか。こういった欠陥はWindowsやIEだけでなくFlash PlayerやJavaでも度々発見されているので、これらのソフトウェアも最新のバージョン以外を継続して使うべきではありません。