我注意到,在终端中运行sudo命令或运行使用gksudo的管理应用程序之后,它在一段时间内不会再次询问密码(大约5分钟)。
现在让我们假设我使用的其中一个程序(不是以root用户的身份运行)有一个零天漏洞(比如web浏览器或它的插件)。攻击者代表我运行任意代码。
在密码过期并接管我的系统之前,攻击者可以在没有密码提示的情况下执行sudo或gksudo操作吗?
发布于 2012-10-27 15:01:26
是的,以用户身份运行代码的攻击者可以自己做任何事情。它甚至可以更改您的shell进程,以便当您认为您正在运行sudo时,您实际上是在运行攻击者的程序,该程序只是静默地记录您的根密码。
Ptys/ttys在同一用户拥有时不提供任何安全性,这与这里的另一个答案相反。
发布于 2012-10-27 11:39:36
不,不会的。
sudo通过它的tty名称(或pty)维护访问令牌,因为浏览器和终端模拟器运行在不同的ptys上,所以它不会使用相同的令牌。
找到它的一个简单方法是在一个终端中运行sudo,在另一个终端中再次运行它,您将再次被提示输入密码(见/var/db/sudo)。
发布于 2012-10-27 20:55:09
“在密码过期并接管我的系统之前,攻击者可以在没有密码提示的情况下做sudo或gksudo吗?”
是。
最简单的攻击来自一个交互式的shell,而当你离开键盘的时候,你没有锁定你的屏幕。
如果你担心,那就换个路线
Defaults timestamp_timeout=90在/etc/sudoers中,它会更改5分钟的超时时间。
https://unix.stackexchange.com/questions/53046
复制相似问题