Fuente: LinuTeca
Quizá puede que no tenga gran atractivo el poder buscar archivos en el sistemas que tengan ciertos permisos pero ésta es una buena medida de defensa y ataque.
Si queremos tener nuestro sistema bien seguro tendremos que tener los permisos más restrictivos posibles asique necesitamos saber si tenemos algún archivo que no queremos que pueda ejecutar o editar un usuario. Además puede representar un riesgo de cara a nuestros atacantes tener archivos ejecutables y editables por parte de cualquier usuario o que simplemente tengan el bit SUID o SGID activo. Si tenemos en nuestro sistema un archivo con el bit SUID cuyo propietario es root y además puede ser editado por cualquier usuario, estamos dejando abierta una puerta en nuestro sistema para que cualquiera con los conocimientos suficientes de bash scripting haga un código malicioso y lo ejecute como si fuera root.
Para encontrar estos archivos escribiremos en consola el comando:
La X de arriba la sustituiremos por los permisos que queremos encontrar como por ejemplo 4000. Esto indica al find que muestre sólo los archivos que tengan el bit SUID activo (4) y que no tengan permisos para nadie (000).
Otro ejemplo, si quisiéramos buscar un archivo que tuviera permisos de rwx en los usuarios y el bit de SUID activo y ningun permiso más para grupos y otros, cambiaríamos la X por 4700.
En resumen el primer número corresponderá al SUID, SGID o sticky bit. 4 para SUID, 2 para SGID y 1 para stiky bit. Los tres siguientes se corresponden con usuario,grupo,otros.
En el caso de que queramos encontrar un archivo que tenga los permios de SUID,SGID y sticky bit sólo habría que sumarlos, como en los permisos normales por ejemplo:
Si además queremos que nos muestre los archivos que tengan el SUID y que no tengan permisos de usuario, ni grupo, ni otros ‘o’ los que tengan el SUID y permisos rwx en el usuario, podemos hacer una anidación con un or booleano:
Con esto ya estarámos dispuestos para buscar fallos en los permisos y poder hacer un ataque o defendernos de los hackers. Pero una cosa más, cuando lo probéis os daréis cuenta de que salen muchos archivos por pantalla y es muy difícil procesar esa información, asique para hacerlo con más calma podemos redirigir la salida a un archivo en vez de a la pantalla asi:
Por úlmito sólo me queda decir que el comando -ls sirve en este caso para mostrarnos no sólo el nombre de los archivos cuando los encuentre sino los permisos y toda la demás información que nos ofrece ‘ls’.
1 comentario:
gracias... me sirvio este post :)
Publicar un comentario