Этичный хакинг и тестирование на проникновение, информационная безопасность
Обход ограничения на запуск любых программ от root в Kali Linux
Для выполнения некоторых программ требуются повышенные привилегии – привилегии суперпользователя, права root. А некоторые программы наоборот – не хотят запускаться с повышенными привилегиями. Среди последних на вскидку я могу назвать VLC, Tor Browser, Google Chrome, Chromium.
Почему опасно запускать с root правами VLC, Tor Browser, Google Chrome, Chromium и т.д.?
Главное объяснение – меры безопасности. Например, в теории можно так сформировать медиа поток для VLC media player, что он будет каким-то образом угрожать вашей системе – например, позволит удалённо выполнить команду.
Аналогично с веб-браузерами – в них регулярно находят разные уязвимости, одна из этих уязвимостей может позволить выполнять команды или делать изменения на файловой системе, что, при наличии достаточных прав у веб-браузера, может привести к компрометации (взлому) системы пользователя, у которого он запущен.
Как Получит Права Супер Пользователя root | linux ubuntu обзор для начинающих
Безусловно, это правильные рассуждения, но насколько повыситься уровень угрозы при запуске пары дополнительных программ с правами суперпользователя в системе, где всё остальное (т.е. вообще всё, в том числе другой браузер и другой медиа проигрыватель), работают с правами root? На мой взгляд, это больше риторический, а не практический вопрос.
Насколько опасно работать в учётной записи пользователя root?
Во многих уважаемых источниках (веб-ресурсах, книгах) можно встретить мнение, что работа под root – это так плохо, что уже почти ппц. Это не просто плохо – это уже как в Windows. Также имеется расхожее мнение, что Linux – это какая-то неуязвимейшая система и вам ничего не угрожает, если вы работает под обычным пользователем (по крайней мере, там точно не нужен антивирус).
Обе эти позиции странные. Для выполнения команды, делающий файл исполнимым любым пользователем, не нужны права рута:
chmod +x /home/user/путь/до/файла
Для доступа к настройке автозапуска через crontab -e от имени обычного пользователя не нужны права root’а. Поэтому примерно следующая запись cron может добавить файл в автозагрузку с правами текущего пользователя:
Также не нужны права рута для записи в файл ~/.bashrc (это является примерным аналогом автозапуска, но срабатывает только при открытии консоли).
Одного перечисленного достаточно, чтобы установить на систему бэкдор, который будет принимать команды от удалённого атакующего и иметь доступ ко всем файлам пользователя, под которым сделан вход, а также доступ на чтение к некоторым файлам общесистемных настроек.
Само-собой разумеется, имея права суперпользователя можно скомпрометировать систему не только для текущего, но и для всех пользователей, увеличить скрытность (например, используя низкоуровневые методы подключения и туннелирования, методы руткитов для сокрытия и т.д.). Но если уж в веб-браузере есть дыра, позволяющая выполнять команды с правами обычного пользователя или иметь доступ к файловой системе с правами обычного пользователя, то возможна компрометация этого обычного (не root) пользователя. Даже если у него нет прав на выполнении sudo.
Установка Root-прав и настройка Magisk в 2022
Второй причиной, по которой рекомендуют использовать обычную учётную запись – невозможность навредить системе. Это действительно так. Но это супердостоинство, к сожалению, почти полностью нивелируется, если у пользователя всё-таки есть право использовать sudo. Могу показать на своём собственном примере, однажды я перепутал команду
rm -rf ~/bin/
rm -rf /bin/
Поскольку я был обычным пользователем, то система не дала мне выполнить вторую команду. Но в поддиректории bin, которая размещается в домашней папке, я запускал программы от суперпользователя. Я подумал, что какая-то из этих программ создала файл, на удаление которого у меня не хватает прав.
И перезапустил rm -rf /bin/ добавив к ней sudo. Понятно, что такая невнимательность стоила мне затраченного на переустановку системы времени.
Тем не менее, если вы считаете, что в Kali Linux работа под root’ом в приложениях опасна, то стоит задуматься о смене учётки root на обычного пользователя. Это автоматически разрешит проблему с запуском VLC, Tor Browser, Chromium и т.п. под учётной записью root.
1. Создание и работа под обычным пользователем в Kali Linux
Недостаток этого метода: перед многими командами, которые вы привыкли запускать без sudo, нужно будет добавлять это самое sudo.
Создание нового пользователя в Kali Linux:
useradd -m -G sudo -s /bin/bash new_user
Замените new_user на желаемое имя.
Установите для него пароль:
passwd new_user
Также замените new_user на выбранное ранее имя пользователя.
Перезагрузитесь и зайдите под только-что созданным пользователем.
Достоинством метода является раз и навсегда решение проблемы с программами, которые не хотят запускаться под рутом, а также возможность полноценного использования Cinnamon.
2. Обход ограничения запуска для любых программ в учётной записи root, запуская их от обычного пользователя
Linux позволяет вам запускать программы от имени других пользователей. Т.е. вы по-прежнему можете использовать учётную запись root, но делать запуск проблемных программ от имени обычного пользователя. Для этого создадим его:
useradd -m -G sudo -s /bin/bash new_user
Замените new_user на желаемое имя.
Далее действия очень схожие – установка программы, поиск пути до исполнимого файла, создание ярлыка. Поняв принцип, вы сможете применять этот метод для любой программы, которая не работает под рутом.
Как запустить файл.run от имени root?
Я скачал файл.run для драйвера Nvidia, но когда я запускаю его в терминале, он говорит мне, что он должен быть запущен от имени пользователя root.
Я полный нуб, и я даже почти не знаю, что такое root. Я думаю, что это где-то около админа в Windows.
Я получил файл для запуска, но оказалось, что драйвер не распознает мою карту. Я слышал о других проблемах с картами Nvidia, которые не работают с 64-битными версиями 12.04.
Daniel Richardson 31 май ’12 в 03:41 2012-05-31 03:41
2012-05-31 03:41
4 ответа
Вам нужно сделать две вещи; оба из терминала терминала:
- Перейдите в каталог, где у вас есть .run файл сохранен
- Тип: chmod 755 filename.run
- Тип: sudo ./filename.run
Вышеуказанные команды сделают файл исполняемым и запустят исполняемый файл с правами корневого уровня.
Justin Andrusk 31 май ’12 в 04:00 2012-05-31 04:00
2012-05-31 04:00
Добавьте команду «sudo» перед командой. Например: sudo blah.sh
После того, как вы введете свой пароль, команда запустится от имени пользователя root. Будьте внимательны, чтобы проверить надежность пакета или команды, прежде чем запускать его с помощью sudo.
notkevin 31 май ’12 в 03:59 2012-05-31 03:59
2012-05-31 03:59
root основной аккаунт в Ubuntu; каждая учетная запись имеет ограниченные привилегии, но root Аккаунт не имеет ограничений. Причина сокрытия root в том, что в большинстве случаев вам не нужен root-доступ. Аналог в Windows должен был бы проходить аутентификацию, когда вы хотите установить драйвер; в Ubuntu вы должны быть пользователем root или иметь права root.
Есть два способа получить доступ от имени пользователя root. Вы можете ввести:
sudo Ubuntu попросит вас ввести пароль и затем выполнит эту команду от имени пользователя root.
sudo su , где вы введете свой собственный пароль, а затем станете пользователем root (то есть вы войдете в систему как root).
Я предпочитаю последнее, потому что оно дает мне больше контроля; иногда недостаточно просто выполнить команду с правами root, но делать это таким образом может быть более опасно (то есть вы можете случайно нанести больший урон).
Я рекомендую попробовать первый способ. А потом попробую второй способ, если это не сработает. Просто убедитесь, что вы выходите из root после того, как закончите (т.е. наберите exit после того, как вы закончите делать то, что вам нужно сделать как root).
Источник: ask-ubuntu.ru
Запуск Dolphin и Kate с правами суперпользователя в KDE
Идею этого поста подкинул подписчик, который обратился по электронной почте с просьбой о помощи в решении следующей проблемы: нужно открывать системные папки и файлы для редактирования с правами суперпользователя посредством графического интерфейса KDE. Говоря проще, нужно иметь возможность запуска файлового менеджера Dolphin и текстового редактора Kate от имени суперпользователя.
В Linux Mint, например, возможность открытия папки или файла от root не вызывает сложности, достаточно открыть нужную папку от имени администратора, выбрав соответствующий пункт в контекстном меню.
Простой способ открыть папку от имени root в Linux Mint
В KDE такого пункта вообще нет, а если попробовать открыть Dolphin или Kate через sudo, то система скажет, что пользователь хочет слишком многого.
Запуск Dolphin при помощи sudo
Получается, что при работе с системным файлом через Kate документ откроется для редактирования, но при попытке сохранения изменений, запросит пароль суперпользователя.
Kate запрашивает пароль суперпользователя для сохранения изменений в файле hosts
Dolphin безо всяких проблем может перейти в системные папки, но совершать какие-либо действия там нельзя (например, копирование или удаление файлов, создание новых директорий).
Системная папка /etc открытая в Dolphin
Задача, поставленная подписчиком из разряда «не для всех», довольно специфическая. Но давайте попробуем решить ее, причем двумя способами: простым и сложным.
Напоминаю, что среди подписчиков канала Просто Код проходит розыгрыш! Подробности участия и описания призов можете найти по следующей ссылке (чтобы пост стал доступным нужно стать подписчиком!)
Конкурс на 1000 подписчиков на канале Просто Код Обещанный конкурс в связи с 1000 подписчиков на канале Просто Код объявляю открытым! Долго думал, как его организовать и провести, наконец мысли сошлись в единый паззл. Условия конкурса Принять участие могут только подписчики канала Просто Код, данный пост будет доступен только им. Так как Дзен не позволяет получать данные о подписчиках, то…
Просто Код | Все о Linux и Opensource 24 февраля
Используем учетную запись суперпользователя (простой способ)
Первый способ, который пришел мне в голову состоял в том, чтобы открыть терминал и там переключиться на суперпользователя при помощи команды su, после ввода которой система попросит root-пароль. Дальше можно запускать файловый менеджер и редактировать любые файлы через Kate. Ниже прикрепил демонстрацию того, как работает Dolphin и создания текстового файла от имени суперпользователя.
Запуск Dolphin от имени суперпользователя
Создаем копии Dolphin и Kate для запуска от root (сложный способ)
Второй способ состоит в создании копии файлов для запуска Dolphin и Kate с предоставлением этим файлов возможности запуска от имени суперпользователя. Для этого нам понадобится терминал и консольный текстовый редактор (в моем случае nano). Программы, которые пользователь запускает через меню приложений, хранятся по пути /usr/share/applications и имеют формат desktop. Если перейти по указанном пути и посмотреть содержимое папки, то увидим там, выражаясь простым языком, ярлыки для запуска нужных программ.
Содержимое директории /usr/share/applications
Нас интересуют два файла org.kde.dolphin.desktop и org.kde.kate.desktop. Их нужно скопировать по пути $HOME/.local/share/applications, где хранятся пользовательские ярлыки программ и при копировании изменить название. Воспользуемся соответствующей командой:
sudo cp org.kde.dolphin.desktop $HOME/.local/share/applications/org.kde.dolphin-root.desktop
sudo cp org.kde.kate.desktop $HOME/.local/share/applications/org.kde.kate-root.desktop
Копируем файлы в директорию с пользовательскими ярлыками
Теперь переходим в директорию, куда скопировали файлы и меняем их содержимое следующим образом:
- Меняем название приложений (Name) на такое, которое позволит понять, что оно запускается от суперпользователя (например DolphinRoot и KateRoot)
- В строке, где написано Exec заменяем то, что стоит после знака равенства на следующее:
- (для Dolphin) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch dolphin %u
- (для Kate) pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch kate -b %U
- По желанию можно изменить локализованное название приложения, найдя свой язык.
Редактируем скопированные ранее файлы
После сохраняем изменения, выходим из сеанса и заходим вновь. Теперь проверяем появились ли новые пункты DolphinRoot и KateRoot в меню приложений. В моем случае в меню приложении появились второй Dolphin и второй Kate. Так как использую новую версию Plasma, то возможно дело в том, что это какой-то небольшой баг обновленной версии кед.
Напишите в комментариях, если попробовали этот способ, как отображаются копии приложений у вас. При запуске root-версии приложений будут просить пароль суперпользователя. Чтобы иметь их всегда под рукой можно сделать ярлыки на рабочий стол и переименовать так, чтобы знать, что это приложения с root-доступом.
Обратите внимание, что в моем случае при добавлении ярлыков приложений на рабочий стол у Dolphin ярлык был назван верно.
Важное примечание!
Помните, что редактирование системных файлов от имени суперпользователя является опасным, особенно для новичков. Недаром разработчики запретили запуск файлового менеджера и текстового редактора с root-правами.
Делайте это только в том случае, если осознаете смысл совершаемых действий и последствия от них.
Подводим итоги
Может существуют другие способы запуска файлового менеджера или текстового редактора от имени суперпользователя неизвестные мне. Если это так и кому-то из подписчиков или читателей эти способы известны, то расскажите о них в комментариях.
Источник: dzen.ru