Inyección de enlaces en WordPress

Enlaces rotosAyer he descubierto unas inyecciones de enlaces en algunos blogs, dos de ellos de mi blogroll y después con una búsqueda en Google Blog Search he visto que hay más sitios que han sufrido el ataque.

Una inyección de enlaces es que los atacantes consiguen incluir un enlace dentro de alguna página de la víctima, el enlace va hacia una página que posiblemente sea un cliente del atacante a quien habrá contratado para mejorar su posicionamiento. En el caso que yo he visto se añadía un enlace hacia la web de una tienda de muebles rusa y, para evitar ser detectado, el enlace incluía código CSS para que no fuese visible en una visita al post atacado:
hidden;height: 0;width: 0
Los dos blogs en los que lo he comprobado están actualizados a la vigente versión 2.5.1 de WordPress, así que no se les puede achacar “dejadez” en las actualizaciones (aunque sí le voy a achacar a weblogtoolscollection que 24 horas después de haberles avisado no hayan eliminado los enlaces fraudulentos).

Las causas posibles de estos ataques son:

  • Vulnerabilidad de WordPress (por ahora no se ha comunicado ninguna en WP 2.5.1)
  • Fallos de seguridad en la configuración del hosting.
  • Ataques a los PC’s personales de los administradores para robarles la contraseña de acceso.

Los efectos de esta inyección de enlaces pueden ser que, en caso de detectarlo Google, te elimine de su índice, ya que sistemáticamente anula los resultados de aquellas páginas que intentan “hacer trampas” (este tipo de enlaces ocultos por CSS los considera fraudulentos) y la gran G no se para a mirar si has sido tú quien ha incluido el enlace o has sido víctima d eun ataque. La cosa podría ser peor en el caso de que hubiese sido un javascript lo que hubiesen añadido, mediante javascript se puede obtener mucha información de todos los visitantes de una web.

¿Recomendaciones para evitarlo? las clásicas, aunque no son garantía de nada:

  • Mantener las versiones actualizadas
  • Instala sólo los plugins que necesites y si te es posible desactívalos cuando no les estés usando (por ejemplo plugins que se utilizan en el panel de administración). También debes mantener las versiones de los plugins actualizadas.
  • Sé lo más restricitvo posible en todo lo que tenga que ver con permisos: muchas cosas funcionan con permisos 755 o incluso más restrictivos, no pongas 777 “porque así es más cómodo”; a los usuarios permisos los justos, un usuario editor debe tener permisos de editor, no de administrador. Plugins como WP-Scan-Security te pueden ayudar (recomiendo, por si acaso hacer una copia de seguridad antes de modificar nada).
  • Las copias de seguridad son fundamentales. Con el plugin BackupWordpress podrás hacerlas automáticamente sin tener que estar acordándote de ello.
  • Mantener seguros nuestros propios PC’s. Sistemas Linux o Mac son menos susceptibles a ataques; antivirus y firewalls actualizados y funcionando, navegador Firefox + la extensión noScript (que sí, es un poco coñazo, pero te evita sustos de muchos tipos).

La colaboración entre los que tenemos blogs también es importante para avisarnos cuanto antes y poner remedio, en este caso que he detectado yo era más o menos sencillo verlo en el lector de feeds ya que allí no se puede ocultar nada mediante CSS y los enlaces quedaban bien a la vista.

P.D. Si te preocupa si has sido uno de los atacados busca el código CSS que he puesto más arriba dentro del código fuente de tu blog; con botón derecho en cualquier sitio de la página “ver código fuente” y ahí buscar.

Foto original de P/UL
Anuncios

