È possibile eseguire keylogging Linux privo di exploit con accesso X Windows non client solo root?

3

Diciamo che su un sistema Linux io uso bubblewrap per sandboxare un'applicazione e dargli accesso in scrittura a /tmp/.X11-unix in modo che può essere un client X Windows. È possibile che l'applicazione in modalità sandbox (senza l'utilizzo di exploit del server X) registri in modo invisibile le sequenze di tasti che passano ad altre applicazioni? Da un lato, il logger della tastiera Linux logkey richiede l'accesso come root a uno dei dispositivi /dev/input/event# . D'altra parte xhotkeys può, senza privilegi di root, intercettare sequenze di tasti arbitrarie, quindi forse l'app sandboxing potrebbe intercettare in modo simile sequenze di tasti arbitrarie e quindi reinvia l'evento come evento sintetico in modo che venga inviato al destinatario previsto.

EDIT : se è possibile che l'app in modalità sandbox esegua la registrazione della sequenza di tasti con una sola connessione client X Windows, è possibile impedirla avviando un server X annidato e solo dando l'accesso sandbox al server nidificato?

    
posta Matthew Cline 04.10.2017 - 02:25
fonte

1 risposta

1

Sì, è possibile eseguire la registrazione della sequenza di tasti con una sola connessione X11. I due metodi più comuni per farlo sono utilizzare l'estensione XTEST o utilizzare XQueryKeymap() , che restituisce lo stato attuale della tastiera. Come una connessione X11 va semplicemente su un socket, se un processo ha accesso al cookie X11 e può autenticarsi con Xorg, sarà in grado di monitorare (e iniettare) sequenze di tasti.

L'uso di un server X annidato potrebbe proteggere da questo (anche se raccomanderei Xephyr piuttosto che Xnest, dato che quest'ultimo è deprecato). Dovresti consentire al processo sandboxed di accedere al cookie X11 del server nidificato e impedirgli di accedere al cookie root X11.

    
risposta data 30.11.2017 - 05:23
fonte

Leggi altre domande sui tag