超级用户可以通过键盘记录窃取其他用户的密码吗?

超级用户可以通过键盘记录窃取其他用户的密码吗?

首先,在我得到包含我已经知道的信息的答案之前,是的,我知道超级用户可以重置密码,是的,我知道超级用户可以在不知道密码的情况下以其他用户身份登录。

我还知道可以使用特殊程序破解加密密码。我说的是直接获取用户输入的纯文本密码,而不需要解密任何内容。

当然,我认为一般的键盘记录程序可以做到这一点,但输出中会存在大量与密码无关的垃圾,并且它甚至可能内置安全功能来防止这种使用。

root 是否可以在计算机上放置一个键盘记录程序,该程序会在用户更改密码时专门激活,并在信息加密之前“拦截”信息?然后它可以将此信息发送到根目录主目录中的秘密文件。

答案1

是的当然。

超级用户可以用能完成其工作的版本替换读取用户密码的程序(loginpasswd、 ...),并将密码写入日志。

ls超级用户还可以用修改、md5sum、等程序工作方式的内核来替换内核,lsof以便它们报告修改后的程序看起来像正常程序,这样就不可能检测到系统已被修改里面。您仍然可以通过从外部仔细查看(例如查看磁盘映像)来检测修改。

超级用户甚至可以进一步修改系统主要外围设备之一上的某些固件,以便在系统启动时注入恶意软件。这代表了相当高的复杂程度,但至少在原则上是可能的。

如果您不信任计算机的管理员,请不要在那里键入您的密码。

答案2

这取决于用户如何更改密码。如果他们只是使用,那么用户用受损的等效文件替换实际的二进制文件passwd并不困难。大多数人没有过分检查它是二进制文件还是 shell 脚本或者它是否来自合法来源的习惯。但最后,最重要的是,用户应该明白,才是最强大的用户,他们不能 100% 信任不属于他们的机器。rootpasswdpasswdroot

答案3

简单如 1-2-3:

  1. 获取用户正在使用的 shell 的源代码
  2. 进行修改,以便记录所有内容或仅记录之后的字符passwd
  3. 编译并替换现有的 shell

答案4

理论上是的。超级用户可以修改正在运行的系统中的任何内容。这还意味着内核和所有与登录相关的二进制文件,例如添加一个调用,在密码被散列之前将密码发送到网站。

实际上,正如您自己指出的那样,这是没有用的,这就是为什么这样的事情可能永远不会发生。

相关内容