进程能否向运行 su/sudo 的 tty 发送击键或读取文本?

进程能否向运行 su/sudo 的 tty 发送击键或读取文本?

su我需要一些有关运行/的 *nix 平台上可能的攻击向量的信息sudo

恶意进程是否可以等待用户运行susudo然后以某种方式利用该根访问权限?或者这已经以某种方式受到保护了吗?

例如,如果 /dev/tty2 已root模拟su

# inject text 
echo Adding malicious text to a root tty, like Enter Password: > /dev/tty2
# read keystrokes
cat /dev/tty2 
# not sure how to write keystrokes or if it is possible

也许这绝对是有记录的或受保护的,如果是这样,请链接我的文档。

例子

PS:请不要把我当成是在请求帮助进行漏洞利用。我不是。问题是关于在上下文中使用su/sudo与日志记录的风险root讨论关于 Windows 是否应该有一个sudo命令。我需要弄清楚我的事实。

答案1

是的,进程可以通过以下方式将输入注入到 tty 中TIOCSTI读写控制。至少在 Linux 上,这会受到一些影响限制: 用户应该是 root ( CAP_SYS_ADMIN)或者注入其控制终端

这仍然是相当危险的,而且TIOCSTI被掏空的在像 OpenBSD 这样的系统中,但它的威胁模型通常比你的问题相反:root 应该使用su(或其他东西)作为普通用户运行命令,并且该命令能够将密钥插入控制 tty它正在与其特权调用者共享。查看示例这里这里

当然,也可以通过在启动的biff(1)同一个 tty 中运行的某个或其他程序来利用它su root,但这看起来并不那么有趣:如果攻击者能够掌握能够su或的帐户sudo,则可能有更简单更好的升级方式。

相关内容