Форум программистов, компьютерный форум, киберфорум
_lunar_
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Прогулка по Рабочему столу Winlogon. Часть 2: Привет, друг

Запись от _lunar_ размещена 08.06.2021 в 01:52
Показов 4565 Комментарии 2
Метки c, c++, winapi

Прогулка по Рабочему столу Winlogon. Часть 1: UAC

Когда ребята из Microsoft создавали экран приветствия, где пользователь должен ввести логин и пароль,
наверняка они хотели изобрести что-то мощное, что не дало бы не единого шанса на обход пароля и перехода к обычному Рабочему столу.
И всё бы ничего, но один эксплойт они проглядели. Давайте разбираться.

Что же такое экран приветствия? На этот вопрос нам поможет ответить всё тот же KernelExplorer
Всё что мы видим на экране монитора в ОС семейства Windows есть ничто иное как Рабочий стол.
Это и обои, и заставки, и черный экран терминальной сессии, и даже экран приветствия.
Но если экран приветствия это Рабочий стол, то что это за Рабочий стол? Как он называется?
Всё просто - это Рабочий стол Winlogon. Да, тот самый, который ОС создаёт первым, а уже затем создаётся Рабочий стол Default.

Здесь стоит сделать небольшое отступление, и рассказать про функционал экран приветствия.
На данном Рабочем столе Winlogon отключено практически всё:
- не работает механизм переключения между Рабочими столами (SwitchDesktop) ни при каких правах (будь то даже система)
- не работает функционал быстрого скриншота PrintScreen и самого копирования (в буфер обмена не передаются данные, хотя у Рабочего стола Disconnect с этим всё в порядке)
- очень странно себя ведут некоторые оконные программы (здесь стоит сделать акцент на то, что этот стол изначально не предназначался для GUI)
И ещё много всякой мелочи, которая усложняет анализ происходящего.
А ведь как было бы просто взять функцию SwitchDesktop и перейти с Winlogon на Default, не вводя пароль от учетной записи.

Давайте запустим KernelExplorer на рабочем столе Winlogon (как мы это делали в первой части).
Для этого в меню выбираем Инструменты -> Сменить Рабочий стол -> Перейти на Рабочий стол Winlogon
Через утилиту управления UI0Return запустите KernelExplorer.
Не закрывайте KernelExplorer и вернитесь на Рабочий стол Default: кнопка Переключиться между Рабочими столами.

Для чистоты эксперимента я установил пароль для своей учетной записи
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 913
Размер:	192.6 Кб
ID:	7014
Чтобы его скинуть достаточно будет запустить командную строку от имени администратора и ввести net user имя_учетки ""

Заблокируем компьютер (клавиши Win+L) и попробуем ввести неправильный пароль (как-будто мы его не знаем)
Нажмите на изображение для увеличения
Название: 2.JPG
Просмотров: 753
Размер:	429.8 Кб
ID:	7015
После чего увидим обычное предупреждение о неправильном пароле.

Теперь нажмите клавиши Alt+Tab и перейдите к окну KernelExplorer.
Забавно да, мы на экране приветствия уже можем управлять компьютером (в частности запустить Explorer++ для исследования жесткого диска без ведома пользователя).
Но куда более интереснее всё же попытаться перейти на Рабочий стол Default без ввода пароля.

И вот он наш эксплойт
Нажмите на изображение для увеличения
Название: 3.JPG
Просмотров: 940
Размер:	564.6 Кб
ID:	7016
Как мы помним просто переключить Рабочий стол нельзя, но переход с экрана приветствия в терминальную сессию никто не отменял.
Остаётся лишь в меню выбрать Инструменты -> Перейти в терминальную сессию -> Оконная станция WinSta0
А затем просто нажать кнопку Вернуться в сессию пользователя и перейти на Рабочий стол Default.

Я вас поздравляю, мы только что обошли пароль от учетной записи.
Да, есть определенные ограничения (нужны права админа и т.д.), но сам факт того, что этот бекдор доступен и его можно использовать, на лицо.
Метки c, c++, winapi
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 2
Комментарии
  1. Старый комментарий
    OEM-утилитки управления звуком, док-станцией и т.п. изредка вываливали свои окошки на "чужие" Desktop'ы.
    Запись от politoto размещена 08.06.2021 в 12:44 politoto вне форума
  2. Старый комментарий
    А почему я раньше твой блог не читал
    Запись от anomal6 размещена 29.03.2022 в 09:12 anomal6 вне форума
 
Новые блоги и статьи
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru