Par exemple, quelqu'un crée une fausse boîte de dialogue d'authentification pour obtenir mon mot de passe root. Comment savoir si c'est réel ou faux?
Par exemple, quelqu'un crée une fausse boîte de dialogue d'authentification pour obtenir mon mot de passe root. Comment savoir si c'est réel ou faux?
Vous êtes donc probablement en train d’examiner une invite d’escalade PolicyKit. N'importe qui sans l'un de ceux qui veut jouer peut simplement exécuter run pkexec echo
(ou quelque chose comme ça) et ils obtiendront quelque chose de similaire.
Eh bien, vous pouvez obtenir des informations sur une fenêtre avec xprop
et vous pouvez obtenir des informations de commande avec ps
, alors combinons-les! Avant de continuer, parce que nous sommes super-paranoïaques ici, j'utilise des chemins complets au cas où quelqu'un aurait ajouté une copie locale piratée de l'une de ces commandes. Ici, je l'exécute sur ma boîte 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
Autant que nous puissions dire (notez que je suis un utilisateur de KDE), il s'agit d'une invite légitime. Il ne fonctionne pas avec un script local, aussi longtemps que quelque chose de mal n'a pas déjà ancré le système (mais bon, pourquoi aurait-il besoin de notre mot de passe à nouveau?), Nous sommes probablement en sécurité.
Dans le cas de gksu
, kdesu
et pkexec
, les invites sont assez explicites quant à ce qu'elles vont exécuter. Dans le cas des deux premiers, la commande ci-dessus vous indiquera ce qu’ils prévoient d’exécuter:
$ /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
Dans le cas de PolicyKit, vous pouvez cliquer sur cet onglet de détails et voir quelle autorisation il veut exécuter. Dans KDE, vous verrez également le PID de l'appelant qui peut être consulté ( ps <PID>
). Voici à quoi ça ressemble dans KDE:
Vous pouvez survoler l’action et obtenir la stratégie PolicyKit à exécuter. Dans Ubuntu, la stratégie est affichée par défaut. Ces politiques peuvent être recherchées. Celui-ci provient de /usr/share/polkit-1/actions/org.kubuntu.qaptworker2.policy
et d'un service spécifié dans /usr/share/dbus-1/system-services/org.kubuntu.qaptworker2.service
. Vous pouvez voir ce qui se passe et par qui. Et ces services ne peuvent être ajoutés par root que si vous avez déjà été rootés, vous pouvez probablement vous fier à eux.
PolicyKit dispose de ces règles et services, de sorte que certaines actions peuvent être exécutées en tant que root sans avoir à exécuter le processus comme celui-ci. Vous devez cependant être vigilant. Évidemment, si vous exécutez gnome-calculator
et qu'une invite org.freedesktop.policykit.exec
apparaît, quelque chose ne va pas.
Ce n’est peut-être rien d’autre que d’enquêter avant de coller votre mot de passe. Après, il est trop tard.
Et même si tout est légitime, qui peut dire que vous n’avez pas un keylogger qui vole vos mots de passe de toute façon? Ou quelque chose qui remplace $PATH
ou qui a jeté quelque chose d'horrible dans votre ~/.bashrc
qui donne l'impression que vous n'avez pas été piraté? Je suis assez sûr avec assez de concentration, vous pourriez contourner toutes les procédures de détection ci-dessus.
Dors bien.
Lire d'autres questions sur les étiquettes password authentication security policykit