Come altri hanno detto qui, non è possibile proteggere solo un programma come gnome-terminal o altri terminali dalla registrazione delle chiavi, solo se si limita agli utenti standard di eseguire qualsiasi registratore di chiavi o se si interrompe / mette in pausa qualsiasi processo di registrazione dei tasti.
Successivamente ti mostrerò come è possibile eseguire queste operazioni in caso di xinput
comando, ma gli stessi metodi possono essere utilizzati per qualsiasi altro registratore di chiavi. Se un registratore di chiavi utilizza il xinput
comando, non è necessario applicare il metodo su di esso finché lo si applica xinput
.
1. Limitare gli utenti standard all'uso del xinput
comando
È possibile limitare gli utenti standard all'uso del xinput
comando utilizzando il comando seguente:
sudo chmod go-x /usr/bin/xinput
2. Limitare gli utenti standard all'uso del xinput
comando con test-xi2
argomento
È possibile limitare gli utenti standard all'uso del xinput
comando con test-xi2
argomento scrivendo un wrapper per questo comando. Per fare ciò, vai nel terminale e segui le istruzioni seguenti:
Ottieni i privilegi di root:
sudo -i
Sposta il xinput
file in un'altra directory che non si trova nel PERCORSO di un utente (ad esempio /opt
):
mv /usr/bin/xinput /new/path/to/xinput
Crea il tuo wrapper per il xinput
comando in /usr/bin
:
gedit /usr/bin/xinput
Aggiungi il seguente script all'interno:
#!/bin/bash
if [ "$@" != "${@/test-xi2/}" -a "$(whoami)" != "root" ]; then
echo "`basename $0` $@: Permission denied"
else
/new/path/to/xinput $@
fi
Salva il file e chiudilo.
Rendi eseguibile il nuovo wrapper:
chmod +x /usr/bin/xinput
Mentre il primo metodo è la sicurezza, utilizzando il secondo metodo, l'utente può comunque aggirarlo chiamando xinput
direttamente l'originale se conosce la sua nuova posizione.
3. Arresta / metti in pausa qualsiasi xinput
processo
È possibile interrompere o mettere in pausa qualsiasi xinput
processo prima di inserire una password o qualsiasi altra cosa che non si desidera registrare. Per fare ciò, aggiungi la seguente funzione bash alla fine del tuo ~/.bashrc
file:
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
}
Ora, dopo aver riaperto il terminale, ogni volta che vuoi, usando questa funzione puoi:
interrompere / uccidere tutti i xinput
processi:
processof xinput stop
mettere in pausa tutti i xinput
processi:
processof xinput pause
riprendere tutti i xinput
processi:
processof xinput continue
In effetti, con questa funzione è possibile interrompere / mettere in pausa qualsiasi processo prima di fare qualcosa (come inserire la password):
processof [process_name] [stop|pause|continue]
Se non sai come rilevare come rilevare un keylogger attivo sul tuo sistema, vedi:
Questi metodi forse non sono le migliori soluzioni, ma spero di darti un'idea di cosa puoi fare ...