23 comentarios en “Inyección de enlaces en WordPress

  1. El ataque no ha sido contra este blog (cruzo los dedos) sino que lo ví en dos blogs que tengo añadidos a mi lector de feeds. Los enlaces estaban incluidos en mitad de los post sin que yo haya conseguido encontrarles un nexo común (como que estuviesen después de determinado carácter o después de un número de palabras..) lo que me lleva a pensar que no ha sido generado por código sino que han tenido acceso a modificar los post a mano; aunque esto son suposiciones mías.

  2. Pues mil gracias por el aviso, dondado ¿qué se hace en estos casos? ¿reportar el bug a wordpress.org para que lo corrijan en futuras versiones?

    Un saludo.

  3. Yo estoy sufriendo oleada de spam en estos días. Se que no tiene que ver con el post mucho, pero me subieron un post a meneame y ademas de 600 visitas me ha traido miles de spamers.

    No se yo hasta que punto compensa meneame. Gracias por el aviso, Saludos

  4. @Todotuto lo que se debería hacer es intentar delimitar al máximo cuál ha sido la causa de la intrusión, si ha sido WP, la configuración del servidor, un robo de contraseña… Si llegas a la conclusión de que todo lo demás está en orden y ha sido WP sí deberíamos reportarlo, supongo que en el trac.
    @antoniovelo: sobre eso ya puse un post, de primeras puede parecer que no, pero a la larga sí resulta beneficioso.
    Sobre el spam, yo recibía decenas de spam todos los días y ahora recibo menos de 5 comentarios spam al mes ¿cómo? así pero no se lo cuentes a nadie que si no dejará de funcionar. Los que se cuelan son los pingback y tracback y para eso lo que hago es cerrarlos en las entradas antiguas.

  5. haber david, de donde diablos tradujiste la entrada? voy a buscar algunos términos que mencionas en google usa y verás que te pillo.

    jajajajaja, no te creas, como siempre el superagente 86 al rescate y yo agradeciendo que el talismán que colgé en mi hosting funciona rebien.

    Saludos.

  6. Acojona un poquillo el tema este, sobre todo porque uno se suele dar cuenta cuando ya es tarde. Ya escribí yo en su día sobre ello aquí. La verdad es que no creo que en este caso se trate de problema del WP 2.5.1 porque es un fallo muy gordo y ya habría saltado la liebre en miles de blogs y lo habrían subsanado. Seguramente el agujero provenga de algún plugin o de la misma plantilla que hayan utilizado estos blogs. como bien dices habría que tratar de buscar el nexo de unión entre ambos. Normalmente los plugins suelen ser la mayor fuente de entrada de este tipo de cosas, por eso hay que procurar instalar los menos posibles.

  7. Cierto lo de los plugins, y también algunos servidores son más inseguros que otros. De todas formas pienso que el htacces que crea WP debería hacerlo ya con la opción “indexes” y el header.php sin el meta”generator”. Así costaría más trabajo saber qué versiones se están utilizando y sería más difícil encontrar agujeros de seguridad.

    Aunque es posible que esté diciendo alguna tontería, pues la programación no es mi fuerte.

  8. El funcionamiento de los archivos .htaccess depende de la configuración del servidor así que WP no puede traerlos por defecto, pero sí que es cierto que son una muy buena forma de añadir opciones de seguridad en aquellos que estamos alojados en Apache.
    Lo del header.. entiendo lo uno y lo otro, aunque ahora, que nuestros WP tienen por defecto esa “llamada a casa” para ver si hay actualizaciones se podría prescindir del meta y que sea en esa petición en la que se recoja a efectos estadísticos la versión de WP que utilizas

  9. Pingback: Semana XVIII de Tus Feeds en Mi Blog
  10. Pues no creas que no andamos lejos, al fin y al cabo un blog está en un ordenador conectado a la red las 24 horas y generalmente con mucho más ancho de banda de lo que tienes en casa ¿no es esto jugoso para los aprovechados?.
    En nuestra navegación habitual solemos entrar “a pecho descubierto” en los blogs, como si no fuesen una amenaza pero cualqueira puede haber sufrido una intrusión.

  11. Gracias por el aviso. En este caso los anlaces están ocultos y aunque puedes tener el problema que comentas con Google. En las últimas semanas he visto en un par de blogs que leo habitualmente no un enlace sino decenas de enlaces (el típico spam de viagra) añadidos al final del post y visibles. La verdad que la primera vez que lo ví me quede perplejo. Y es que no nos dejan tranquilos (#$&% spammers)

  12. Pingback: Link Love 17 | uLove-Tech - Blog sobre Ganar Dinero en Internet, SEO, Marketing, Blogging y Posicionamiento web
  13. vaya que es algo dificil estar al tanto de todo pero si nos unimos y ayudamos unos a otros con las fallas podria ser un poco mas liviano.
    Eso que comentas se mira en feedbrun? que es el uso en mis blogs?
    porke yo lo veo limpio

    gracias por el tip

  14. Hola, tengo un problema similar al que cuentas y no consigo solucionarlo. Me inyectan cientos de enlaces tipo viagra con cuerpo de letra -241 en los archivos head.php, footer.php o sidebar.php

    Los de google me penalizaron un mes y yo me dedico a quitarlos a mano pero a los pocos días vuelvo a estar infectado. Al final ya nadie encuentra mis páginas porque gogle y cia ya ni me sacan y yo no sé que hacer (no soy programador ni webmaster ni nada). Alguien me puede ayudar

  15. Pues sí ya tienes la versión de WP actualizada yo lo siguiente que haría es:
    1.- Restringir permisos en el servidor, en general con permisos 744 debería funcionar todo excepto la carpeta wp-content (si es que quieres subir las cosas desde el propio WP en lugar de utilizar el FTP)
    2.- Eliminar todos los plugins que no necesites, he visto al menos un par de ellos que tienes activados y a los que no estás dando uso
    3.- Cambiar las contraseñas de acceso por si el problema es tan simple como que la han averiguado, y por si acaso revisa la cuenta de correo electrónico que tienes asociada por si tiene alguna redirección automática que tú no hayas puesto, y ya de paso no viene mal cambiar la contraseña del correo de vez en cuando

  16. Gracias, por tus consejos, dondado.

    Probé con lo de los permisos 744 pero entonces no me dejaba entrar como administrador y le he vuelto a poner 755. Lo que si he hecho es limpiar los pluguins que no gasto, quitar el wp-poll y cambiar por enésima vez las contraseñas. Además le he dado permisos 555 a los tres archivos donde normalmente me inyectan el spam.

    A día de hoy no me han inyectado nada pero no me fío porque ya otras veces he estado más de una semana tranquilo y cuando menos lo esperaba otra vez me atacaban.

    Ya os contaré

    Otra cosa, el exploit scanner me dice esto:
    1.
    “shell_exec” Executes a server command like ls, cd, wget, etc. This may be a script used by hackers.
    /home/.nurice/interacciones/interaccioneselectorales.org/wp-content/plugins/exploit-scanner/exploit-scanner.php
    r what operating system your server is running”, “shell_exec” => “Executes a server command like ls, cd, wget, etc. This may be a script used by hackers.”, “YW55cmVzdWx0cy5uZXQ=” => “Base64 encoded text found in PHP code that redirects visitors from Google.”, “” => “HTML code

    2.

    /home/.nurice/interacciones/interaccioneselectorales.org/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php
    rror(“PSpell support was not found.”);

    $data = shell_exec($cmd);
    @unlink($this->_tmpfile);

    $returnData = array();
    $dataArr = preg_split(“/[rn]/”, $data, -1, PREG_SPLIT_NO_EMPTY);

    foreach ($dataArr as $dstr) {
    $matches = array();

    // Skip this line.
    if (strpos($dstr, “@”) ===

    ——————————————————————————–

    throwError(“Error opening tmp file.”);

    $data = shell_exec($cmd);
    @unlink($this->_tmpfile);

    $returnData = array();
    $dataArr = preg_split(“/n/”, $data, -1, PREG_SPLIT_NO_EMPTY);

    foreach($dataArr as $dstr) {
    $matches = array();

    // Skip this line.
    if (strpos($dstr, “@”) === 0)

    Como no domino el tema no sé que hacer con esa información. Alguno de vosotros ¿sabría decirme si el fallo que ha detectado es un verdadero xploit y cómo deshacerme de él sin cargarme nada importante?
    Muchas gracias

  17. Si te fijas al final del informe ya te dice que aparecerá él mismo en la lista de vulnerabilidades ya que contiene las cadenas que después va a buscar.
    El último error posiblemente se deba a permisos, no tendrás permisos de escritura en el directorio donde quiere dejar ese temporal pero yo lo dejaría correr.
    Bueno, pues suerte, ya falta poco para la versión 2.6 que seguro que trae mejoras de seguridad

  18. Pues me uno al club de las víctimas. Llevo unos días de tocadura de pelotas por parte de los artistas de la red que no veas.
    En mi caso lo insuflan en las entradasd del modo que estais comentando y los muy condenados además cierran los comentarios y los trackbacks que es por lo que me entero…
    Le he puesto un correo a una de las webs a donde dirigía el spam. Estaban metidas esas páginas en una carpeta del servidor de una web de fotografía, imagino que contrataría servicios de SEO y los artistas han elegido la opción más fácil, atacarnos a todos los atacables. No me han contestado por supuesto.
    En fin, gracias por la información.
    Saludos
    David Serantes

  19. Pingback: En guerra con Google, parte I : Tengo Un.Com.ar

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s