Windows 11, 10, etc - Вадим Стеркин
13.8K subscribers
279 photos
5 videos
8 files
1.04K links
Авторский канал. Windows, безопасность, мобильный мир:
• тайное знание
• профессиональный ликбез
• гадание по логам
• срыв покровов
• доставка пруфов

Чат: @winsiders
Блог: outsidethebox.ms
Oбратная связь: @vsterkin
Поддержать ₽: boosty.to/sterkin
Download Telegram
Интересная новость опубликована на OSZone: Disk Cleanup в Windows 10 позволяет обойти контроль учётных записей.

Она любопытна по нескольким причинам:

• PoC (Proof of Concept) базируется на том, что очистка диска копирует файлы DISM во временную папку. Это поведение я описывал почти три года назад. Такая вот #классика блога :)

• В новости приводится технический совет, который особо ничем не помогает, в связи с чем мне пришлось добавить примечание в конце.

• Уязвимость обнаружена в #UAC, который де-факто не является границей защищенной зоны. Потому Microsoft и не считает такое поведение уязвимостью.

Но да, я не считаю правильным копирование системных файлов в пользовательскую папку для последующего их выполнения 📍 Ведь они лежат в системной папке неспроста - туда нет прав на запись у обычного пользователя, с чьим токеном работает администратор при включенном UAC.
ℹ️ Microsoft не тестирует #Windows10 с отключенным контролем учетных записей

В блоге Криса Джексона (aka App Compat Guy), вчера появился пост, где в частности есть такая цитата (в моем вольном переводе):

Некоторые клиенты отключали UAC в Windows 7. Это было не лучшей идеей, потому что мы не так уж много тестировали такую конфигурацию [...] Windows 10 абсолютно не тестируется с отключенным UAC, и мы знаем множество ключевых сценариев, которые не будут работать, потому что мы такую конфигурацию не тестируем.

Вообще, ничего удивительного, но все-таки надо учитывать контекст публикации. В Microsoft Крис занимается совместимостью приложений, и не исключено, что говорил он только про свою епархию.

Действительно, в этом контексте отключение #UAC никакого смысла не имеет. Напротив, контроль учетных записей может исправить работу старых приложений за счет виртуализации файловой системы и реестра https://www.outsidethebox.ms/10034/#oldapps

В целом же, пост в блоге Криса посвящен запуску программы Desktop App Assure. В ее рамках Microsoft обещает бесплатно исправлять работу приложений, работавших в предыдущей версии Windows, но сломавшихся в последней версии Windows 10. Рекомендую материал к прочтению ИТ-специалистам, планирующим переход на Windows 10 с зоопарком старых LOB-приложений https://ift.tt/2ErGo5o
🔒 Новое в блоге: Нюансы отключения контроля учетных записей (#UAC)
https://www.outsidethebox.ms/19079/
​​🧩 Решение загадки про переключатели в Параметрах

Первый вопрос был "Из-за чего так сделано?" Ответ: из-за контроля учетных записей!

Если найти страницу, об этом можно легко догадаться, если у вас установлен верхний уровень контроля. Он призван всегда уведомлять, в т.ч. при изменении параметров Windows. В этом случае появляется запрос #UAC.

Со стандартным уровнем UAC это неочевидно, поэтому знание конкретной страницы не сильно помогает. На картинке был раздел Конфиденциальность, и там много страниц с таким же поведением.

🔒 Напомню, что в Windows Vista в панели управления приходилось одобрять все запросы, а в Windows 7 появились ссылки со щитом для автоматического повышения прав администратору (#классика блога Так ли страшен UAC? раскрывала этот аспект).

В параметрах Windows 8.х и #Windows10 на кнопках и ссылках нет щита, поэтому невозможно сказать заранее, понадобятся ли полные права для изменения той или иной настройки.

Более того, в данном случае у пользователя с обычными правами кнопка неактивна↓ Однако единства в этом вопросе нет. Так, на странице "Активация" при попытке изменить ключ продукта появляется запрос UAC, а на странице "О системе" кнопка переименования ПК отсутствует напрочь 🙉

Второй вопрос был "Почему сделано именно так?" Как я сказал, точный ответ мне неизвестен (например, в руководстве по дизайну UWP его нет).

Я полагаю, что вывод запросов UAC для переключателей не предусмотрен. Наверное, такое решение обусловлено философией UX, поскольку у переключателя нет промежуточного состояния для ожидания одобрения.
✌️
​​🔓 Любопытная и необычная уязвимость в #UAC

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

В диалоге UAC есть возможность просмотра сертификата, которым подписан исполняемый файл. Однако кнопка копирования сертификата в файл предусмотрительно заблокирована (иначе открылся бы проводник).

Тем не менее, исследователь выяснил, что в сведениях о сертификате при совпадении ряда условий поле Issued By может отображать гиперссылку на сайт компании, выпустившей сертификат. И эту функцию в контексте UAC отключить забыли! 🤦‍ Что и демонстрируется на картинке на примере древнего сертификата, которым подписан какой-то исполняемый файл Microsoft. Это позволяет запустить браузер с правами системы.

Поскольку здесь налицо повышение привилегий (EoP), уязвимость исправили в ноябре 2019 года. Но Microsoft не считает уязвимостями большинство способов обхода UAC. А их великое множество, и зачастую виновны различные исполняемые файлы в Windows. Отдельные продуктовые группы постепенно устраняют такие методы обхода, но не так быстро, как это делается в случае с уязвимостями.

ℹ️ Причина в том, что в контексте безопасности контроль учетных записей не является границей защищенной зоны (EN|RU), т.е. при запросе приложения на повышение прав диалог несет информационную нагрузку, а решение остается за пользователем.

Бонус: статьи с меткой UAC в блоге https://www.outsidethebox.ms/tag/uac/
🕙 Почему некоторые приложения не запускаются автоматически при старте системы и как это обойти

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

В #Windows10 ограничена автозагрузка программ, требующих при запуске права администратора. Я затрудняюсь объяснить причины этого решения†, но могу показать обходной путь.

Этому способу уже 10 лет, и он исторически применяется для запуска программ с полными правами без запроса #UAC через планировщик.

Задача планировщика настраивается на запуск с наивысшими возможными правами для конкретной учетной записи. Обычный аккаунт выше своего потолка прыгнуть не может, поэтому решение подходит только для учетной записи с правами администратора. Впрочем, они все равно нужны для запуска таких программ.

† Решил не разводить в посте, но из чата понял, что выглядит так, будто у меня нет идей:) На самом деле подоплека понятна: запросы UAC от этих программ при старте системы ухудшают UX. Однако UX с тихой блокировкой программ еще хуже, потому что такое поведение вообще непонятно пользователю.

Блокировка появилась вместе с UAC еще в Vista. Однако как напомнил Василий Гусев, тогда в трее появлялось уведомление о блокировке, из которого программу можно было запустить.

Теперь таких программ на порядок меньше, и решили просто тихо блокировать. Хотя ничто не мешало выводить сообщение в центр уведомлений, объясняя поведение системы. Почему это не сделали, я и затрудняюсь объяснить:)
✌️
​​👍 Edge Chromium приучает к работе с включенным #UAC

