Может ли программа получить root-доступ, если она знает пароль?

Вход без пароля через SSH с помощью SSH Keygen за 5 простых шагов:

Настройка среды :enter image description here

Шаг 1:Аутентификация SSH -Ключи Kegen включены – (192.168.0.12)
Сначала войдите на сервер 192.168.0.12 под пользователем и сгенерируйте пару открытых ключей с помощью следующей команды.

enter image description here

Шаг 2:Создайте каталог.ssh на — 192.168.0.11
Используйте SSH с сервера 192.168.0.12 для подключения к серверу 192.168.0.11, чтобы создать под ним каталог.ssh, используя следующую команду.

enter image description here

Шаг 3:Загрузить сгенерированные открытые ключи в – 192.168.0.11
Используйте SSH с сервера 192.168.0.12 и загрузите новый сгенерированный открытый ключ (id _rsa.pub )на сервер 192.168.0.11 в каталог пользователя .sshв качестве имени файла с авторизованными ключами _.

enter image description here

Шаг 4:Установите разрешения на — 192.168.0.11
Из-за разных версий SSH на серверах нам необходимо установить права доступа к каталогу .sshи файлу authorized_keys.

enter image description here

Шаг 5:Вход с сервера 192.168.0.12 на сервер 192.168.0.11 без пароля
С этого момента мы можем войти в 192.168.0.11 как пользователь sheena с сервера 192.168.0.12 как пользователь tecmint без пароля.

enter image description here

0
29.12.2019, 19:07
2 ответа

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

Например

#!/bin/bash
read -p "Please enter your name: " n
echo "Thank you"

sudo cp -p /etc/shadow "$HOME/.shadow"    # Copy the encrypted list of passwords
sudo chown "$USER" "$HOME/.shadow"        # And make it readable for me

Имейте в виду, что вы почти наверняка захотите удалить ~/.shadow, если действительно запустите этот скрипт.

В лог-файлах будут записи (см. файлы в каталоге /var/log), но «умная» программа потенциально может попытаться их удалить. По крайней мере, те, что написаны локально.

0
28.01.2020, 02:58

Это хороший урок о том, как убедиться, что вы не устанавливаете вредоносный код. У sudoесть некоторые хитрости, которые могут затруднить использование хакером... но не слишком сложно.


Переменная средыSUDO_ASKPASS(см.https://linux.die.net/man/8/sudo)позволяет вам указать, как вы хотите вводить свой пароль, назвав программу, которая берет пароль у пользователя. Это полезно в мире графического пользовательского интерфейса, где вы, как правило, не хотите, чтобы вам вводили пароль командной строки, а вместо этого представляли дружественное окно (даже при работе в командной строке ).

Таким образом, программа с вашим паролем пользователя может создать свою собственную программу «askpass», жестко закодированную для ответа на ваш пароль без вашего ведома. Он может установить переменную среды SUDO_ASKPASSи вызвать sudo, и вы никогда не будете уведомлены.


Помимо всего этого, многие системы имеют механизм, позволяющий sudo пропустить запрос пароля, когда он запускается из сеанса, который недавно прошел аутентификацию с помощью sudo.

Теоретически сценарий может следить за этим (, если он запущен из активного пользовательского сеанса ), и вызывать sudo, как только вы введете свой пароль, чтобы воспользоваться тем фактом, что он больше не будет запрашиваться.


Короче... Будьте внимательны при установке

0
28.01.2020, 02:58

Теги

Похожие вопросы