Auditoría de sistemas UNIX. Parte 9. Ficheros ocultos

Es imprescindible inventariar y conocer los ficheros ocultos que tengamos en nuestro sistema.

La necesidad de inspeccionar ficheros ocultos surge a consencuencia de que en caso de existir algún componente malicioso, este podría ser camuflado ocultándolo en el sistema de ficheros. De hecho, la gran mayoría de amenazas para sistemas UNIX, como por ejemplo los em>rootkits, suelen emplear técnicas de ocultación, con lo que es razonable y prudente hacer un análisis de los mismos.

Por fortuna, es muy fácil obtener un listado completo de los ficheros ocultos usando la consola. Para ello ejecutamos:

/usr/bin/find / -name «.*» -exec ls -la {} \;

La lista de ficheros ocultos puede ser larga. De hecho, habitualmente lo es, ya que existen ciertos tipos de archivo que por diversas cuestiones, están ocultos. Lo que lo recomendable ante este escenario es llevarse los resultados a un fichero de texto, para posteriormente analizarlo con calma:

/usr/bin/find / -name «.*» -exec ls -la {} \; >> sample_ficheros_ocultos.txt

Este es el resultado que arroja una instalación Xubuntu por defecto. En nuestro caso, han aparecido más de 1000 registros, con lo que analizarlos todos puede suponer una tarea con un consumo excesivo de tiempo.

¿Qué solución podemos darle a esto? El análisis diferencial. Una buena manera de conocer qué cosas se han ocultado desde una instalación por defecto es compararla con el estado del sistema a la hora de conducir la auditoría. Si conocemos el estado inicial (instalación por defecto) es muy fácil conocer los cambios que se han producido en el sistema de ficheros en el momento de ejecutar el análisis. Para ello, extraemos un fichero, que llamaremos sample_ficheros_ocultos_2.txt y lo compararemos al que corresponde al estado inicial, nuestro sample_ficheros_ocultos.txt

diff sample_ficheros_ocultos.txt sample_ficheros_ocultos_2.txt

309a310
> -r–r–r– 1 root root 4096 2007-01-10 17:58 /sys/module/.rootkit_de_sergio_me_has_pillado

Hemos encontrado un presunto rootkit.

Resumen

Analizar los ficheros ocultos puede desvelar la presencia de elementos sospechosos en el sistema de ficheros. Si el volumen de ficheros es muy elevado, compararemos los sistemas de ficheros con un estado conocido y asegurado (instalación por defecto de la distribución escogida) y analizaremos las discrepancias.

En caso de producirse diferencias, investigaremos la naturaleza de cada fichero oculto desvelado.

6 comentarios sobre “Auditoría de sistemas UNIX. Parte 9. Ficheros ocultos

  1. Interesante serie de artículos la que estas escribiendo. Creo que cuando terminases podría ser interesante que los recopilases en un documento, es una sugerencia.

  2. LostScene,

    Es mi intención generar ese documento. Otro tema será sacar tiempo para ello, pero es mi intención, sí :)

    Me alegro de que te esté gustando la serie de artículos.

    Un saludo,

  3. Un enfoque menos simplista y más completo que el de simplemente inventariar y monitorizar los ficheros ocultos del sistema, sería el hecho de monitorizar todos aquellos archivos/directorios del sistema dignos de vigilancia (que podrían ser todos si se quiere una seguridad extrema, pero puede ser tedioso y generar un alto consumo de recursos).

    Para ello existen en GNU/Linux diversas herramientas que nos facilitan la tarea. Sin ir más lejos, tenemos en los repositorios de Debian a Tripwire (de los más famosos en eeste ámbito), Integrit (para los que quieran un menor footprint en memoria) y Bsign (éste no usa bases de datos para mantener los checksums, aunque se hace cargo de menos tipos de ficheros).

  4. Ah y por cierto, propongo un onliner ligeramente alterado para evitar que se ensucie la salida (no queremos ni . ni ..; en otras palabras, no queremos directorios):


    find / -type f -name ".*" -exec ls -la {} \; > salida.log

    Un saludo!

Comentarios cerrados.