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

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

ストーリー 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

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

  • by Anonymous Coward on 2016年07月28日 14時07分 (#3054390)

    タスクが起動するプログラムは「cleanmgr.exe」だが、実行時に「DismHost.exe」および関連するDLLを「%TEMP%\」フォルダーにコピーし、最上位の特権でDismHost.exeを起動する。

    腹かかえて笑ったわ。
    /tmpに自らをコピーしてroot権限で実行とかマルウェアかよ。

    そもそも今時/tmpとかnoexecが常識でしょ。
    *nixならrootで実行しようが即Permission deniedで落とされてるレベル。

    しかしそこはさすがWindows。ブレない。
    この公式マルウェアの挙動を修正しないばかりか、『セキュリティ脆弱性ではない』とのお達し。
    無論、/tmpをnoexecにしとくなど以ての外。
    さすがwwwww

    ここに返信
typodupeerror

身近な人の偉大さは半減する -- あるアレゲ人

読み込み中...