- Rootkit
-
Rootkit
Un rootkit es una herramienta, o un grupo de ellas que tiene como finalidad esconderse a sí misma y esconder otros programas, procesos, archivos, directorios, claves de registro, y puertos que permiten al intruso mantener el acceso a un sistema para remotamente comandar acciones o extraer información sensible. Existen rootkits para una amplia variedad de sistemas operativos, como GNU/Linux, Solaris o Microsoft Windows.
Algunas versiones españolas de programas lo han traducido como «Encubridor».
Contenido
Origen de los rootkits
El origen de los rootkits puede ser muy variado. La mayoria aparecen desde los emuladores y descargadores de archivos mediante varios virus lo cual se le podria decir que aparte de encubrir es un duplicador de ellos.
Uso de los rootkits
Un rootkit se usa habitualmente para esconder algunas aplicaciones que podrían actuar en el sistema atacado. Suelen incluir backdoors (puertas traseras) para ayudar al intruso a acceder fácilmente al sistema una vez que se ha conseguido entrar por primera vez. Por ejemplo, el rootkit puede esconder una aplicación que lance una consola cada vez que el atacante se conecte al sistema a través de un determinado puerto. Los rootkits del kernel o núcleo pueden contener funcionalidades similares. Un backdoor puede permitir también que los procesos lanzados por un usuario sin privilegios de administrador ejecuten algunas funcionalidades reservadas únicamente al superusuario. Todo tipo de herramientas útiles para obtener información de forma ilícita pueden ser ocultadas mediante rootkits.
Los rootkits se utilizan también para usar el sistema atacado como "base de operaciones", es decir, usarlo a su vez para lanzar ataques contra otros equipos. De este modo puede parecer que es el sistema infiltrado el que lanza los ataques y no el intruso externo. Este tipo de ataques podrían ser de denegación de servicio (DoS), ataques mediante IRC o mediante correo electrónico (spam).
Tipos de rootkits
Tipos básicos
Los rootkits se pueden clasificar en dos grupos: los que van integrados en el núcleo y los que funcionan a nivel de aplicación. Los que actúan desde el kernel añaden o modifican una parte del código de dicho núcleo para ocultar el backdoor. Normalmente este procedimiento se complementa añadiendo nuevo código al kernel, ya sea mediante un controlador (driver) o un módulo, como los módulos del kernel de Linux o los dispositivos del sistema de Windows. Estos rootkits suelen parchear las llamadas al sistema con versiones que esconden información sobre el intruso. Son los más peligrosos, ya que su detección puede ser muy complicada.
Los rootkits que actúan como aplicaciones pueden reemplazar los archivos ejecutables originales con versiones crackeadas que contengan algún troyano, o también pueden modificar el comportamiento de las aplicaciones existentes usando hacks, parches, código inyectado, etc.
Ejemplos
- Algunos troyanos han utilizado estos rootkits no-persistentes ( FU Rootkits ) que cargan en la memoria una vez que ellos se encuentran instalados.
- SuckIT
- Adore
- T0rn
- Ambient's Rootkit (ARK)
- Hacker Defender
- First 4 Internet XCP (Extended Copy Protection) DRM
- (en inglés) Rootkit.com rootkits PoC gratuitos.
- (en francés) RkU Test Rootkit & Unreal rootkits para someter a un test sus softwares de protección.
- Rootkit de núcleo : UACd (Agrega un driver de muy bajo nivel llamado UACd.sys)
- Rootkits de Macintosh
Detección de rootkits
Hay limitaciones inherentes a cualquier programa que intente detectar rootkits mientras se estén ejecutando en el sistema sospechoso. Los rootkits son aplicaciones que modifican muchas de las herramientas y librerías de las cuales depende el sistema. Algunos rootkits modifican el propio kernel (a través de módulos y otros métodos como se indica más arriba). El principal problema de la detección de rootkits consiste en que el sistema operativo en ejecución no es fiable globalmente. En otras palabras, algunas acciones como pedir la lista de los procesos en ejecución o listar los ficheros de un directorio no son fiables al no comportarse como deberían.
El mejor método para detectar un rootkit es apagar el sistema que se considere infectado y revisar o salvar los datos arrancando desde un medio alternativo, como un CD-ROM de rescate o un PenDrive. Un rootkit inactivo no puede ocultar su presencia. Los programas antivirus mejor preparados suelen identificar a los rootkits que funcionan mediante llamadas al sistema y peticiones de bajo nivel, las cuales deben quedar intactas. Si hay alguna diferencia entre ellas, se puede afirmar la presencia de un rootkit. Los rootkits intentan protegerse a sí mismos monitorizando los procesos activos y suspendiendo su actividad hasta que el escaneo ha finalizado, de modo que el rootkit no pueda ser identificado por un detector.
Los fabricantes de aplicaciones de seguridad han ido integrando los detectores de rootkits en los productos tradicionales de detección de antivirus. Si un rootkit consigue esconderse durante el proceso de detección, será identificado por el detector de rootkits, que busca movimientos sospechosos. Si el rootkit "decide" detenerse momentáneamente, será identificado como un virus. Esta técnica combinada de detección puede obligar a los atacantes a implementar mecanismos de contraataque (también llamados retro-rutinas) en el código del rootkit, con el objetivo de eliminar los procesos creados por el software de seguridad, eliminando así al programa antivirus de la memoria. Al igual que con los virus convencionales, la detección y eliminación de los rootkits será una batalla permanente entre los creadores del rootkit y de los programas de seguridad.
Hay varios programas disponibles para detectar rootkits. En los sistemas basados en Unix, dos de las aplicaciones más populares son chkrootkit y rkhunter. Para Windows está disponible un detector llamado Blacklight (gratuito para uso personal) en la web de F-Secure. Otra aplicación de detección para Windows es Rootkit Revealer de Sysinternals. Detecta todos los rootkits actuales comparando las funcionalidades del sistema operativo original con las que se han detectado. Sin embargo, algunos rootkits han empezado a añadir este programa a la lista de los cuales no deben esconderse. En esencia, eliminan las diferencias entre los dos listados, de modo que el detector no los encuentra. Pero algo tan simple como renombrar el fichero rootkitrevealer.exe hace que el rootkit ya no sepa que se está enfrentando a un detector. Como se decía antes, será una continua batalla entre los rootkits y los antivirus.
Véase también
Enlaces externos
- Verificar Linux contra rootkits con rkhunter y chkrootkit
- ROOTKIT. COM - comunidad de desarrollo de rootkits
- Detectando rootkits
- Rootkits en el kernel de Linux
- Análisis del rootkit T0rn
- Rootkits para Windows y Linux y software de detección(En alemán)
- Ejemplo de un rootkit eliminado como un virus
- Anti-trojan.org: Información sobre troyanos en rootkits y software de detección
- Strider GhostBuster Rootkit Detection
- Unix Rootkits en packet storm security
Software de detección de rootkits
Freeware
- www.antirootkit.com (Windows/UNIX/Linux)
- chkrootkit (UNIX/Linux)
- rkhunter (UNIX/Linux)
- RootkitRevealer (Windows)
- klister es un grupo de herramientas en fase preliminar
- flister programa para detectar archivos ocultos por rootkits en Windows
- IceSword (Windows) (en francés) Tutoriel
- Rootkit Unhooker (Windows) RkUnhooker (en francés) Tutoriel
- AVG Anti-Rootkit Free (Windows) (en inglés)
- Avira Anti-Rootkit Free (Windows) (en inglés)
- avast! Home con Anti-Rootkit integrado (Windows)
Shareware- Rkdetector v2.0 Orientado al análisis forense permite detectar y eliminar rootkits además de poder ser usado como software de recuperación de datos.
- Blacklight (versión beta) de F-Secure tiene versión en línea de comandos y gráfica.
- Security Task Manager es un gestor de tareas avanzado que puede mostrar procesos y servicios ocultos
- TaskInfo de Igor Arsenin es otro gestor de tareas mejorado
- unhackme de Greatis software
- Trojanhunter de Mischel Internet Security AB
- ProcessGuard de Diamond Computer Systems Pty. Ltd.
- Rootkit Downloads Descargas de anti-rootkits y rootkits (en alemán).
- avast! Profesional con Anti-Rootkit integrado (Windows)
Comparativo
- (en inglés) Six Rootkit Detectors Protect Your System (Serdar Yegulalp - InformationWeek)
Categorías: Seguridad informática | Hacking | Programas maliciosos
Wikimedia foundation. 2010.