Il semble qu'il soit facile d'enregistrer les frappes de tous les processus d'un même utilisateur. Un enregistreur de frappe de base est «xinput».
xinput test-xi2
La commande génère un journal de toutes les pressions sur les touches. Malheureusement, cela inclut les mots de passe dans gnome-terminal. La recherche sur Google a suggéré que la saisie du clavier peut empêcher d'autres fenêtres de capturer les touches.
Existe-t-il un moyen d'empêcher la journalisation XI2 dans gnome-terminal? Ou existe-t-il un terminal X doté de cette fonctionnalité?
Réponses:
Ce n'est pas possible car les frappes transmises au serveur X seront disponibles pour xinput / tout programme arbitraire. (En fait, cela fait partie de la conception). De nouveaux serveurs d'affichage comme Wayland et Mir corrigent de tels problèmes de sécurité dans X. La seule vraie solution serait d'utiliser Wayland ou Mir au lieu de X. Ce billet de blog détaille ce problème.
la source
Pas vraiment. Même si vous parvenez d'une manière ou d'une autre à saisir le clavier dans X (je ne sais pas si c'est même possible, j'en doute), un utilitaire de keylogger fonctionnant en tant que root aura toujours accès au clavier.
la source
Comme d'autres l'ont dit ici, il n'est pas possible de protéger uniquement un programme comme gnome-terminal ou un autre terminal contre la journalisation des clés, uniquement si vous limitez les utilisateurs standard à exécuter un enregistreur de frappe ou si vous arrêtez / suspendez tout processus d'enregistreur de frappe.
Ensuite, je vais vous montrer comment vous pouvez faire cela en cas de
xinput
commande, mais les mêmes méthodes peuvent être utilisées pour tout autre enregistreur de frappe. Si un enregistreur de frappe utilise unexinput
commande, il n'est pas nécessaire de lui appliquer la méthode tant que vous l'appliquezxinput
.1. Restreindre les utilisateurs standard à utiliser la
xinput
commandeVous pouvez restreindre les utilisateurs standard à utiliser la
xinput
commande à l'aide de la commande suivante:2. Limitez les utilisateurs standard à utiliser la
xinput
commande avectest-xi2
argumentVous pouvez restreindre les utilisateurs standard à utiliser la
xinput
commande avectest-xi2
argument en écrivant un wrapper pour cette commande. Pour ce faire, allez dans le terminal et suivez les instructions ci-dessous:Obtenez les privilèges root:
Déplacez le
xinput
fichier dans un autre répertoire qui n'est dans le CHEMIN d'aucun utilisateur (par exemple/opt
):Créez votre wrapper pour la
xinput
commande dans/usr/bin
:Ajoutez le script suivant à l'intérieur:
Enregistrez le fichier et fermez-le.
Rendez le nouveau wrapper exécutable:
Alors que la première méthode est la sécurité, en utilisant la deuxième méthode, l'utilisateur peut toujours la contourner en appelant
xinput
directement l'original s'il connaît son nouvel emplacement.3. Arrêter / suspendre tout
xinput
processusVous pouvez arrêter ou suspendre tout
xinput
processus avant d'entrer un mot de passe ou toute autre chose que vous ne souhaitez pas enregistrer. Pour ce faire, ajoutez la fonction bash suivante à la fin de votre~/.bashrc
fichier:Maintenant, après avoir rouvert votre terminal, à tout moment, en utilisant cette fonction, vous pouvez:
arrêter / tuer tous les
xinput
processus:suspendre tous les
xinput
processus:reprendre tous les
xinput
processus:En fait, avec cette fonction, vous pouvez arrêter / suspendre tout processus que vous souhaitez avant de faire quelque chose (comme entrer le mot de passe):
Si vous ne savez pas comment détecter comment détecter un enregistreur de frappe actif sur votre système, voir:
Ces méthodes ne sont peut-être pas les meilleures solutions, mais j'espère vous donner une idée de ce que vous pouvez faire ...
la source
xinput
n'est même pas SUID (-rwxr-xr-x 1 root root 48504 15 août 2012 / usr / bin / xinput)