Cómo eliminar un virus de un blog de wordpress

Muchos seguramente que habréis sufrido algún virus en vuestros ordenadores a lo largo de vuestra vida. La mayoría se pueden eliminar simplemente pasando un antivirus decente y otros requerirán de más trabajo limpiando registros del sistema operativo y demás.

Lo que seguramente muchos no sepáis es que cada vez son más frecuentes los virus en páginas web. Muchos blogs están sufriendo algún tipo de virus que hace que pueda llegar a ser peligroso navegar por el mismo.

Muchas veces serán los propios plugins de los antivirus que se pueden instalar en los navegadores los que nos avisarán si una página está contaminada por algún tipo de virus, pero si no tienes debidamente protegido tu sistema, es posible que ese virus insertado en la página web tenga algún tipo de efecto negativo hacía tu sistema operativo.

¿Cómo puede llegar un virus a nuestro blog?.

En las páginas web nos podemos encontrar varios virus que han podido ser insertados en las mismas de varias formas. Últimamente se están poniendo de moda entre los blogs (sobre todo en los que tienes tú el poder sobre el hosting y los archivos del mismo) los siguientes tipos de acciones para insertar virus o código malicioso:

  • Inyección de SQL. Mediante algún campo de tu blog, como por ejemplo el buscador, pueden llegar a insertarte código malicioso en la base de datos sino tienes cuidado. Eso hace que cuando se recupere algún campo de la base de datos, a lo mejor estás recuperando el código que te han insertado y realizando alguna actividad, inconscientemente, sobre el ordenador del lector.
  • Inserción de código: Muchas veces, a través de agujeros de seguridad, pueden obtener los datos de tu FTP y modificar alguno de los ficheros. De esa forma podrán añadir el código para realizar una serie de acciones de las que tú no serás consciente, pero que seguramente sean maliciosas para el lector.
  • Inserción de un iframe: Un iframe es una página web que se incrusta dentro de otra. Muchos plugins usan este tipo de elementos de HTML para mostrar sus contenidos. Compaginado con alguno de los apartados anteriores, consiguen colocar un iframe en tu página que hará que se cargue otra por debajo sin que te des cuenta. Esa página que se carga por debajo, seguramente tenga alguna llamada a algún procedimiento que se encarga de capturar datos de la persona que está viendo la página. Podrás pensar que si insertan una página dentro de la tuya te enterarías, pero normalmente suelen insertar iframes de 1 pixel x 1 pixel, por lo tanto son prácticamente invisibles para la vista.

¿Cómo saber si tu blog tiene un virus?

Podrás saber si tu blog, o cualquier otro tiene un virus, porque seguramente tu antivirus lo detecte y no te permita entrar en esa página. Esa es la forma más fácil de detectarlo, aunque si no tienes un sistema con un buen software de protección antivirus y firewall instalado, a lo mejor no llegar a recibir esa advertencia exponiendo tu ordenador a los efectos de ese código malicioso.

virus en un blog wordpressEn mi caso, al tener un Mac, no suelo preocuparme mucho por esos temas, ya que es bastante infrecuente contraer un virus. Esa fue la razón por la que las veces que he tenido este problema, no lo he detectado de primeras y han sido otros amigos los que me han avisado de que han recibido una alerta de sus antivirus. Aunque no me ha sido necesario hasta ahora, solo por estas razones ya tengo funcionando los plugins pertinentes en los navegadores (propios de Avast) que me avisan si una página contiene algún tipo de virus.

Esta tarde me han avisado varias personas de que mi página parecia tener algún virus ya que les saltaba el antivirus. Me he instalado Avast en Mac y efectivamente he podido comprobar cómo en antivirus bloqueaba la página por un virus del tipo «Virus: HTML:Iframe-inf«.

Trás una tarde dándole duro para conseguir descubrir donde estaba el virus, he llegado a él y he conseguido eliminarlo.

Cómo eliminar el virus HTML:Iframe-inf de WordPress?

Cómo he comentado en los puntos anteriores, el virus puede ser insertado de varias formas. Según las que he comentado, el virus podrá estar en el código de los ficheros o en la base de datos.

Investigando sobre ese virus en concreto, he visto que normalmente estaba insertado por medio de un iframe, es decir, una página que se abre incrustada dentro de la tuya. Para que ese iframe se cargue, pueden insertarte código en la base de datos, o en los archivos del blog.

