Ningún sistema está a salvo del malware. Pese a que en este caso
particular la severidad del troyano ha sido calificada por los
laboratorios como escasa, no deja de ser relevante que el troyano
explote vulnerabilidades ajenas a Microsoft Windows, objetivo habitual
del malware. En esta ocasión, el troyano está orientado a la explotación
de los problemas XML-RPC en servidores de PHP en máquinas Linux.

La vulnerabilidad que ha dado origen a este espécimen data originalmente
del 29 de junio de 2005, fecha en la que James Bercegay notificó que
existía un problema de seguridad en XML-RPC para PHP, y que explotada
exitosamente podría conducir al atacante a comprometer un sistema
vulnerable. Los datos de entrada de un documento XML que no estuvieran
correctamente saneados antes de ser empleados en la función de evaluación
«eval()» podrían ser, en ausencia del saneado, empleados para inyectar
código arbitrario a través de documentos XML especialmente preparados.

Pese a que el problema lleva resuelto desde hace tiempo, bien es sabido
que no todo el mundo actualiza sus sistemas con la conveniente celeridad
y no menos cierto es que la administración de sistemas es compleja y a
veces los usuarios se conforman con que aquello que han instalado,
simplemente, funcione. De hecho, hay multitud de servidores PHP con
soporte XML-RPC no actualizados en la actualidad, lo que faculta al
troyano a poder explotar la vulnerabilidad.

Los investigadores de SANS han realizado análisis del troyano y han
determinado que realiza operaciones de escucha y comunicación empleando
el puerto UDP 7111 a través de la función «audp_listen», función invocada
habitualmente para la creación de sockets. Los valores de socket, número
de puerto y la información genérica del socket se almacenan en la variable
global «udpserver». El gusano instala un troyano usando wget, y permite
en caso de vulnerabilidad, tal y como se ha especificado, la ejecución de
código arbitrario con los privilegios del usuario del servidor web, lo
cual resta importancia al problema. El troyano efectúa peticiones a
servidores Web, y según los investigadores, los sistemas sin actualizar
podrían necesitar una purga completa y una reinstalación del sistema
operativo para su vuelta a la normalidad.

El troyano ya ha sido bautizado por los distintos laboratorios antivirus:
A las 12:10 p.m del día 9 de noviembre de 2005, los motores antivirus
denominan al espécimen tal y como sigue (resultados tomados de
VirusTotal.com)

AntiVir: Worm/Linux.Lupper.A
Avira: Worm/Linux.Lupper.A
ClamAV: Exploit.Linux.Lupii
DrWeb: Linux.Lupii
eTrust-Vet: Linux/Lupper.B
Fortinet: Linux/Lupper.X-exploit
F-Prot: Unix/Lupii.A
Kaspersky: Net-Worm.Linux.Lupper.a
McAfee: Linux/Lupper.worm
NOD32v2: Linux/Lupper.A
Norman: Linux/Lupper.A
Sophos: Linux/Lupper-B
Symantec: Linux.Plupii

La cantidad enorme de sistemas y aplicaciones susceptibles de sufrir los
efectos del troyano, es amplísima: todos aquellos productos que en su
día eran susceptibles de la vulnerabilidad XML-RPC descrita, y que no
hayan sido actualizados hasta la fecha, podrían ser víctimas del troyano:
Debian, SuSe, Redhat, Ubuntu, Trustix, Gentoo, Red Hat Enterprise, Fedora
Core, Conectiva, Mandriva, Turbolinux, Sun Cobalt, Xoops, WordPress,
Tikiwiki, Postnuke, phpWebsite, PHPHGroupWare, Drupal …

Se recomienda a los administradores de soluciones que aparezcan como
vulnerables (consúltese enlace al pie del mensaje) que actualicen las
mismas de modo inmediato.

Sergio Hernando
shernando@hispasec.com

Más información:

XML-RPC for PHP Vulnerability Attack
http://isc.sans.org/diary.php?storyid=823

XML-RPC for PHP Remote Code Injection Vulnerability
http://www.securityfocus.com/bid/14088/

Listado de aplicaciones vulnerables
http://www.securityfocus.com/bid/14088/info

Compártelo: