这是100%可能的。对于ttys / ptys(文本模式),最简单的方法是在/ bin / {ba,da,a} sh(例如,第二个.code段RX)中添加填充码并更改入口点(例如ELF)。病毒会)。在这种情况下,除非对此进行访问,否则可以将〜/ .profile或〜/ .bashrc(等)修改为一种非常简单的假设模型:
exec〜/ .malicious_programme
可能会加载动态共享对象代码以隐藏有问题的恶意程序(例如:允许读取和修改.profile,但隐藏行。和/或隐藏程序。)
然后,可以假定fd未标记为FD_CLOEXEC,甚至可以使用UNIX98 pty(7)系统或什至简单地使用pipe(2)将所有输入记录在派生的shell中,甚至将用户输入更改为该shell。
在X11中,尽管kdm / gdm / xdm是作为setuid根运行的(或等效功能[请参见setcap(8)]或非默认情况下使用的任何安全模型),但事情显然变得更加复杂。是否可以提升特权?通过直接访问x86上的0x60 / 0x64键盘端口,iopl(2)或ioperm(2)使生活变得非常轻松。由于我们假设您做不到,因此我们必须寻找替代路线。我知道几个,但是我不完全确定您想要关于如何实现以及涉及的接口的论文。
可以说,尽管进程隔离,但由于各种问题(尤其是X的问题)增加了用户模式守护程序提供的功能(例如,文本),因此* nix上仍然有可能在非* nix上使用环3非超级用户木马。对所有应用程序的语音转换支持,而不会损害系统的安全性。我已经概述了一个与ttysnoops类似的工具(它已经过期了很长时间),并且不需要root。我有这种情况的示例代码(它将包含在X的内部终端中),但是我尚未发布它。如果您需要更多信息,请随时与我联系。