一个不以 root 身份运行的应用程序是否可以将击键发送到终端应用程序?

一个不以 root 身份运行的应用程序是否可以将击键发送到终端应用程序?

我使用Ubuntu Linux。假设我不小心下载了一个能够记录击键的恶意程序。因此,现在这个程序可以访问我的 sudo 密码。现在,这个程序可以以 root 访问权限运行其他程序吗?例如,它是否可以向终端应用程序发送 sudo 命令,并且当提示输入密码时,是否可以通过模拟发送到终端应用程序的按键来发送我的密码?

答案1

是的,您可以使用伪终端来做到这一点。这就是 SSH 服务器、GNU 屏幕和所有 GUI 终端仿真器等程序向它们运行的​​程序提供终端的方式。

使用screen,您可以自己测试一下,这有点简单:启动一个screen会话,然后运行screen -X 'sudo id\nsecretpassword\n'(从该 内部或外部screen)。

您将看到该命令及其输出出现在screen会话中:

$ sudo id
[sudo] password for ilkkachu:
uid=0(root) gid=0(root) groups=0(root)
$

相关内容