Por tanto, vamos a tener que escanear bien esos dos elementos.

La forma más fácil será conectarte por SSH a tu servidor, así puedes acceder a los archivos directamente y realizar las búsquedas que te comentaré a continuación u otras parecidas. También podrás entrar en tu gestor de la base de datos (suele ser phpMyAdmin en la mayoría de los hostings) y realizar una copia de seguridad de la base de datos sobre la que luego realizarás las búsquedas.

Para el código de la web también podrás decargártelo todo con un programa de FTP y realizar las búsquedas en tu ordenador.

Una vez que ya tenemos todo el código, tanto de los archivos como el SQL de la base de datos, vamos a buscar alguna de las siguientes cadenas de caracteres.

  • http://d1.openx.org
  • http://smuss.net/redirect.php
  • http://smuss.net/jquery-1.6.3.min.js

La solución a mi virus de hoy ha sido eliminar la referencia a la última, pero he visto en el log del blog (localizado en /wp-admin/error_logs) que han intentado insertarme mediante SQL un iframe con una referencia al primero. Por suerte la tabla donde intentaban insertarlo no existía en mi base de datos. Supongo que será de algún plugin antiguo que ya no tengo instalado (por suerte).

Para realizar búsquedas, si te has bajado el código en local, podrás usar cualquier editor de texto para buscar esas cadenas sobre el texto.

Si quieres conectarte por SSH y realizar búsquedas directamente sobre el código de tus archivos en el servidor, podrás usar comandos del tipo:

grep -r ‘d1.openx.org’ *

Con ese comando estarás buscando recursivamente en todos los archivos a partir de la carpeta en la que te encuentras la palabra entre comillas. Te aparecerán en pantalla todos los archivos que contengan esa cadena así cómo la línea en la que aparece.

También puedes volcar en un archivo los resultados que obtengas de ese comando de la siguiente forma:

grep -r ‘d1.openx.org’ * > fichero_virus.txt

De esa forma luego podrás estudiar bien el contenido que se inserte en ese fichero. Podéis ver un artículo muy interesante con información sobre comandos de este tipo para localizar este virus aquí.

Si no llegaras a encontrar alguna de estas tres opciones que te comento, puede que tu virus sea por otro causa que no está entre ellas. Es muy posible que sea por un iframe, por lo tanto podrás realizar la misma búsqueda poniendo entre comillas ‘<iframe’. Es problema es que esto te devolverá muchos más resultados que no tienen porqué ser maliciosos, y serás tú el que tengas que ver cuál puede ser sospechoso. Una pista que te puede llevar a pensar que un iframe sea sospechoso es que tenga una dimensión de 1×1 (es decir width=1px ; height= 1px). Si encuentras eso cerca de la etiqueta iframe, SOSPECHA.

Si has detectado alguno de las cadenas anteriores, u otra parecida que leas por algún foro de Internet, tendrás que borrarla inmediatamente. Si está dentro de algún archivo importante como «index.php«, «header.php«, etc, tendrás que borrar solo la línea sobre la que esté.  Si por el contrario está en algún archivo de un plugin, te aconsejo que directamente borres ese plugin y dejes de usarlo.

Otra opción que no tendrás que descartar será, aprovechando que tienes el código de tu web en tu ordenador, pasarle el antivirus que tengas a la carpeta donde lo hayas descargado. De esa forma podrás comprobar también si hubieran metido algún archivo extra que tú no tengas controlado y que pueda contener directamente el virus.

Plugins de WordPress para detectar virus

Como se está poniendo de moda, lamentablemente, intentar inundar los blogs ajenos de virus, también están saliendo plugins que nos ayudarán a intentar detectarlos.

Hay dos que yo uso en concreto.

  • WP Security Scan: Este plugin te dará un conjunto de herramientas para detectar estas anomalías que se podrán encontrar en tus archivos del blog que puedan indicar que se ha insertado código sospechoso en el mismo. Puedes visitar su página aquí.
  • WP Antivirus: Este plugin lo que hará será repasar todos los archivos de tu tema, buscando código que le parezca sospechoso también, o que contenga alguna sentencia de las que suelen usar también para insertar virus. Por ejemplo la sentencia «eval(…..)» es un comando que permite insertar una llamada a una función desde dentro del código. Eso es muy usado para lanzar llamadas a otras webs que contengan algún programa que te pueda insertar un troyano. Este tipo de funciones sensibles serán detectadas con este plugin cuya web puedes visitar aquí.

Si alguno de los plugins te llegaran a detectar un código que pienses que puede ser perjudicial, tendrás que ir a dicho archivo y borrarlo.

Consejos para evitar tener un virus en tu blog

Como siempre se dice muy sabiamente, mejor prevenir que curar, y es por eso que deberás tener una serie de medidas bastante importantes para evitar llegar a esta solución desagradable.

Algunas de las medidas que yo destacaría serían:

  • Mantén siempre la versión de WordPress actualizada así como la de los plugins. Muchas veces se detectas agujeros de seguridad sobre los archivos del propio Core de WordPress que se van solucionando en las distintas versiones que van subiendo. Lo mismo es aplicable a los plugins que te descargas e instalas.
  • Repasa cuidadosamente los permisos de los ficheros en tu servidor. El hecho de tener total libertad para manipular los ficheros de nuestro blog, también puede hacer que facilitemos nosotros mismos la tarea de insertar código malicioso en los mismos permitiendo ciertas opciones en dichos archivos. Como sabéis a un archivo se le puede dar permisos de Lectura/Escritura/Ejecución. Habrá que estar atento a qué permisos se le da a cada fichero para evitar dejar la puerta abierta para que puedan modificarlos a su antojo.
  • Evita siempre descargar un plugin o tema desde una página de Warez, u cualquier otra. Muchas veces puedes pensar en descargarte la versión Pro de algún plugin para evitar pagar. Créeme que eso te puede salir al final más caro. Lo mismo con los temas que te puedas descargar por ahí. Si no estás seguro de la fuente de donde te bajas algo, pásale un antivirus o asegúrate que no hay código malicioso en los códigos del mismo.
  • Intenta cambiar a menudo la password de tu FTP para evitar que la capturen y puedan entrar para modificar los archivos a su antojo.

Espero que si habéis llegado a este artículo sea por curiosidad más que por necesidad. Si es porque realmente tenéis un virus, podéis libremente escribir en los comentarios si tenéis alguna duda e intentaré echaos una mano (ya me he pegado varias veces con esto por desgracia). También agradeceré si compartes este artículo si ves que alguna persona está teniendo este problema.

 

Rate this post

