use*_*331 29 security authentication password policykit
例如,有人创建了一个虚假的 Authenticate 对话框来获取我的 root 密码。怎么知道是真的还是假的?

Oli*_*Oli 23
因此,您 [可能] 在那里查看 PolicyKit 升级提示。任何没有想要一起玩的人都可以跑跑pkexec echo(或类似的东西),他们会得到类似的东西。
好吧,您可以使用 获取有关 Window 的信息xprop,也可以使用 获取命令信息,ps因此让我们将它们组合起来!在我们继续之前,因为我们在这里超级偏执,我使用完整路径以防万一有人添加了任何这些命令的本地黑客副本。这是我在我的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
Run Code Online (Sandbox Code Playgroud)
因此,据我们所知(请注意,我是 KDE 用户)这是一个合法的提示。它不会运行一些本地脚本,只要一些邪恶的东西还没有扎根系统(但是,嘿,他们为什么又需要我们的密码?),我们可能是安全的。
在的情况下gksu,kdesu并pkexec提示是相当明确的关于他们将要运行什么。在前两个的情况下,上面的命令会告诉你他们计划运行什么:
$ /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
Run Code Online (Sandbox Code Playgroud)
在 PolicyKit 的情况下,您可以单击该详细信息选项卡,您将看到它要执行的权限。在 KDE 中,您还会看到可以查找的调用者 PID ( ps <PID>)。这是在 KDE 中的样子:

您可以将鼠标悬停在操作上并获取它想要执行的 PolicyKit 策略。在 Ubuntu 中,该策略默认显示。这些政策可以查。上面的一个来自 中/usr/share/polkit-1/actions/org.kubuntu.qaptworker2.policy指定的服务/usr/share/dbus-1/system-services/org.kubuntu.qaptworker2.service。您可以看到正在运行什么以及由谁运行。而且这些服务只能由 root 用户添加,所以除非你已经 root 用户,否则你可能会信任这些服务。
PolicyKit 具有这些规则和服务,因此可以以 root 身份执行选择操作,而无需像那样运行整个过程。你需要保持警惕。显然,如果您正在跑步gnome-calculator并org.freedesktop.policykit.exec弹出提示,则说明有些问题。
在您输入密码之前可能只是进行调查。之后为时已晚。
即使这一切都是合法的,谁又能说你没有键盘记录器窃取你所有的密码呢?或者是一些压倒一切的东西,$PATH或者在你的体内倾倒了一些可怕的东西~/.bashrc,让你看起来好像没有被黑客入侵?我很确定只要足够专注,您就可以绕过上述所有检测程序。
睡得好。