Che cosa può fare un attaccante in questo scenario? (bascrc non scrivibile, profilo, ecc.) [chiuso]

1

Scenario:

  • Tipica configurazione desktop Linux: utente senza privilegi ma con capacità sudo per fare praticamente tutto
  • Per amor di cose, dimentichiamoci di X11 e del suo modo di consentire keylogger banali, quindi diciamo che la distro sta usando Wayland o qualsiasi altra cosa
  • Il percorso è definito nel profilo bash in modo che ~ / bin arrivi per ultimo, quindi l'esecuzione di "firefox" dovrebbe eseguire il firefox predefinito e non un "firefox" personalizzato installato dall'utente nella loro directory home.
  • .bashrc, .profile, .bash_profile, .bash_logout, ecc. (tutti questi tipi di file) sono scrivibili solo da root, quindi l'utente deve usare sudo per modificarli.

L'utente malintenzionato fornisce all'utente un file dannoso, l'utente lo esegue senza privilegi (senza sudo) e ... cosa può ottenere l'autore dell'attacco? Al momento posso solo pensare al "semplice phishing", cioè il codice dannoso proverà ad imitare un'altra applicazione, ad esempio informandoti che è richiesto un aggiornamento del sistema e chiedendo la tua password sudo / root. Ma sospetto ci siano molti più vettori possibili.

Sto facendo questa domanda perché ho letto che impedire l'abuso di bashrc e di file di configurazione simili è inutile se l'utente malintenzionato può eseguire codice arbitrario sul tuo computer. Eppure non riesco a pensare a tutte le cose che un attaccante potrebbe fare nella pratica in questa situazione. Vorrei alcuni esempi pratici.

    
posta reed 17.06.2018 - 13:32
fonte

1 risposta

3

Path is defined in bash profile so that ~/bin comes last, so running "firefox" should run the default firefox and not a custom "firefox" installed by the user in their home directory.

Le variabili possono essere sovrascritte in runtime. I collegamenti sul desktop e nei menu possono essere sovrascritti. Gli alias possono essere definiti. Istruire l'ambiente desktop per avviare il codice ogni volta che inizia ... Come scrive la foresta; ce ne sono troppi per elencarli tutti. Considera il tuo account compromesso!

.bashrc, .profile, .bash_profile, .bash_logout, etc. (all those kinds of files) are only writable by root, so the user needs to use sudo to edit them.

Lascia che ti mostri qualcosa:

[/tmp/foo]$ touch bar
[/tmp/foo]$ sudo chown root bar
[/tmp/foo]$ ls -la
total 24
drwxr-xr-x   2 vidarlo users  4096 Jun 17 14:13 .
drwxrwxrwt 131 root    root  20480 Jun 17 14:13 ..
-rw-r--r--   1 root    users     0 Jun 17 14:13 bar
[/tmp/foo]$ chmod 777 bar
chmod: changing permissions of 'bar': Operation not permitted
[/tmp/foo]$ rm bar
rm: remove write-protected regular empty file 'bar'? y
[/tmp/foo]$ 

Se hai i permessi di scrittura per la directory (di cui hai praticamente bisogno per ~), puoi rimuovere i file che non possiedi. Un utente malintenzionato può fare banalmente cat .bashrc > /tmp/foo && rm -f .bashrc && cat /tmp/foo > .bashrc , ricreando in modo efficace i file.

Inoltre, gli attacchi di escalation dei privilegi locali su una soluzione desktop non sono esattamente sconosciuti.

    
risposta data 17.06.2018 - 14:20
fonte

Leggi altre domande sui tag