rkhunter: detectando rootkits

Todos los sistemas informáticos son vulnerables de ser atacados por virus, troyanos, etc. Cuanto más popular es el sistema entre los usuarios, mayor es la probabilidad de que éste sea atacado y se construyan "bichos" para infectarlo y conseguir su control.
Por suerte o no tanta suerte, el uso de GNU/Linux no está todavía muy extendido, por lo que no existe un gran número de vulnerabilidades que le afecten. Por la estructura interna del sistema, los rootkits son el malware que más puede afectar al funcionamiento de un sistema GNU/Linux y aunque no es habitual una infección por ellos, nunca demás controlar el sistema.
Un rootkit es un herramienta o grupo de herramientas, que tienen como objetivo, por un lado esconderse a si mismas de ser detectadas y por otro, esconder ciertos programas, procesos, archivos, etc. que permitan a un atacante el acceso al sistema. En sistemas GNU/Linux, un rootkit se puede instalar dentro del kernel, como módulo o dentro de una aplicación propia del sistema. Por ejemplo, el atacante puede sustituir el comando top, por un nuevo top con el backdoor.

rkhunter es una herramienta que permite detectar rootkits, backdoors y exploit's locales, según deferentes formas de escaneo que posee. Estas formas de escaneo son previamente definidas en el software y es gracias a ellas que puede detectar la gran mayoría de intrusos dentro de un sistema.
Los principales check's que realiza son:
  • Base de datos MD5: base de datos de los principales archivos del sistema. Está predefinida. En cada escaneo se compara el MD5 del archivo con el correcto, comprobando así si legitimidad.
  • Archivos por defecto: comprueba diferentes archivos y directorios, habitualmente usados por rootkits.
  • Archivos ocultos: busca archivos ocultos en lugares poco frecuentes, como por ejemplo /etc.
  • Procesos existentes: compara los procesos devueltos por ps con los existentes en /proc.
  • Permisos de archivos: garantiza que los principales ficheros del sistema tengan los permisos correctos.
  • Módulos del kernel: verifica los módulos cargados en el kernel.
  • Puertos abiertos: comprueba los puertos abiertos y los procesos que los deberían de tener abiertos.

Para configurar rkhunter, existe un fichero de configuración (/etc/rkhunter.conf) que permite modificar determinados comportamientos del sistema y al forma de usarlo es muy simple, como se muestra a continuación.

shell> rkhunter --help 
Current options are:
-c, --check                                    Comprueba el sistema
--propupd [file | directory |package]  Actualiza la base de datos del sistema al estado actual
--update                                        Comprueba si hay actualizaciones de ficheros
shell> rkhunter --update
[ Rootkit Hunter version 1.3.6 ]
Checking rkhunter data files...
  Checking file mirrors.dat                               [ No update ]
  Checking file programs_bad.dat                    [ No update ]
  Checking file backdoorports.dat                    [ No update ]
  Checking file suspscan.dat                           [ No update ]
  Checking file i18n/cn                                    [ No update ]
  Checking file i18n/de                                    [ No update ]
  Checking file i18n/en                                    [ No update ]
  Checking file i18n/zh                                    [ No update ]
  Checking file i18n/zh.utf8                              [ No update ]

shell> rkhunter --propupd 
[ Rootkit Hunter version 1.3.6 ]
File updated: searched for 162 files, found 128

shell> rkhunter -c 
[ Rootkit Hunter version 1.3.6 ]
Checking system commands...
  Performing 'strings' command checks
    Checking 'strings' command                       [ OK ]
  Performing 'shared libraries' checks
    Checking for preloading variables                 [ None found ]
    Checking for preloaded libraries                   [ None found ]
    Checking LD_LIBRARY_PATH variable        [ Not found ]
  Performing file properties checks
    Checking for prerequisites                          [ OK ]
    /bin/bash                                                  [ OK ]
    /bin/cat                                                    [ OK ]
    /bin/chmod                                               [ OK ]
    /bin/chown                                               [ OK ]
    /bin/cp                                                     [ OK ]
    /bin/date                                                  [ OK ]
    /bin/df                                                      [ OK ]
    ....


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios