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 einen xinput
Befehl verwendet, ist es nicht erforderlich, die Methode darauf anzuwenden, solange Sie sie anwenden xinput
.
1. Beschränken Sie Standardbenutzer auf die Verwendung von xinput
Befehlen
Mit dem folgenden Befehl können Sie Standardbenutzern die Verwendung von xinput
Befehlen einschränken :
sudo chmod go-x /usr/bin/xinput
2. Beschränken Sie Standardbenutzer auf die Verwendung von xinput
Befehlen mit test-xi2
Argumenten
Sie können Standardbenutzer auf die Verwendung von xinput
Befehlen mit test-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:
sudo -i
Verschieben Sie die xinput
Datei in ein anderes Verzeichnis, das sich nicht im PATH eines Benutzers befindet (zum Beispiel /opt
):
mv /usr/bin/xinput /new/path/to/xinput
Erstellen Sie Ihren Wrapper für den xinput
Befehl in /usr/bin
:
gedit /usr/bin/xinput
Fügen Sie das folgende Skript hinzu:
#!/bin/bash
if [ "$@" != "${@/test-xi2/}" -a "$(whoami)" != "root" ]; then
echo "`basename $0` $@: Permission denied"
else
/new/path/to/xinput $@
fi
Speichern Sie die Datei und schließen Sie sie.
Machen Sie den neuen Wrapper ausführbar:
chmod +x /usr/bin/xinput
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
Prozess
Sie 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:
processof () {
xinput_pids=" $(pidof $1) "
if [ "$xinput_pids" = " " ]; then
echo "Nothing to stop/pause/continue. $1: no such process!"
return
fi
for pid in $xinput_pids; do
case $2 in
"stop")
kill $pid
echo "$1: stopped"
;;
"pause")
kill -stop $pid
echo "$1: paused"
;;
"continue")
kill -cont $pid
echo "$1: continue"
;;
*)
echo "$1 is runnig"
;;
esac
done
}
Jetzt, nachdem Sie Ihr Terminal wieder geöffnet haben, können Sie jederzeit mit dieser Funktion:
alle xinput
Prozesse stoppen / beenden :
processof xinput stop
alle xinput
Prozesse anhalten:
processof xinput pause
alle xinput
Prozesse wieder aufnehmen :
processof xinput continue
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):
processof [process_name] [stop|pause|continue]
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 ...