Descubierto un nuevo rootkit para servidores Linux

Se ha descubierto un rootkit interesante para servidores Linux, que inyecta código en todas las páginas servidas por el servidor Proxy nginx, muy usado como “puerta” hacia Apache en servidores *nix en sitios de tráfico intenso.

Un usuario envió un correo a la lista de seguridad Full Disclosure afirmando que había descubierto sus sistemas Debian infectados por lo que parecía un “rootkit trabajando junto con nginx“. Se trataba de un administrador que se había percatado de que los visitantes de su web estaban siendo redireccionados a sitios infectados. Varios tipos de petición hacia ese servidor web, devolvía un iframe inyectado en la página, que llevaba a un punto donde se intentaba infectar a los usuarios de Windows. El administrador descubrió también procesos ocultos (típico comportamiento de un rootkit) y los módulos del kernel responsables del problema, que adjuntó al correo de alerta para que pudiera ser estudiado.
Parece que el sistema de este administrador ha sido efectivamente comprometido (a nivel de root, al tratarse de un módulo para el kernel) para incluir un rootkit en él, y modificar el comportamiento de su servidor web. Así, todos los visitantes podían ser redirigidos a páginas de malware.
Nos encontramos pues ante una pieza más del puzle. Un nuevo método de distribución que implica una pieza de software interesante que previamente se desconocía. Se ha dado en llamar Rootkit.Linux.Snakso, y por ahora su detección es mínima (6 de 43 motores).
El principal problema para este rootkit es que si bien puede pasar desapercibido en el sistema, es muy fácilmente detectable por su propio funcionamiento: cualquier visitante de la web puede comprobar que se añaden iframes hacia ciertas webs sospechosas.
Cómo funciona
Está diseñado para atacar sistemas Linux de 64 bits y se ha compilado para la versión 2.6.32-5 que utiliza Debian Squeeze. Intercepta las llamadas a ciertas funciones del kernel para poder cumplir su función y, además, acepta instrucciones de un sistema central. Puede que esté en desarrollo aún. El atacante ha sido muy descuidado, porque el binario todavía contiene toda la información de “debug“, y no ha sido “strippeado” (eliminada esa información). También se intuye que no es muy profesional. Algo interesante es que llega a muy bajo nivel para inyectar los iframes, sustituyendo la función de sistema tcp_sendmsg, así que el troyano modifica directamente los paquetes TCP que salen del servidor. Para saber qué inyectar, se conecta a su controlador con protocolo propio, protegido por contraseña cifrada.
Las IPs públicas que aparecen en el módulo son:
91.123.100.207
149.20.20.133
149.20.4.69
64.189.125.254
Como curiosidad, en vez de comprobar que la página servida ofrece un 200 para “inyectarse” (un OK en código HTTP) está programado para no mostrarse solo cuando se da un 403, 304 o la cadena “not found on this server” (o sea, un 404). Esta lógica es un poco extraña y seguro ha acelerado el proceso de descubrimiento.
Conclusiones
Los rootkits o el malware en Linux no son nuevos. La novedad consiste en que se ha creado un rootkit nuevo para entornos Linux, cuando lo habitual es nutrirse de código ya hecho. Otro asunto extraño es el aroma a “novato” de este rootkit. No parece un ataque dirigido, sino algo que apuntaba a infectar más sistemas. Sin embargo no cuenta con ningún mecanismo de reproducción. El atacante ha debido o bien tener acceso como root a la máquina infectada o el administrador ha quedado infectado a través de algún método que desconocemos. Hasta aquí, todo misterios.
Eliminando estos aspectos, el encuadre del ataque no es nada nuevo: los atacantes se nutren de servidores en cualquier plataforma (páginas comprometidas habitualmente) para infectar Windows. El “objetivo” de la infección es habitualmente Windows, pero no es extraño que el “medio” sea cualquier otra plataforma para maximizar su difusión.
Es, en realidad, un paso más allá en el sistema de distribución de malware. Si bien hasta ahora habíamos sido testigos de páginas comprometidas donde se añadían enlaces maliciosos, no eran comunes ataques en los que todo el sistema del servidor web se viese comprometido hasta sus entrañas… y mucho menos a través de un rootkit para Linux.
Más información:
linux rootkit in combination with nginx
http://seclists.org/fulldisclosure/2012/Nov/94
HTTP iframe Injecting Linux Rootkit
http://blog.crowdstrike.com/2012/11/http-iframe-injecting-linux-rootkit.html

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: