В компоненте Поиск Windows нашли уязвимость нулевого дня

В компоненте Поиск Windows нашли уязвимость нулевого дня

В компоненте Поиск Windows нашли уязвимость нулевого дня

Новая уязвимость нулевого дня (0-day) в компоненте Поиск Windows (Windows Search) позволяет злоумышленники открыть окно, содержащее хранящиеся удалённо исполняемые файлы вредоносных программ. Для эксплуатации достаточно запустить документ Word.

Проблема кроется в обработке URI-протокола “search-ms“, который позволяет приложениям и HTML-ссылкам запускать настраиваемый поиск на устройстве. Чаще всего поисковые запросы «обращаются» внутрь устройства, однако Поиск Windows можно заставить запросить общие файловые ресурсы, расположенные на удалённых хостах. Для этого применяются кастомные заголовки.

Например, популярный набор утилит Sysinternals позволяет пользователю удалённо подключить live.sysinternals.com как сетевую шару, после чего запускать инструменты оттуда. В подобной схеме может использоваться следующий URI “search-ms“:

search-ms:query=proc&crumb=location:%5C%5Clive.sysinternals.com&displayname=Searching%20Sysinternals

Как видно из запроса, переменная “crumb“ определяет местоположение, а другая переменная — “displayname“ — устанавливает поисковой заголовок. В системах Windows 7, Windows 10 и Windows 11 можно вызвать окно поиска с помощью команды в Run или запуска в строке веб-браузера.

Есть и проблема такого метода эксплуатации: потенциальную жертву будет достаточно сложно заставить перейти по соответствующей ссылке, учитывая, что браузер выводит предупреждение.

 

Тем не менее основатель Hacker House и исследователь в области кибербезопасности Мэтью Хики нашёл способ задействовать брешь OLEObject в Microsoft Office вместе с “search-ms“, что в итоге позволило ему открыть окно удалённого поиска с помощью Word-документа.

Напомним, что другую 0-day в Microsoft Office начали использовать китайские киберпреступники из APT-группы TA413.

Windows хранит скрытые данные о доступе приложений к камере и микрофону

Windows ведёт подробный учёт приложений, которые обращались к камере, микрофону, геолокации и другим возможностям компьютера. В настройках пользователю показывают лишь краткий список недавней активности, а самое интересное система складывает в реестр. Данные находятся в разделе ConsentStore.

Там можно узнать, какое приложение получало доступ к оборудованию, когда именно начался и закончился последний сеанс и сколько времени он продолжался.

Отдельно Windows записывает дату выдачи разрешения и его текущий статус — Allow или Deny.

Правда, просто открыть редактор реестра и почувствовать себя цифровым детективом не получится. Временные метки хранятся в формате FILETIME — в виде количества 100-наносекундных интервалов, прошедших с 1 января 1601 года.

Привести данные в человеческий вид позволяет скрипт PowerShell. Он проверяет разделы ConsentStore, преобразует временные метки и выводит таблицу с названием приложения, типом разрешения, временем последнего обращения и продолжительностью сеанса.

$root = "HKCU:\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore"
$results = Get-ChildItem $root | ForEach-Object {
    $medium = $_.PSChildName
    Get-ChildItem $_.PSPath -Recurse | ForEach-Object {
        $props = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
        if ($props.LastUsedTimeStart -and $props.LastUsedTimeStop -and
$props.LastUsedTimeStart -ne 0) {
            $start   =
[datetime]::FromFileTimeUtc($props.LastUsedTimeStart).ToLocalTime()
            $stop    =
[datetime]::FromFileTimeUtc($props.LastUsedTimeStop).ToLocalTime()
            $granted = if ($props.LastSetTime) {
                [datetime]::FromFileTimeUtc($props.LastSetTime).ToLocalTime()
            } else {
                $null
            }
            [PSCustomObject]@{
                Medium              = $medium
                App                 = $_.PSChildName
                PermissionGrantedOn = $granted
                LastUsedStart       = $start
                LastUsedStop        = $stop
                Duration            = $stop - $start
            }
        }
    }
}

Для проверки системных разрешений потребуется изменить путь с HKCU на HKLM и запустить PowerShell от имени администратора.

У журнала есть важное ограничение: Windows сохраняет только последнее обращение каждого приложения, а не полную историю. Кроме того, дата выдачи разрешения не означает, что именно тогда программа впервые воспользовалась камерой или микрофоном.

Тем не менее проверка способна преподнести сюрпризы. Автор исходного материала, например, обнаружил, что EA Sports FC 26 использовала его микрофон около 40 минут, хотя он не помнил, чтобы разрешал игре это делать.

Если в списке нашлась подозрительная программа, ей можно запретить доступ к соответствующему компоненту или удалить её.

RSS: Новости на портале Anti-Malware.ru