如何判断控制台登录是否真实?


13

在Windows上,可以强制按Ctrl+ Alt+ Del触发中断,从而打开登录窗口。

在登录Linux计算机的控制台时:如何确定该登录名是真实的还是被窃取的凭据?

Answers:


14

假设您想免受系统的其他普通用户的攻击(如果对手具有root用户访问权限,则所有选择都已关闭),原则上您可以使用安全注意密钥

操作系统的“安全注意密钥”是一种安全工具,用于防止特洛伊木马密码捕获程序。这是杀死所有可能伪装成登录应用程序的程序的不二法门。在登录系统之前,需要指导用户输入此键序列。

Linux 2.4.2安全注意密钥(SAK)处理,Andrew Morton,2001年3月18日

可能与以下有关U&L的问题有关:如何在系统上找到安全注意密钥(SAK),并可以将其禁用?


在打开X服务器的情况下激活SAK会发生什么情况?
Incnis Mrsi 2015年

@IncnisMrsi:我已经尝试过了;假设您尚未禁用Ctrl + Alt + Backspace,那么它大致相当于Ctrl + Alt + Backspace。我确实记得,虽然这看起来有点麻烦,但是我不记得任何细节。
凯文(Kevin)

我在vtty上经常打它,过了一段时间,登录没有回来。感觉有问题,但实际上每天有用的SysRq +1。
Max Ried 2015年

@Kevin:因此,如果用户在tty≠7上运行了合法的X服务器(至少在PC上必须为euid = 0,至少它的配置已禁用SAK),那么SAK是否像内核文档所说的那样不败?假设在其上运行模拟的GUI DM。
Incnis Mrsi 2015年

@IncnisMrsi:我认为它的实际作用是杀死会话中的所有内容,然后重新启动“正确”的东西,无论可能是什么。因此,如果tty = 7,您将得到一个全新的X,否则您将得到login,等等。但是,如果您的攻击者的euid = 0,则无论如何您已经迷路了。
凯文(Kevin)

2

首先,我不确定您是否会对Windows 上的Ctrl+ Alt+ Del登录窗口感到过分自信,这也是病毒/木马劫持中断的作用,并且很有可能实现。

其次,如果在Windows / Linux上都实现了这种机制,则意味着肯定会损害管理员特权。

在Linux中,如果有人编写了一个伪造的shell来显示提示并捕获您的凭据,我想,如果没有发现这些信号来发现窍门,那么基本的Ctrl+ CCtrl+ Z就足够了。多次输入错误的凭据也可以帮助您查看与正常计时器行为的任何差异。

在不同的控制台之间进行切换也增加了发现技巧的可能性。

但是无论如何,您都无法确保100%可以使用任何形式的登录提示/窗口来保证系统的可靠性。


0

您可以使用ctrl+ alt+ F1... F7进入其他tty,然后从那里登录。您也可以使用ctrl+ zctrl+ c。但是,如果有人试图使用此方法窃取您的登录名和密码,则仍然有可能被骗。取决于您所使用的操作系统,有权访问该操作系统的人以及他具有哪种访问权限。

通常,您永远不会百分百确定,但是如果有人这样做,我认为他已经具有root访问权限-因此您的登录数据对他来说将毫无意义。


3
如果要设置这样的陷阱,那么我肯定会在每个tty上运行我的程序。请记住,使用控制键访问的用户并不是特别安全。
约翰WH史密斯

有道理; 这是我想到的最好的。
MatthewRock 2015年

某些sysrq可以帮助您吗?
Max Ried 2015年

0

对控制台具有物理访问权限的用户(甚至不是root用户)也可以这样做。

登录ssh并检查要在本地登录的虚拟控制台上运行的进程。是getty(对于TUI tty)还是其他合法的显示管理器?它的UID = 0吗?

如果两个都为假,则主机名 login:横幅肯定是伪造的。但是,正如国家/地区已经写好的答案一样,这样做对阻止不法行为者的特权已经升级为不利root


-1

简短的回答:您无法分辨。

但是,如果已替换了登录提示命令,则意味着攻击者在计算机上具有root用户访问权限。在这种情况下,他/她也可以:

  • 已经安装了键盘记录器来窃取您的密码。您可以使用唯一的密码来缓解此问题,从而使攻击者无法访问您使用的其他在线服务。
  • 只需更改密码即可以您(或任何其他用户)的身份登录计算机,或访问您(或其他任何人)的文件。

因此,担心登录提示是否合法是有争议的。

通常,您不应登录认为可能受到威胁的计算机。


8
我可以设计一个模仿登录提示行为的程序,然后在每个TTY中都以没有root权限的身份运行该程序(就像我自己一样)。如果正确完成,则不可能将真实提示与程序输出区分开,从而邀请您输入凭据。但是请注意,身份验证需要root权限(使陷阱完全透明),因此,如果登录失败并且您确定没有输入错误,则可能会认为您已经被困(太虽然晚)。
约翰·史密斯

6
您不安装它。您只需使用自己的帐户登录每个终端,然后在该终端上运行假登录即可。在那之后尝试使用终端的用户将发现您的伪提示(以您的身份运行),而不login是以root用户身份运行的程序。实际上,我并不是在假设实际的login程序已被破坏。
约翰WH史密斯

7
@ dr01。正常登录。当您准备好启动时~/bin/fakelogin,请使用,exec ~/bin/fakelogin以便在退出时(无论出于何种原因)您的用户帐户都已注销,并且实际登录提示会显示给其他用户。
roaima 2015年

3
通常,当您尝试在提示中窃取密码时,请记录该密码并输入“ Invalid login。”,然后退出程序。因此,无需使用进行身份验证$euid=0
2015年

1
为什么要下票?
dr01 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.