Como detectar Rootkits en Linux

Un rootkit es una herramienta, o un grupo de ellas usadas para esconder los procesos y archivos que permiten al intruso mantener el acceso al sistema, a menudo con fines maliciosos. Hay rootkits para una amplia variedad de sistemas operativos, como Linux, Solaris o Microsoft Windows.

Gracias Wikipedia.

En All About Linux, se nos presenta la una forma sencilla de detectar rootkits en Linux a través del programa Rootkit Hunter.

Dentro de lo que puede detectar tenemos: 55808 Trojan - Variant A, ADM W0rm, AjaKit, aPa Kit, Apache Worm, Ambient (ark) Rootkit, Balaur Rootkit, BeastKit, beX2, BOBKit, CiNIK Worm (Slapper.B variant), Danny-Boy's Abuse Kit, Devil RootKit, Dica, Dreams Rootkit, Duarawkz Rootkit, Flea Linux Rootkit, FreeBSD Rootkit, Fuck`it Rootkit, GasKit, Heroin LKM, HjC Rootkit, ignoKit, ImperalsS-FBRK, Irix Rootkit, Kitko, Knark, Li0n Worm, Lockit / LJK2, mod_rootme (Apache backdoor), MRK, Ni0 Rootkit, NSDAP (RootKit for SunOS), Optic Kit (Tux), Oz Rootkit, Portacelo, R3dstorm Toolkit, RH-Sharpe's rootkit, RSHA's rootkit, Scalper Worm, Shutdown, SHV4 Rootkit, SHV5 Rootkit, Sin Rootkit, Slapper, Sneakin Rootkit, Suckit, SunOS, Rootkit, Superkit, TBD (Telnet BackDoor), TeLeKiT, T0rn Rootkit, Trojanit Kit, URK (Universal RootKit), VcKit, Volc Rootkit, X-Org SunOS Rootkit, zaRwT.KiT Rootkit
y.... algunos sniffers, backdoors conocidos, Anti Anti-sniffer, LuCe LKM, THC. Backdoor.

Los pasos para poder usar R. Hunter:

  • Bajarlo.-

$ wget http://downloads.rootkit.nl/rkhunter-(version).tar.gz

  • Revisar el MD5 del paquete bajado.-

$ md5sum rkhunter-(version).tar.gz

nota: el MD5 debería coincidir con
41122193b5006b617e03c637a17ae982 <--- corresponde a la versión 1.2.8

  • Extraerlo.-

$ tar zxf rkhunter-(version).tar.gz

  • Instalar.-

$ cd rkhunter
$ sudo ./installer.sh

  • Ejecutar.-

$ sudo -s
# rkhunter -c


screenshot_rhunter_inicio.pngscreenshot_rhunter_scan.pngscreenshot_rhhunter_resultado.png

Dentro de las opciones para su uso tenemos.

rkhunter (opción)

--checkall (or -c)
Verificar el sistema, realizar todas las verificaciones.

--createlogfile*
Crear un archivo log (se guarda en /var/log/rkhunter.log)

--cronjob
Correr como cronjob (tarea programada), (la info. se desplegara sin color)

--help (or -h)
Muestra la ayuda para usar el programa.

--nocolors*

No usar color para desplegar la información del programa (Para terminales que no entiendan o mal interpreten esta opción)

--report-mode*
No reportar información irrelevante, como header/footer. Como cuando se usa como cronjob o otro programa.

--skip-keypress*
No esperar antes de cada test (no interactivo)

--quick*
Realizar una exploración rápida (en vez de una completa). Saltarse algunas pruebas y realizar las más importantes (no es conveniente para exploraciones normales).

--version
Mostrar la versión y salir.

--versioncheck
Verificar la última versión.

Dynamic paths
--bindir (bindir)*
Usar otro directorio para buscar los binarios (uso en vez de los binirario por defecto)

--configfile (file)*
Usar otro archivo de configuración (si no usa el que está por defecto).

--dbdir (dir)*
Usar otro directorio para la base de datos (si no utiliza el que está ubicado en, /usr/local/rkhunter/db)

--rootdir (rootdir)*
Usar otro directorio raiz (normalmente '/'). Todos los binarios y test se realizan en ejecutan en este directorio (rootdir).

--tmpdir (tempdir)*
Usar otro directorio para guardar los archivos temporales.

Opciones explicitas de busqueda:

--disable-md5-check*
Desactivar la verificación del MD5.

--disable-passwd-check*
Desactivar la verificación del passwd/group

--scan-knownbad-files*
Detectar solo los rootkits 'malos conocidos'.

Detecting Rootkits In GNU/Linux [Vía Slashdot]