Показанное на картинке сообщение появляется при попытке настроить синхронизацию паролей и прочего с выключенным контролем учётных записей.

Кстати, стабильная версия, в отличие от Dev, без прав администратора не ставится, т.е. установочные файлы не падают в профиль. Что хорошо и правильно!

Соответственно, установка осуществляется в Program Files. Да, в папку x86, несмотря на 64-разрядную версию, но это уже фишка Chromium.
✌️
▶️ О выполнении команд и запуске приложений с обычными правами

Как выяснилось, без прав админа посмотреть разметку диска можно только в WMI - wmic, Get-WMIObject и Get-Disk, который смотрит туда же. Остальным инструментам нужны полные права.

🧩 С diskpart все просто - в консоли без прав администратора утилита запросит повышение. Интереснее дело обстоит с оснастками MMC - управление дисками (diskmgmt.mmc) и диспетчер устройств (devmgmt.msc). Если в административной учетной записи выполнить эти команды, втч в консоли с обычными правами, произойдет тихое автоматическое повышение прав до администратора. #Классика блога про #UAC в помощь: Так ли страшен контроль учетных записей?

👉 Однако даже для оснасток есть способ форсировать ограниченные права. В командной строке с обычными правами выполните:
set __COMPAT_LAYER=RunAsInvoker
а затем выполняйте там любые команды и приложения. Все они будут запущены с обычными правами. Потому что делающий это invoker - ваша учетная запись, которой выдан токен обычного пользователя.

Об этом рассказывает другая классика блога со странным названием Зачем программам нужны установщики. Тогда в комментариях Проничкин недоумевал, зачем вообще эта статья появилась на свет. А я с тех пор многократно ссылался на разделы про RunAsInvoker и устранение неполадок MSI в форуме и чате 👌

🛡 Управление дисками совсем не работает с ограниченными правами. Зато диспетчер устройств предупреждает, что трогать ничего нельзя, но можно посмотреть. В свойствах устройства обнаруживаются кнопки со щитом. При традиционном запуске в административном аккаунте их нет из-за автоповышения прав.

Интересно, что на вкладке "Тома" кнопка со щитом перезапускает с полными правами не всю оснастку. От имени администратора запускается только окно свойств оборудования. Да, его можно открыть отдельно:
DeviceProperties.exe "<Device Instance Path>"

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

Щит визуально свидетельствует о том, что компонент запущен без прав администратора. Также можно рассматривать вопрос и под углом уровней целостности. Это уже третья классика блога сегодня. Приятного чтения!

👍 - о, что-то новенькое!
👌 - я все это знаю