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 xinputBefehls tun können , aber die gleichen Methoden können für jeden anderen Key Logger verwendet werden. Wenn ein Key Logger einen xinputBefehl verwendet, ist es nicht erforderlich, die Methode darauf anzuwenden, solange Sie sie anwenden xinput.
1. Beschränken Sie Standardbenutzer auf die Verwendung von xinputBefehlen
Mit dem folgenden Befehl können Sie Standardbenutzern die Verwendung von xinputBefehlen einschränken :
sudo chmod go-x /usr/bin/xinput
2. Beschränken Sie Standardbenutzer auf die Verwendung von xinputBefehlen mit test-xi2Argumenten
Sie können Standardbenutzer auf die Verwendung von xinputBefehlen mit test-xi2Argumenten 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 xinputDatei 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 xinputBefehl 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 xinputdirekt aufruft, wenn er den neuen Standort kennt.
3. Stoppen / pausieren Sie einen xinputProzess
Sie können jeden xinputVorgang 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 ~/.bashrcDatei 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 xinputProzesse stoppen / beenden :
processof xinput stop
alle xinputProzesse anhalten:
processof xinput pause
alle xinputProzesse 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 ...