(
Jordi
Camps - 27/12/2004) En un principio, el "virus"
llamado “
NeverEverNoSanity”,
se consideró un bug de los foros
phpBB.
Más tarde se han dado cuenta que el problema
no es de los scripts de estos foros sino algo
peor: los
agujeros de seguridad del mismo
sistema en PHP.
¿Qué palabrería, ¿realmente
esto qué significa?
Simplemente que las versiones vulnerables (NO
todas), permiten la ejecución de cualquier
comando que se ejecute en el mismo servidor. Actualmente,
la mayoría de los servidores de Internet,
para el desarrollo de páginas web, utilizan
versiones de PHP. Por lo tanto, cada vez que cualquiera
de nosotros esté navegado por Internet
entre páginas php, el servidor web (apache
u otro) envía la página al m
otor
PHP instalado en el mismo servidor, procesando
los datos y, finalmente, el servidor web lanza
los resultados a nuestro explorador.
¿Cómo funciona el “virus”?
Buscar las
páginas vulnerables
(“contienen los
problemas de seguridad
de PHP”) que usan como “puerta
de acceso”. Lamentablemente los
foros
phpBB son muy comunes y ofrecen esta puerta
de entrada desde el archivo "
viewtopic.php"
al no procesar adecuadamente los datos enviados
a través del parámetro "
highlight",
lo que permite a un atacante ejecutar comandos
arbitrarios de forma remota. Sobre esta vulnerabilidad,
el primer precedente fue el pasado 19 de noviembre
gracias a la compañía
Secunia.
Son dispares las estimaciones hasta la fecha según
Santiago Carro en una notícia publicada
en
PC
World "
Mientras unos desarrolladores
sitúan a Santy.A con unos 30.000 impactos
en versión beta de MSN, éstos mismos
apuntaban muchos menos impactos, con 785 impactos
en MSN y poco más de 2.000 en Yahoo!”
Combinando estas dos cosas:
Bug en PHP y
la página (viewtopic.php) que se
encuentra en millones de sitios, uno puede hacer
lo que quiere en ese sistema desde millones de
sitios.
Y para conseguirlo, los creadores de
Santy.A
("cómo se le ha llamado finalmente"),
se las ingeniaron para:
1. buscar en Google los sitios que
usan phpBB
2. desde la página de viewtopic.php,
suben al host y ejecutan un script
que:
a. incrementan su número de generación
b. combina fórmulas para
usar el host para acceder a google y busca
más candidatos.
c. si la generación es mayor a 3, sobrescribe
todas las páginas .php .html
.asp .shtml (…) con un texto como: "This
site is defaced!!!" y "NeverEverNoSanity
WebWorm Nro generacion".
Santy.A posee en su código
una rutina que realiza constantemente búsquedas
en Google de 100 URLs que contengan la cadena
“viewtopic.php”.
¿Y cómo lo hace?
Los ingeniosos de Santy.A,
para evitar siempre localizar a los mismos
100 sitios webs, el gusano incluye en cada
nueva búsqueda un número aleatorio
para indicar a partir de que resultado quiere
el listado, de entre los más de 8 millones
de páginas que Google tiene indexadas
con las características especificadas
en la búsqueda del gusano.
Cómo decía, hay muchos servidores
que utilizan Apache y No corren como suExec,
es decir, cuando ejecutan los scripts lo hacen
con el UID/GIG del servidor que acceden, copiándose
en el sistema con el nombre de archivo "m1ho2of"
y ejecutándose a través de "perl
-e". Así, el servidor infectado
comienza su rutina buscando a través
de Google, infectando a otras posibles víctimas
que tengan instalada una versión de
phpBB anterior a la 2.0.11. Podéis
encontrar la más reciente a en: http://www.phpbb.com/downloads.php
El acceso a los archivos no solo se limita
a php, sino que en su código incluye
una rutina para buscar en los sistemas infectados,
todos los archivos con extensión .htm,
.php, .asp, .shtm, .jsp y .phtm y los sobrescribe
con el código HTML de una página
web con fondo negro y color de texto rojo
con el siguiente mensaje:
This site is defaced!!!
NeverEverNoSanity WebWorm generation *
Donde (*) es un número que hace
las veces de contador:
Por lo tanto, una vez dentro, adquiere todos
los permisos del sistema, pudiendo crear/borrar/sobrescribir
en todos los otros sitios de Internet de un
mismo host (shared hosting).
Por ejemplo:
Si nuestro host encontrado es: www.netdebugger.com
Todas mis páginas interiores son vulnerables
a Santy.A:
www.netdebugger.com/Fallo_seguridad_Google_Desktop.php
¿Cómo está la situación
actual?
- Google ha empezado a intentar
frenar la ejecución de Santy.A,
las “queries” que buscaban más
sitios phpBB/viewtopic.php. Pero esto sólo
es una solución parcial al problema
más grave. Los creadores de Santy.A
u otros “hackers” fácilmente
pueden lanzar, la misma u otra versión
de Santy.A, a otros motores de búsqueda
(MSN, Yahoo, etc) o incluso pueden
seguir usando google con un “query”
distinto.
Los motores de búsqueda pueden limitar
cada nuevo “query”, pero para
cuando identifiquen las nuevas cadenas de
búsqueda del gusano, será
tarde.
Muchos estarán pensando “Google
ya ha encontrado la solución, no
tengo que preocuparme más”.
– Y es un grave error.
- Ante este problema, algunos ya han actualizado
sus versiones a una NO vulnerables
de phpBB, una de ellas es la 2.0.11.
Pero seguiremos sin resolver el problema,
si bien es cierto que se trata de una versión
NO vulnerable, pero el verdadero problema
es otro.
Lo único que hace esta versión
de phpBB es no ofrecer la
página viewtopic.php como puerta
de entrada a las versiones vulnerables de
PHP. Por otro lado, creéis que todos
los webmasters actualizarán sus versiones
a la phpBB 2.0.11, yo creo
que es algo poco probable a corto plazo.
Hasta entonces, los creadores de Santy.A
simplemente deben buscar algún otro
software popular que contengan páginas
php de cierto tipo para usarlas como puerta
de acceso a la ejecución remota desde
cualquier otro software famoso como: vBulletin,
phpNuke, Invision Board programas OScomerce,
etc...
– Si alguno se atreve, puede ver el
avíso
de seguridad de PHP.
- Por otra parte, las casas antivirus
han reaccionado a posteriori publicando
firmas para su detección, pero siguen
poco útiles ya que la mayoría
de servidores web infectados utilizan Unix
o Linux, que no suele contar
con antivirus residentes instalados,
para poder analizar todos los archivos que
se escriben en el sistema y/o dispositivo
antivirus que filtre el tráfico antes
de su ejecución, es decir, cuando
uno de nosotros accede un web, no existe
ningún antivirus (“por el momento”)
que analice nuestra petición
Navegando he encontrado que Sophos
Antivirus ha encontrado alguna solución
(?????).
Y si seguimos investigando, podemos encontrar
otras muchas posibles soluciones, cómo
la de
Bernardo Quintero en
Hispasec.com:“La
solución pasa por evitar parámetros
de forma arbitraria cuando programamos el script
PHP, filtrando todas las referencias que no
se ajusten a las páginas legítimas
del servidor web”.
¿Entonces qué solución
tenemos?
Vamos a ver, con la solución de
Google
se puede controlar momentáneamente el
problema. Del mismo modo,
Google no es
responsable del problema y quizás no
pueda parar futuros intentos de búsqueda
por parte de este gusano, como para cualquiera
de sus derivados que puedan modificar los “hackers”.
Por otra parte, si todos los “
webmasters”
actualizaran sus versiones de phpBB es cuestión
de tiempo para que se encuentren otras puertas
de entrada.
Así, la solución que nos queda
es actualizar el
motor PHP de los mismos
servidores que ejecutan las páginas con
versiones que no sean anteriores a la
PHP
4.3.10, la misma comunidad de phpBB nos
lo dice en
phpBB.com.
¿Entonces Santy.A es realmente un
“virus”?
NO,
Santy.A no es un virius,
ni un verdadero gusano, además en Linux
no hay virus, se trata de un script (“código
de programación”) que consigue
dominar el servidor incluso más allá
del sistema operativo que esté usando.
Es una clara demostración que la seguridad
no pasa por el
SO (“sistema operativo”)
en sí, sino que la seguridad reside en
la configuración del sistema, el mismísimo
núcleo donde reside en continuo control
del software instalado, ejecutándose
junto la revisión periódica de
los
informes de seguridad.
En el momento de escribir estas líneas
Hispasec cuenta los servidores infectados
por miles. El gusano no afecta a los sistemas
de los usuarios, únicamente a los servidores
web con una versión de
PHP 4.3.10
o posterior.
Podéis ampliar conocimientos en estos
foros de
WebMasterWorld.com