Esta entrada tiene 21 comentarios


  1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Javi

    Hola,

    Me viene muy bien la explicación. Justamente hace unos días algunos lectores me han avisado de que les saltaba una aviso del Avast al entrar a mi blog.

    Lo analicé con varios antivirus online, me bajé todo el directorio al PC para analizarlo, etc y no se detectó nada, así que me guardo este post para repasar todo tranquilamente.

    Saludos


    1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Javier Elices

      Hola Javi. Pues si, es posible que te pase algo parecido a lo que me pasaba a mi.

      Suerte y si no consigues dar con ello avísame por si te puedo echar una mano.

      Saludos y gracias por comentar!


      1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
        Javi

        He instalado el Avast y detecta un troyano en un javascript (mootools) del tema, pero investigando por foros y demás no me ha quedado claro si es un falso positivo..

        De momento he quitado el archivo entero y parece que el blog funciona bien, así que igual lo dejo así.


        1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
          Javier Elices

          Tendrás que ver cuál es la función de ese javascript. Es decir, si es necesario para el tema o no. Si lo es, a lo mejor solo tienes que quitar la parte donde tenga el código malicioso que seguramente hayan insertado.

          SI no fuera necesario, fuera con él.

          Me alegro que lo hayas detectado pronto.

          Saludos!


  2. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Hibay

    Bueno, veo que ya has solucionado el problema. Me alegro!! 🙂


    1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Javier Elices

      Si, muchas gracias!

      Me costó pero al final terminó saliendo! Siempre hay una solución para todo!;-)

      Saludos!


  3. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    as

    No consigo encontrar el iframe smuss.net……….de hecho mi hosting a cerrado el blog..alguna sugerencia?


    1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Javier Elices

      Hola As, deberías hablar con tu hosting para pedirles explicaciones de porqué ha cerrado el blog. Nos puedes decir cuál es el blog para ver si se puede echar un vistazo?

      Saludos


  4. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    José Vega

    Excelente artículo, en realidad me ha servido. Agradezco el compartirlo conmigo y mis lectores, a través del comentario que dejaste en mi Blog.

    Saludos.


    1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Javier Elices

      Hola José! Muchas gracias por compartir mi artículo desde el tuyo, te lo agradezco.

      Me alegro que te haya servido!

      Saludos y suerte!

  5. Pingback:
    Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    WordPress: 9 pasos para evitar ser Hackeado


  6. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Lucas

    Buenas tardes, te hago una consulta para ver si alguien me puede dar una mano porq ya no se que hacer, ya borré todo el sitio y lo volví a subir, lo revisé con antivirus, tengo antivirus en el blog de wordpress, pero no lo puedo solucionar. El problema es que cuando ingreso a mi web «www.cemincor.org.ar», en lugar de cargar el fichero index.php y mostrar el home de mi sitio, me dirige a una página como «http://www.cemincor.org.ar/tag/cochilco/» y estas direcciones van cambiando. Alguien tiene idea cómo puedo solucionar esto ?? Desde ya muchas gracias


    1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Javier Elices

      Hola,
      De primeras se me ocurre que eches un vistazo al fichero .htacess de tu blog por si hubieran metido algún tipo de redirección. Sino ponte em contacto con tu empresa de hosting para que revisen el fichero de configuración del servidor.

      Suerta y ya nos contarás.


    2. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Javier Elices

      Hola Lucas, llegaste a solucionar el problema??

  7. Pingback:
    Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Cómo evitar ser hackeado. Evita sorpresas desagradables.


  8. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    felipe

    Buen aporte para tema de virus, por mi parte quiero decir que me parece un tema un poco difícil y mas cuando son muchos los archivos contaminados con malware o virus y suelo recomendar este sitio, que ya tienen experiencia en ello. http://soportefluido.es/home/20-eliminacion-de-malware.html


  9. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Adriana

    Hola Javier, gracias por los tips, en mi caso tengo el siguiente problema al entrar al sitio todo parece normal http://sanpablo.go.cr pero cuando se le da clic en cualquier link aparece un popup que despliega una página de publicidad, no sé como encontrarlo. Les ha pasado?
    Gracias


    1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Javier Elices

      Hola Adriana,

      He estado echando un vistazo y es cierto, la primera vez que pulsas en cualquier link sale un pop-up con publicidad. ¿No os habéis dado de alta en ningún sistema de este tipo no? Me refiero a algo que os paguen por publicidad por cada visualización en forma de pop-up.

      No tiene mucho sentido así que supongo que no…

      La verdad es que he cotilleado un poco hasta donde puedo llegar en el código y no he encontrado nada raro que pudiera causar eso.

      Como primera prueba comprobaría que tengo actualizado el wordpress y el tema de tu blog. Después actualiza todos los plugins que tenga alguna actualización pendiente.

      Piensa también si has instalado algún plugin últimamente de alguna procedencia dudosa para intentar desactivarlo y ver si te sigue pasando.

      Es lo que se me ocurre porque la verdad es que no me había pasado nunca.

      No sé si alguien leerá el comentario y sí que haya pasado por lo mismo. Si fuera así, a ver si puede echar una mano.

      Ya me contarás si consigues solucionarlo y si descubro algo, o porqué puede estar pasando, te comento de igual forma.

      Un saludo y suerte!


  10. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    JOHN RODRÍGUEZ / IW

    amigo interesante. gracias por el contenido te expongo este caso haber si conoces de este tema tengo una web de un cliente . termina funciona genial pero después de unas horas o días no es constante aparece el aviso no se puede conetar a la base de datos. listo así que reviso por el panel y la base esta borrada. ( la borra) que la borra ni idea vuelvo instalo ( y de nuevo días después de nuevo esta borrada. asi que no se que ocurre. no se si sea un virus un Hacker no tengo ni idea. porque cambio claves de CPANEL, de wordpress y de nuevo pasa en unos días . que puede ser según tu experiencia?


  11. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
    Anónimo

    Hola Javier. Muy buen artículo

    Te cuento que entré en mi página web y me aparece una publicación que al hacer click dirige a otra web y entro por el administrador y no encuentro esta entrada para borrarla. me puedes ayudar con esto? muchas gracias


    1. Notice: Only variables should be assigned by reference in /home/monetizados/web/monetizados.com/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 590
      Randy

      Las entradas se guardan en la bbdd, búscala allí y cambia todas las contraseñas de tu servidor y Worpdress. También elimina el usuario admin.

Deja una respuesta

  Acepto la política de privacidad