¿Qué puede hacer un atacante en este escenario? (Bashrc no escribible, perfil, etc.) [cerrado]

1

Escenario:

  • Configuración de escritorio de Linux típica: usuario sin privilegios pero con capacidades de sudo para hacer básicamente todo
  • En aras de la discusión, olvidemos X11 y su manera de permitir keyloggers triviales, así que digamos que la distro está usando Wayland o lo que sea
  • La ruta se define en el perfil de bash para que ~ / bin sea el último, por lo que la ejecución de "firefox" debe ejecutar Firefox por defecto y no un "firefox" personalizado instalado por el usuario en su directorio de inicio.
  • .bashrc, .profile, .bash_profile, .bash_logout, etc. (todos esos tipos de archivos) solo se pueden escribir por root, por lo que el usuario debe usar sudo para editarlos.

El atacante le da al usuario un archivo malicioso, lo ejecuta sin privilegios (sin sudo) y ... ¿qué podría lograr el atacante? En este momento solo puedo pensar en "phishing simple", es decir, el código malicioso intentará imitar otra aplicación, por ejemplo, indicando que se requiere una actualización del sistema y solicitando su contraseña de sudo / root. Pero sospecho que hay muchos más vectores posibles.

Estoy haciendo esta pregunta porque leí que prevenir el abuso de bashrc y archivos de configuración similares no sirve de nada si el atacante puede ejecutar código arbitrario en su computadora. Sin embargo, no puedo pensar en todas las cosas que un atacante podría hacer en la práctica en esta situación. Me gustaría algunos ejemplos prácticos.

    
pregunta reed 17.06.2018 - 13:32
fuente

1 respuesta

3
  

La ruta se define en el perfil bash para que ~ / bin sea la última, por lo que la ejecución de "firefox" debería ejecutar Firefox predeterminado y no un "firefox" personalizado instalado por el usuario en su directorio de inicio.

Las variables se pueden sobrescribir en el tiempo de ejecución. Los accesos directos en el escritorio y en los menús se pueden sobrescribir. Se pueden definir alias. Indique al entorno de escritorio que inicie su código cada vez que se inicie ... Como el bosque escribe; hay demasiados para enumerarlos a todos. Considera tu cuenta comprometida!

  

.bashrc, .profile, .bash_profile, .bash_logout, etc. (todos esos tipos de archivos) solo se pueden escribir por root, por lo que el usuario debe usar sudo para editarlos.

Déjame mostrarte algo:

[/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]$ 

Mientras tenga permiso de escritura para el directorio (que necesita para ~), puede eliminar los archivos que no posee. Un atacante puede hacer trivialmente cat .bashrc > /tmp/foo && rm -f .bashrc && cat /tmp/foo > .bashrc , recreando efectivamente los archivos.

Además, los ataques locales de escalada de privilegios en una solución de escritorio no son exactamente desconocidos.

    
respondido por el vidarlo 17.06.2018 - 14:20
fuente

Lea otras preguntas en las etiquetas