martes, diciembre 28, 2004

Santy.A - Problema de seguridad en PHP que afecta a Google.

(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 motor 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:
2a. incrementan su n�mero de generaci�n
2b. combina f�rmulas para usar el host para acceder a google y busca m�s candidatos.
2c. 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!!!"
"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?

  1. 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.
  2. 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.

  3. 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

JorKam
NetDebugger.com

No hay comentarios: