Windows 10のディスククリーンアップ自動実行機能を利用してUACをバイパスする方法

2016年7月28日 21:02

印刷

記事提供元:スラド

headless 曰く、 Windows 10のディスククリーンアップ自動実行機能に対するDLLハイジャックによりUACをバイパスする方法を、セキュリティ研究家のMatt Nelson氏とMatt Graeber氏が発見したそうだ(Nelson氏のブログ記事Softpedia)。

 DLLハイジャックでUACをバイパスする方法の多くは、ファイルの置き換えなどで特権が必要となる。しかし、ディスククリーンアップ自動実行機能を利用する方法では、標準ユーザーの権限でファイルを置き換え可能だという。

 ディスククリーンアップの自動実行はタスクスケジューラの「Microsoft\Windows\DiskCleanup」に「SilentCleanup」として登録されており、最上位の特権で実行される。タスクが起動するプログラムは「cleanmgr.exe」だが、実行時に「DismHost.exe」および関連するDLLを「%TEMP%\」フォルダーにコピーし、最上位の特権でDismHost.exeを起動する。

 しかし、コピー先フォルダーの内容を書き換えるのに特権は必要ない。DismHost.exeはフォルダー内のDLLを特定の順番で読み込んでいくため、コピー先フォルダーの生成をWMIイベントで監視し、DLLを置き換えることでDLLハイジャックが可能となる。調査の結果、「LogProvider.dll」が最後に読み込まれる(時間に余裕がある)ことが判明しており、このファイルをターゲットとしたPoCがPowerShellスクリプトで作られている。このスクリプトはGitHubで入手可能だ。なお、「標準」ユーザーアカウントではファイルのコピーが実行されず、タスクも最上位の特権で実行されることはないそうだ。Windows 10以外のWindowsバージョンにも適用されるのかどうかについては言及されていない。

 この手法については7月20日にMicrosoftに報告しているが、MicrosoftではUACをセキュリティの境界とみなしていないため、セキュリティ脆弱性ではないとの回答があったとのこと。そのため、Nelson氏は緩和策としてタスクを無効化するか、「最上位の特権で実行する」オプションを無効にすることを推奨している。

 スラドのコメントを読む | セキュリティセクション | セキュリティ | Windows

 関連ストーリー:
Microsoft、Windows 7/8.1でもユーザーからのデータ収集を強化? 2015年09月04日
GoogleのリサーチャーがWindows 8.1の未修正の脆弱性を公開 2015年01月04日
WindowsのOLEに脆弱性、外部から任意のコードが実行される可能性 2014年10月17日
Windows 8、過去6か月に検出件数の多かったマルウェアの15%をブロックできず 2012年11月11日

※この記事はスラドから提供を受けて配信しています。

関連記事