Может ли процесс отправлять нажатия клавиш или читать текст на/с tty, на котором выполняется su/sudo?

Давайте создадим и заполним этот файл.

Запустите эти команды от пользователя, которого вы будете запускать duplicity, например, отdataserver(Если ваш пользователь уже dataserver, пропустите первый шаг):

sudo -u dataserver -i
mkdir -m 0700 -p ~/.ssh
ssh-keyscan your-host.example.com >> ~/.ssh/known_hosts

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

1
06.02.2020, 09:34
1 ответ

Да, процесс может вводить ввод в tty черезTIOCSTIioctl. По крайней мере, в Linux на это распространяются некоторые ограничения,:пользователь должен быть root(CAP_SYS_ADMIN)или вводить данные в его управляющий tty .

Это все еще довольно опасно,и TIOCSTIбыл выпотрошен в таких системах, как OpenBSD, но его модель угроз обычно была обратной по сравнению с моделью из вашего вопроса :root должен был использоватьsu(или что-то еще )для запуска command как обычный пользователь, и эта команда могла вставлять ключи в управляющий tty, которым она поделилась со своей привилегированной вызывающей стороной. См. примеры здесь и здесь .

Конечно, это также может быть использовано с помощью biff(1)или какой-либо другой программы, работающей на том же tty, с которого был запущен su root, но это выглядит не так уж интересно :, если злоумышленник смог получить захват учетной записи в состоянии suили sudo, вероятно, есть более простые и приятные способы эскалации.

3
28.04.2021, 23:24

Теги

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