Sieht so aus, als wäre es einfach, Tastatureingaben aller Prozesse desselben Benutzers zu protokollieren. Ein grundlegender Keylogger ist 'xinput'.
xinput test-xi2
Der Befehl generiert ein Protokoll aller Tastendrücke. Leider beinhaltet dies Passwörter in gnome-terminal. Googeln schlug vor, dass das Greifen der Tastatur andere Fenster daran hindern könnte, Tastenanschläge zu erfassen.
Gibt es eine Möglichkeit, die XI2-Protokollierung im Gnome-Terminal zu verhindern? Oder gibt es ein X-Terminal mit dieser Funktion?
Antworten:
Es ist nicht möglich , da alle Tastenanschläge an den X - Server weitergeleitet, für XInput / jedes beliebiges Programm zur Verfügung. (Tatsächlich ist es Teil des Designs). Neue Anzeigeserver wie Wayland und Mir beheben solche Sicherheitsprobleme in X. Die einzige echte Lösung wäre die Verwendung von Wayland oder Mir anstelle von X. In diesem Blogbeitrag wird dieses Problem beschrieben.
quelle
Nicht wirklich. Selbst wenn es Ihnen irgendwie gelingt, die Tastatur in X zu greifen (ich weiß nicht, ob dies überhaupt möglich ist, ich bezweifle dies), hat ein Keylogger-Dienstprogramm, das als Root ausgeführt wird, immer Zugriff auf die Tastatur.
quelle
Wie andere hier sagten, ist es nicht möglich, nur ein Programm wie das Gnome-Terminal oder ein anderes Terminal vor der Schlüsselprotokollierung zu schützen, nur wenn Sie Standardbenutzer auf die Ausführung eines Schlüsselprotokolliervorgangs beschränken oder wenn Sie einen Schlüsselprotokolliervorgang anhalten.
Als nächstes werde ich Ihnen zeigen, wie Sie dies im Falle eines
xinput
Befehls tun können , aber die gleichen Methoden können für jeden anderen Key Logger verwendet werden. Wenn ein Key Logger einenxinput
Befehl verwendet, ist es nicht erforderlich, die Methode darauf anzuwenden, solange Sie sie anwendenxinput
.1. Beschränken Sie Standardbenutzer auf die Verwendung von
xinput
BefehlenMit dem folgenden Befehl können Sie Standardbenutzern die Verwendung von
xinput
Befehlen einschränken :2. Beschränken Sie Standardbenutzer auf die Verwendung von
xinput
Befehlen mittest-xi2
ArgumentenSie können Standardbenutzer auf die Verwendung von
xinput
Befehlen mittest-xi2
Argumenten beschränken, indem Sie einen Wrapper für diesen Befehl schreiben. Gehen Sie dazu in das Terminal und folgen Sie den Anweisungen unten:Holen Sie sich root-Rechte:
Verschieben Sie die
xinput
Datei in ein anderes Verzeichnis, das sich nicht im PATH eines Benutzers befindet (zum Beispiel/opt
):Erstellen Sie Ihren Wrapper für den
xinput
Befehl in/usr/bin
:Fügen Sie das folgende Skript hinzu:
Speichern Sie die Datei und schließen Sie sie.
Machen Sie den neuen Wrapper ausführbar:
Während die erste Methode die Sicherheit ist, kann der Benutzer mit der zweiten Methode sie dennoch umgehen, indem er das Original
xinput
direkt aufruft, wenn er den neuen Standort kennt.3. Stoppen / pausieren Sie einen
xinput
ProzessSie können jeden
xinput
Vorgang anhalten oder anhalten , bevor Sie ein Kennwort oder etwas anderes eingeben, das Sie nicht protokollieren möchten. Fügen Sie dazu die folgende Bash-Funktion am Ende Ihrer~/.bashrc
Datei hinzu:Jetzt, nachdem Sie Ihr Terminal wieder geöffnet haben, können Sie jederzeit mit dieser Funktion:
alle
xinput
Prozesse stoppen / beenden :alle
xinput
Prozesse anhalten:alle
xinput
Prozesse wieder aufnehmen :Tatsächlich können Sie mit dieser Funktion jeden Vorgang anhalten / anhalten, den Sie vor einer Aktion ausführen möchten (z. B. die Eingabe des Passworts):
Wenn Sie nicht wissen, wie Sie einen aktiven Keylogger auf Ihrem System erkennen können, lesen Sie:
Diese Methoden sind vielleicht nicht die besten Lösungen, aber ich hoffe, Ihnen eine Vorstellung davon zu geben, was Sie tun können ...
quelle
xinput
ist nicht einmal SUID (-rwxr-xr-x 1 root root 48504 15. August 2012 / usr / bin / xinput)