Почему мы считаем, что это плохо
Уязвимость позволяет получить только локальный доступ к данным, и то не ко всем, а лишь к тем, что открыты в приложениях и развернуты. Однако, это все равно довольно критично, поскольку:
- Используемые данные могут быть не сохранены на диск (например, редактируемый документ).
- Данные могут находиться в шифрованной домашней директории (например, файлик с паролями).
- Данные могут быть на шифрованной флешке.
- Данные могут требовать дополнительной авторизации (как в нашем PoC с KeePass).
Что произошло?
Утром следующего дня
разобрал мой ноутбук и вставил туда свой жесткий диск. Он открыл крышку и увидел вместо начала загрузки своей ОС окно входа в мою систему. Оно было кликабельно, и
начал вводить случайные пароли, однако, всё безуспешно. Расстроившись, он нажал на кнопку выключения, и тут произошло
чудо
Вместо перезагрузки компьютера был выполнен успешный вход в мою систему, а также были показаны последние открытые мной программы и документы. Стоит отметить, что документы не просто были показаны, они вполне себе работали! Можно было скроллить по документам и ходить по вкладкам браузера. c4n тут же скинул мне скриншот.
На самом деле скриншот был другой. Я, уходя с работы, не оставляю открытый KeePass и сайт компании.
На лицо локальная авторизация без пароля!
Когда я вышел из отпуска, мне стало интересно, что является виной этого явления, всегда ли воспроизводится и всегда ли воспроизводится одинаково, на всех ли системах воспроизводится.
Ubuntu – автоматический вход в систему без пароля
Если у вас на домашнем компьютере стоит Ubuntu, тогда вам, скорее всего, будет не нужен вход с паролем. Дома это особо не нужно, а зачастую ввод пароля при включении или пробуждении компьютера изрядно надоедает. Ниже я покажу, как можно убрать ввод пароля при включении компьютера с Ubuntu.
Заходим в настройки системы.
Переходим в учетные записи.
Жмем кнопку разблокировать, и вводим пароль пользователя.
И включаем автоматический вход.
Теперь при включении компьютера не нужно будет вводить пароль, но все еще нужно будет его вводить, после выхода компьютера из спящего режима. Что бы отключить ввод пароля при выходе из спящего режима Ubuntu, нужно вернуться на начальный экран настроек (все параметры), и перейти в настройки яркости и блокировки.
Здесь нужно убрать галку с пункта — Требовать пароль при выходе из спящего режима, а так же если вы хотите что бы экран в принципе не блокировался (т. е. что бы при пробуждении компьютера вы сразу попадали на рабочий стол, минуя выбор пользователя), нужно отключить пункт — заблокировать.
После этого у вас может случиться, что иногда будет выскакивать надоедающее окно разблокировки связки ключей.
О том как от этого избавиться я уже писал в статье – Как избавиться от окна разблокировки связки ключей в Ubuntu.
Видео по теме:
Автоматический вход ubuntu — включение через параметры
- Откройте меню «Параметры» > «Сведения о системе»
- Выберите пункт «Пользователи»
- Разблокируйте меню для внесения изменений, а после активируйте «Автоматический вход»
Теперь Ubuntu не будет запрашивать пароль, а сразу войдет в вашу учетную запись.
Автоматический вход ubuntu — включение через терминал
Откройте терминал и введите команду для редактирования файла конфигурации:
sudo nano /etc/gdm/custom.conf
или
sudo nano /etc/gdm3/custom.conf
Для того чтобы точно узнать какую команду выполнить, для начала введите в терминал:
ls /etc
и посмотрите в выводе, какая папка у вас в системе — gdm или gdm3.
Вводим команду, для редактирования файла конфигурации (указана в самом начале) и вносим изменения.
Раскомментируйте строки (или найдите строки):
Автоматический вход в gdm
Для включения автоматического входа с GDM, добавьте в файл /etc/gdm/custom.conf
sudo gedit /etc/gdm/custom.conf
следующие строки (замените имя_пользователя на ваше собственное имя в системе):
# Включение автоматического входа для пользователя [daemon] AutomaticLogin=имя_пользователя AutomaticLoginEnable=True
Автоматический вход в lightdm
Для автоматического входа в LightDM откройте конфигурационный текстовый файл /etc/lightdm/lightdm.conf:
sudo gedit /etc/lightdm/lightdm.conf
Найдите там раздел [Seat:*] (или может называться [SeatDefaults]), а в этом разделе две закомментированные строки:
Включаем автоматический вход
Когда ОС загрузилась, необходимо зайти в настройки учетных записей. Самый короткий путь — тапнуть на пункт меню Параметры учетных записей:
Нажимаем на кнопочку Разблокировать, это та, которая рядом с замочком, и вводим пароль, чтобы система понимала, кому она себя доверяет.
Ну и финальное деяние — легким движением пальца клацаем на переключатель с надписью Автоматический вход.
Вот и вся магия. Перезагружаемся, ждем загрузки и радуемся. Надеюсь, что материал решил Вашу проблему с загрузкой Ubuntu 18.04 после обновления.
Включение/отключение автоматического входа в систему через gui
Можно позволить/запретить автоматический вход в систему для себя или для любого другого пользователя Ubuntu через графический интерфейс следующим образом:
Нажмите направленную вниз стрелку, расположенную на верхний правый угол Вашего экрана Ubuntu, и затем нажмите Ваше имя пользователя. Следующие опции будут отображены:
Выберите опцию Account Settings.
Следующее Пользовательское диалоговое окно откроется. Так как необходимо быть суперпользователем для конфигурирования этих настроек, кнопка Automatic Login будет отключена по умолчанию. Нажмите на кнопку Unlock, расположенную в верхней правой стороне диалогового окна для включения этой кнопки.
Предоставьте подробную информацию аутентификации через следующее диалоговое окно и нажмите Authenticate:
Можно теперь переключить кнопку Automatic Login на ПРОЧЬ или НА в зависимости от того, хотите ли Вы включить или отключить автоматическую запись пользователя в.
При перезапуске компьютера процедура аутентификации входа в систему будет зависеть от выбора, который Вы сделали здесь.
Путем выполнения простых шагов описал в этом учебном руководстве, можно позволить/запретить автоматическое средство входа в систему для себя или для других пользователей (как администратор). Таким образом, можно установить доступ безопасности к компьютеру в зависимости от потребностей.
Всегда ли воспроизводится и всегда ли одинаково?
Наши эксперименты начались с Ubuntu 16.04. Действия были следующие:
- Отправляем компьютер в спящий режим.
- Вынимаем жесткий диск.
- Выводим компьютер из спящего режима.
Дальше, как оказалось, может быть несколько вариантов поведения системы:
- Компьютер показывает окно входа, вводим случайный пароль => видим окна пользователей перед слипом (все окна рабочие).
- Компьютер показывает окно входа, вводим случайный пароль => система говорит, что пароль неверный => однократно нажимаем кнопку питания => видим окна пользователей перед слипом (все окна рабочие).
- Компьютер показывает черный экран (по нему бегает курсор), нажимаем случайные клавиши и Enter => видим окна пользователей перед слипом (все окна рабочие).
- Компьютер показывает черный экран (по нему бегает курсор), нажимаем случайные клавиши и Enter => ничего не происходит => однократно нажимаем кнопку питания => видим окна пользователей перед слипом (все окна рабочие).
Скорее всего, пункты 3-4 аналогичны пунктам 1-2, просто по каким-то причинам графика не отрисовывает окно входа в систему.
Как мы пишем в ubuntu
Чтобы завести багу, нам пришлось зарегистрироваться на
, затем создать описание баги и добавить видео с PoC. Мы получили 406 очков рейтинга и значок костра (что бы это ни значило). Стали ждать. Баг мы завели 2022-06-18.
После длительной переписки товарищ Marc Deslauriers закончил нашу полемику сообщением, суть которого сводилась к: «Мы ничего исправлять не будем. Это то же самое, что иметь физический доступ».
Попытки переубедить не увенчались успехом. Нас отправили в тотальный игнор на неделю. После чего нам дали разрешение публиковать данное исследование:
UPD: 9 июля 2022 года, в 16 часов мы решили сделать багу публичной (спасибо amarao). В обсуждении на launchpad багу подтвердили для Mate 18.04, а не только для Unity. Также сообщество настаивает, что бага существует и её не стоит игнорировать.
Как узнать какой используется менеджер отображения
Для этого выполните команду:
systemctl status display-manager.service
Будет выведена примерно следующая информация:
На всех ли системах воспроизводится?
Условием тестирования было наличие всех последних обновлений на системе. Зачем нам бага, которую давно закрыли?
Для начала было решено проверить воспроизводится ли баг на обычных ПК (не ноутбуках) с Ubuntu 16.04 с Unity. Была теория, что показ окон может быть как-то связан с видеокартой. Поэтому проверка осуществлялась с ПК как с интегрированной, так и с дискретной видеокартой, во всех случаях результат был один и тот же – бага отлично отрабатывает.
Дальше была взята Ubuntu 16.04 с GNOME. И тут нас ждало разочарование: бага не отрабатывала. Иногда, при выходе из слипа, система на полсекунды показывала последние окна (вполне реально заснять на видео), про это исследователи сообщили ещё в 2022 году, и она не закрыта до сих пор.
Дальше мы взяли Arch с Wayland и Xorg — разочарование, не работает. Debian 9 c GNOME и опять разочарование. Также не отработало на новой Ubuntu 18.04 — не удивительно, ведь к этому времени мы уже стали подозревать, что проблема в Unity. Поэтому решили для последних тестов взять Ubuntu 14.
04, а еще посмотреть, что произойдёт с Ubuntu 18.04, если поменять оконный менеджер с GNOME на Unity. На Ubuntu 14.04 все хорошо отработало (хотя время жизни окон было значительно меньше, чем на 16.04). На Ubuntu 18.04 с Unity после выхода из слипа система сразу падает, и никакие эксперименты дальше провести нельзя.
Вывод: мы решили, что уязвимы версии Ubuntu с нативно установленной Unity, т.е. версии
Довольно внушительный список, не правда ли? Мы протестировали далеко не все. Если у кого-то есть возможность проверить на других версиях, которые мы не проверяли, с радостью добавим в пост.
Настройка автоматического входа в xfce
Рассмотрим вариант включения автоматического входа, когда рабочим столом является XFCE, а менеджер отображения — LightDM.
Откройте файл /etc/lightdm/lightdm.conf и отредактируйте (не забудьте раскомментировать) или просто добавьте строки:
Настройка входа без пароля
Если вы ходите, чтобы запрос ввода пароля не появлялся в GDM, тогда добавьте следующую строку в начало файла /etc/pam.d/gdm-password:
Не загружается ubuntu 18.04
Собственно, не буду много разглагольствовать, проблема,а вернее зависание, при загрузке кроется в том, что Ubuntu не может выдать экран авторизации. Решением данной проблемы является включение авторизации пользователя. Но как, если ОС даже не догружается?
Всё просто! При загрузке компьютера, когда пронаблюдали заставку производителя, жмем на клавиатуре Shift. Это запустит загрузочное (бутовое) меню. В меню выбираем вашу версию с припиской recovery mode в скобочках, т.е. загрузку в режиме восстановления. Обычно это второй пункт в списке.
После выбора и нажатия Enter компьютер что-то там шерстит, показывает кучу буковок и, в итоге, выдает подменю режима восстановления. Выбираем первый пункт — Resume , снова жмем Enter и ждем пока перед нами появится рабочий стол ubuntu.
Предуведомление:
это ответ непосредственно на вопрос, а автору вопроса, судя по содержанию комментариев, требуется совсем-совсем другое — выяснить, по какой причине у него не выполняется скрипт /etc/rc.local. но это абсолютно другой вопрос.
Причины
Как оказалось, виной данного явления было то, что при закрытии крышки мой ноутбук уходил не в гибернацию, а в сон (т.е. оставлял питание на оперативной памяти), а после открытия крышки в оперативной памяти оставалась загруженная ОС и последние файлы, с которыми я работал.
Почему удаётся пройти авторизацию, для нас осталось загадкой. Мы грешим на работу модулей PAM (Pluggable Authentication Modules), которые, вероятнее всего, не находятся в оперативной памяти, а Ubuntu 16.04 неправильно обрабатывает их отсутствие, но потом поняли, что проблема в чём-то другом.