Как узнать, является ли коробка аутентификации реальной или поддельной?

28

Например, кто-то создает фальшивый диалог аутентификации, чтобы получить мой пароль root. Как узнать, реально ли это или подделка?

авт

user3683331
источник

Ответы:

23

Таким образом, вы, вероятно, просматриваете приглашение к эскалации PolicyKit. Любой, у кого нет одного из тех, кто хочет поиграть, может просто бегать pkexec echo(или что-то в этом роде), и они получат нечто подобное.

Как мы можем проверить, что это действительно PolicyKit, а не какое-то нестандартное окно фишинга?

Ну, вы можете получить информацию об Окне 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

Так что, насколько мы можем судить (обратите внимание, что я пользователь 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

В случае PolicyKit вы можете щелкнуть эту вкладку сведений, и вы увидите, какое разрешение оно хочет выполнить. В KDE вы также увидите PID вызывающего абонента, который можно посмотреть ( ps <PID>). Вот как это выглядит в KDE:

KDE PolicyKit подскажите

Вы можете навести указатель мыши на действие и получить политику 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что заставляет вас выглядеть так, будто вас не взломали? Я вполне уверен, что с достаточной концентрацией вы могли бы обойти все процедуры обнаружения выше.

Спокойной ночи.

Оли
источник
Такие программы, как, tripwireмогут помочь проверить подлинность файла, но они должны быть установлены очень рано.
Зарегистрированный пользователь