Tengo el escenario siguiente:
Un usuario (víctima), tiene un ejecutable como suid, osea "-rwsr-xr-x", y este programa hace una llamada al sistema, y usa en concreto la "función" clear. Con otro usuario (atacante) creo un path en la variable PATH para que mire primero en el directorio /tmp, y allí creo un enlace simbólico de clear a un script en bash que ejecuta un comando como "cat /home/victima/archivo.txt". Ese archivo esta como solo de lectura para el propietario (victima), pero el resultado es que me lee el archivo (éxito). Ahora en vez de un cat ejecuto una shell, y se ejecuta, pero esta shell es del atacante y no de la víctima (fallo), pues lo que quiero es tener una shell con los privilegios del usuario víctima.
De momento no se me ocurre que más probar, ¿alguna idea?
Salu2, gracias
no no, necesitarías evitar que se ejecute código malicioso al correr esa aplicación con permisos elevados... resumiendo, es evitar un exploit a dicho ejecutable.
mas info en... http://foro.elhacker.net/bugs_y_exploits-b32.0/
saludos.
La solución está en ejecutar la shell dash, esta si otorga los privilegios del usuario en cuestión mientras que bash o sh NO.
Supongo que una manera de proteger el sistema contra este ataque será borrar o desinstalar la shell dash, aunque no se si esto tendrá alguna consecuencia negativa para el sistema, ya veremos...
Salu2