| Artículos | 01 MAR 2010

Rootkits: el enemigo interior oculto

Tags: Histórico
Todo sobre la ocultación de actividad maliciosa en sistemas comprometidos
Gonzalo Álvarez.
A todos los criminales les gustaría volverse invisibles mientras perpetran sus fechorías, para lo que gustosos beberían la poción de invisibilidad de Griffin. En el mundo informático los rootkits actúan como poción mágica para ocultar la presencia de otros programas y archivos en el sistema. Más aún, los rootkits consiguen violar la confianza básica que todo programa, incluidos los escáneres antimalware, tiene en las llamadas del sistema operativo, falsificando los resultados devueltos, de manera que los programas maliciosos permanezcan a todos los efectos invisibles: no se ven sus procesos asociados, ni su espacio en disco, ni en el registro e incluso ni sus comunicaciones. en este artículo se repasa el funcionamiento de los rootkits y cómo protegerse frente a ellos.

La película de Frankenheimer El mensajero del miedo de 1962 nos retrata una situación inquietante y conspiranoica: el cerebro de un héroe de guerra es manipulado por los comunistas para poder introducirlo en las altas esferas políticas norteamericanas sin despertar sospechas y de esa manera ocultar sus malvados planes de dominio del mundo. Salvando las distancias, esta misma situación se produce con alarmante frecuencia en los ordenadores una vez han sido comprometidos: pueden sufrir la instalación de un software cuya misión consiste en ocultar la existencia de archivos y procesos los cuales permiten al intruso mantener el acceso al sistema y realizar actividades ilegítimas. Este tipo de software utilizado para preservar de forma consistente e indetectable la actividad maliciosa se denomina genéricamente rootkit, nombre que originalmente denotaba un kit de herramientas para mantener acceso de tapadillo al root del sistema, es decir, el superusuario o administrador de las máquinas Unix, entorno donde aparecieron los primeros rootkits conocidos a principios de los 90.
Por su propia naturaleza, los rootkits resultan muy difíciles de detectar. Las herramientas convencionales del sistema operativo para listar procesos en ejecución y archivos del disco duro son manipuladas por el rootkit de manera que ni éste ni los programas y archivos cuya presencia oculta serán detectados. Por ejemplo, un rootkit podría manipular el comando del sistema operativo dir de manera que no liste ciertas carpetas y archivos donde se oculta el malware o podría manipular el Administrador de tareas para que no liste los procesos maliciosos. Los primeros rootkits en Unix modificaban los comandos ls y ps, que realizan esas mismas acciones respectivamente. A medida que estas rudas técnicas de troyanización fueron descubiertas por el software antivirus y de detección de intrusiones como Tripware, los rootkits tuvieron que evolucionar y ocultarse en el kernel del sistema. En este caso, incluso los programas antivirus tendrán dificultades para detectarlos, ya que el rootkit falsificará las respuestas a todas las consultas realizadas por el propio antivirus para saber qué procesos se están ejecutando o qué archivos existen en una carpeta. Para descubrir su presencia es necesario recurrir a software antirootkit, especializado en detectar a los rootkits.
Aunque se crearon en el contexto Unix, pronto saltaron a otros sistemas operativos, siendo hoy en día Microsoft Windows una de las plataformas favoritas de los rootkits, también debido a la gran base de usuarios de que disfruta. Aunque en número muy reducido, también se conocen rootkits para Mac OS. ¡Ningún sistema operativo está a salvo de los rootkits! Ahora bien, dado que Windows es el sistema más extendido con diferencia, la mayoría de creadores de malware suelen concentrarse en este sistema operativo para obtener el máximo beneficio por su esfuerzo.
En este artículo se dará un breve repaso a las nociones básicas sobre qué son los rootkits, cómo operan, cómo detectarlos y eliminarlos.

Para qué sirven los rootkits
Cuando un ciberatacante penetra en un sistema, pueden moverle infinidad de motivos. En algunos tipos de ataque, como por ejemplo aquellos que persiguen robar información de forma prolongada, el intruso necesitará conservar el acceso al equipo comprometido para poder volver a entrar con facilidad en el futuro tantas veces necesite y que su actividad de espionaje pase desapercibida, al menos ante una inspección casual. Para conservar el acceso hará falta la instalación de una puerta trasera, mientras que para ocultar tanto la presencia de dicha puerta como la actividad maliciosa realizada, hará falta un rootkit. Por consiguiente, los rootkits no sirven para penetrar en sistemas, ni son propiamente un virus, ni proporcionan acceso al administrador o al root. Simplemente son programas que sirven para ocultar la presencia de otros programas y archivos en el sistema. Podríamos compararlos a la capa de invisibilidad de Harry Potter: los rootkits permiten ocultar información del sistema: archivos, claves del Registro, conexiones de red, procesos en ejecución, bloques de memoria, ... Aunque pueden encontrarse usos legítimos y justificados para los rootkits, lo cierto es que suelen destinarse a usos maliciosos. El caso de Sony constituye un destacado ejemplo de libro de un uso pretendidamente legítimo que desató la polémica por la forma irresponsable en que se llevó a cabo todo el proceso (vea el recuadro Sony nos espía y pone en peligro).
Ahora bien, si el ciberatacante persigue interrumpir el servicio, destruir la información o robarla una sola vez, pero sin necesidad de regresar al sistema, entonces el sigilo y la cautela son completamente innecesarios y por tanto los rootkits se vuelven igualmente prescindibles. De hecho, si se busca robar información sin volver jamás, es mejor no dejar ningún rastro ni ningún programa instalado, ni siquiera un rootkit.
Además de ocultarse a sí mismos y a otros programas, los rootkits a menudo proporcionan otras dos funcionalidades: control remoto y espionaje.
Gracias al control remoto, los root–kits permiten a un ciberatacante ejecutar comandos del sistema operativo proporcionando acceso al intérprete de comandos, como por ejemplo cmd.exe en sistemas Windows o /bin/sh en sistemas Unix. Normalmente el rootkit secuestra un puerto que mantiene abierto para permitir la comunicación furtiva con el ciberatacante remoto en ambos sentidos.
En cuanto al espionaje, algunos root–kits también actúan como sniffers para interceptar tráfico de red que entra y sale del equipo de la víctima o como keyloggers para registrar sus pulsaciones de teclado, principalmente con la intención de interceptar información financiera de la desprevenida víctima.
Es importante señalar que los root–kits no son propiamente malware, aunque están íntimamente ligados. El rootkit necesitará del malware para instalarse en el sistema comprometido. Una vez cargado el rootkit, éste se utiliza para ocultar más malware. En cualquier caso, los rootkits suelen estar clasificados como una categoría del malware, a menudo junto con los troyanos.

Cómo funcionan los rootkits
Los rootkits funcionan realizando modificaciones sobre ciertos programas del sistema operativo de manera que éstos realicen incorrectamente su trabajo en beneficio del rootkit. Los rootkits se esconden al conseguir que el sistema operativo mienta en su favor, interceptando y filtrando información del sistema, de manera que las respuestas del sistema operativo excluyan cualquier indicio de la existencia del rootkit. Los rootkits consiguen violar la confianza básica que

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información