当前位置: 首页>>技术教程>>正文


如何知道验证盒是真实的还是假的?

, , , ,

问题描述

例如,某人创建了一个伪造的Authenticate对话框来获取我的root密码。如何知道它是真实的还是假的?

password,security,authentication,policykit,ubuntu

最佳解决思路

因此,您[可能]正在查看PolicyKit升级提示。任何没有想要一起玩的人都可以运行pkexec echo(或类似的东西),他们会得到类似的东西。

我们如何检查它实际上是PolicyKit,而不是某些custom-made网络钓鱼窗口?

那么,您可以使用xprop获得有关窗口的信息,并且可以使用ps获得命令信息,因此让我们将它们结合起来吧!在继续之前,因为我们这里是super-paranoid,所以我正在使用完整路径,以防万一有人添加了任何这些命令的本地被黑副本。这是我在我的pkexec echo盒子上运行的方法:

$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}')
  PID TTY      STAT   TIME COMMAND
 3989 ?        Sl     0:00 /usr/lib/kde4/libexec/polkit-kde-authentication-agent-1

因此,据我们所知(请注意,我是KDE用户),这是合法提示。它不是在运行一些本地脚本,只要还没有邪恶的东西扎根到系统上(但是,嘿,为什么他们又需要我们的密码?),我们可能是安全的。

我们如何知道该怎么办?

对于gksukdesupkexec,提示非常明确地说明了它们将要运行的内容。对于前两个,上面的命令将告诉您他们正在运行的计划:

$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}')
  PID TTY      STAT   TIME COMMAND
10395 ?        Sl     0:00 /usr/lib/kde4/libexec/kdesu -u root -c /usr/sbin/synaptic

对于PolicyKit,您可以单击该详细信息选项卡,然后查看它要执行的权限。在KDE中,您还将看到可以查询的调用者PID(ps <PID>)。这是KDE中的样子:

password,security,authentication,policykit,ubuntu

您可以将鼠标悬停在操作上并获取要执行的PolicyKit策略。在Ubuntu中,默认情况下显示该策略。可以查询这些策略。上面的一个来自/usr/share/polkit-1/actions/org.kubuntu.qaptworker2.policy/usr/share/dbus-1/system-services/org.kubuntu.qaptworker2.service中指定的服务。您可以看到正在运行的内容以及由谁运行。而且这些服务只能由root添加,因此,除非您已经具有root用户,否则您可以信任它们。

但是不要盲目地信任PolicyKit!

PolicyKit具有这些规则和服务,因此可以以root用户身份执行选择操作,而不必运行整个过程。但是您需要保持警惕。显然,如果您正在运行gnome-calculator,并且弹出org.freedesktop.policykit.exec提示,则有些麻烦。

在您输入密码之前,可能只是调查而已。之后为时已晚。

即使是合法的,谁又说您没有键盘记录器会窃取所有密码呢?还是覆盖了$PATH的东西,或者在您的~/.bashrc中丢了一些可怕的东西,看起来好像您没有被黑过?我非常确定,如果浓度足够大,您就可以绕过上述所有检测程序。

睡得好。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7244.html,未经允许,请勿转载。