パスワードを忘れた? アカウント作成
12858613 story
Windows

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

ストーリー by hylom
隙を見て置き換える 部門より
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氏は緩和策としてタスクを無効化するか、「最上位の特権で実行する」オプションを無効にすることを推奨している。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2016年07月28日 13時49分 (#3054379)

    UACの枠外じゃ
    あくまでもインタラクティブ要素

    • by Anonymous Coward on 2016年07月28日 13時52分 (#3054382)

      タスクマネージャーとタスクスケジューラの区別もつかねえのかお前は

      親コメント
      • by Anonymous Coward

        ほら新しいタスクの実行とかありますから。
        タスクマネージャを何とかして権限が強力なアカウントとして実行してそこから新しいタスクを実行すれば…

  • by Anonymous Coward on 2016年07月28日 16時10分 (#3054470)

    >実行時に「DismHost.exe」および関連するDLLを「%TEMP%\」フォルダーにコピーし、最上位の特権でDismHost.exeを起動する。

    なんか必要性があるのか?

  • by Anonymous Coward on 2016年07月29日 6時57分 (#3054817)

    でも「設定」の手抜きぶりからして、もうMicrosoftは標準ユーザーで使わせることをあきらめたようにしか思えないんだよなあ。
    標準ユーザーでのコンパネの出来はVista/7の時代が最高だった。

typodupeerror

ソースを見ろ -- ある4桁UID

読み込み中...