Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

Corregir el ataque con palabras clave y enlaces encubiertos

Esta guía se ha elaborado para hacer frente a un tipo de ataque concreto que genera páginas de texto autogenerado con muchas palabras clave en tu sitio web y al que nos referiremos como ataque de texto autogenerado. Se ha diseñado pensando en los usuarios de los sistemas de gestión de contenido (CMS) más populares; no obstante, te resultará útil aunque no utilices dichos sistemas.

Nota: Si no estás seguro de si te han pirateado el sitio web, lee nuestra guía sobre cómo comprobarlo.

Índice

Identificar este tipo de ataque

El ataque con palabras clave y enlaces encubiertos crea automáticamente varias páginas web con texto, enlaces e imágenes sin sentido. A veces, estas páginas contienen elementos de plantilla básicos del sitio web original, por lo que, a primera vista, las páginas parecen partes normales de tu sitio web hasta que lees su contenido.

Las páginas pirateadas se crean para manipular los factores de clasificación de Google. Los hackers a menudo intentarán obtener ingresos de esto vendiendo los enlaces de las páginas pirateadas a diferentes terceros. También es frecuente que las páginas pirateadas redirijan a los visitantes a una página no relacionada, como un sitio web pornográfico donde los piratas informáticos también pueden ganar dinero.

Para comprobar si tu sitio web se ha visto afectado por este tipo de ataque, consulta la herramienta Problemas de seguridad de Search Console, que te indicará si Google ha descubierto algunas de estas páginas pirateadas en tu sitio. También podrás descubrirlas si escribes site:[your site] en la Búsqueda de Google. Te mostrará las páginas de tu sitio web que ha indexado, incluidas las pirateadas. Consulta algunas páginas de resultados de búsqueda para comprobar que no aparezca ninguna URL inusual. Si la Búsqueda de Google no devuelve contenido pirateado, prueba a utilizar los mismos términos de búsqueda en otros motores de búsqueda, ya que es posible que te devuelvan contenido que Google haya retirado del índice. A continuación te mostramos un ejemplo del aspecto que tendría una búsqueda de este tipo:

Nota: En la imagen se puede ver que los resultados de búsqueda contienen muchas páginas web que el propietario del sitio web no ha creado. Si observas atentamente las descripciones del segundo resultado de búsqueda y del tercero, verás un ejemplo del texto autogenerado que se crea con este ataque.

Al entrar en una página pirateada, es posible que aparezca un mensaje que indique que la página no existe (por ejemplo, un error 404). Se trata de un engaño: los hackers tratarán de convencerte de que las páginas pirateadas de tu sitio web han desaparecido o ya se han corregido. Para ello, realizan un encubrimiento del contenido. Para comprobar que no haya encubrimiento, introduce las URL de tu sitio web en la herramienta Explorar como Google de Search Console, que te permite ver el contenido oculto subyacente. A continuación te mostramos un ejemplo del aspecto que tiene una de estas páginas:

Corregir el ataque

En primer lugar, realiza una copia en local de los archivos antes de eliminarlos, para poder restaurarlos más adelante. De hecho, te recomendamos que realices una copia de seguridad de todo el sitio web antes de iniciar el proceso de limpieza. Para ello, guarda todos los archivos de tu servidor en una ubicación fuera del servidor o busca la mejor opción para realizar copias de seguridad de tu CMS concreto.

Comprueba el archivo .htaccess (3 pasos)

El ataque con palabras clave y enlaces encubiertos utiliza el archivo .htaccess para crear automáticamente páginas encubiertas en tu sitio web. No es necesario, pero te recomendamos que te familiarices con los conceptos básicos de los archivos .htaccess que puedes encontrar en el sitio web oficial de Apache para entender mejor cómo afecta este tipo de ataque a tu sitio web.

Paso 1

Busca el archivo .htaccess en tu sitio web. Si no estás seguro de dónde encontrarlo y utilizas un sistema de gestión de contenido, como WordPress, Joomla! o Drupal, busca "ubicación de archivo .htaccess" y el nombre del sistema que uses en un motor de búsqueda. Dependiendo de tu sitio web, es posible que tengas varios archivos .htaccess, por lo que te recomendamos que elabores una lista de todas sus ubicaciones.

Nota: El archivo .htaccess suele ser un "archivo oculto". Asegúrate de habilitar la visualización de archivos ocultos cuando lo busques.

Paso 2

Abre el archivo .htaccess para ver su contenido; en él, deberías poder identificar una línea de código similar a la que tienes a continuación:

  RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]

Las variables de esta línea pueden cambiar; es decir, tanto "cj2fa" como "tobeornottobe" pueden ser cualquier combinación de letras o palabras. Lo importante es identificar el archivo .php al que se hace referencia.

Escribe el archivo .php que se menciona en el archivo .htaccess. En el ejemplo, el archivo .php se llama "injected_file.php", pero el nombre del archivo .php real no será tan evidente; suelen ser palabras aleatorias e inofensivas, como "horsekeys.php", "potatolake.php", etc. En estos casos, es muy probable que sea un archivo .php malicioso que habrá que identificar y, posteriormente, eliminar.

No todas las líneas con RewriteRule y un archivo .php que aparezcan en tu archivo .htaccess son maliciosas. Si no estás seguro de la función de una línea de código, puedes obtener ayuda de un grupo de webmasters con experiencia en los foros de ayuda para webmasters.

Paso 3

Sustituye todos los archivos .htaccess por una versión limpia o predeterminada del archivo. Para encontrar una versión predeterminada, busca "archivo .htaccess predeterminado" y el nombre de tu sistema de gestión de contenido. En el caso de los sitios web con varios archivos de este tipo, busca una versión limpia de cada uno de ellos y sustitúyelos.

Si no hay ningún .htaccess predeterminado y nunca has configurado uno en el sitio web, es probable que el que encuentres sea malicioso. Guarda una copia en local de los archivos .htaccess por si acaso y elimínalos de tu sitio web.

Encontrar otros archivos maliciosos y eliminarlos (5 pasos)

Identificar los archivos maliciosos puede ser complicado y llevar varias horas; tómate tu tiempo. Haz una copia de seguridad de los archivos de tu sitio web, si aún no lo has hecho; para obtener instrucciones sobre cómo hacerla, busca "hacer una copia de seguridad de un sitio web" y el nombre de tu CMS en Google.

Paso 1

Si utilizas un sistema de gestión de contenido, vuelve a instalar todos los archivos principales de la distribución predeterminada de tu CMS; de este modo, te aseguras de que estos archivos no tengan contenido pirateado. Para consultar cómo volver a instalar tu CMS, busca "volver a instalar" y el nombre del CMS en Google. Si tienes algún complemento, módulo, extensión o tema, asegúrate de volver a instalarlos.

Si vuelves a instalar los archivos principales, es posible que pierdas las funciones que hayas personalizado, por lo que te recomendamos que hagas una copia de seguridad de tu base de datos y de todos los archivos antes de empezar.

Paso 2

En primer lugar, busca el archivo .php que has identificado en el archivo .htaccess. En función del modo en que accedas a los archivos en tu servidor, debe haber alguna funcionalidad de búsqueda. Busca el nombre del archivo malicioso y, si lo encuentras, haz primero una copia de seguridad y guárdala en otra ubicación por si necesitas restaurarla y, a continuación, elimínala de tu sitio web.

Paso 3

Busca cualquier archivo malicioso o pirateado que quede. Es posible que ya los hayas eliminado todos en los dos pasos anteriores; sin embargo, te recomendamos que sigas estos pasos para asegurarte de que no haya más archivos afectados en tu sitio web.

No te preocupes pensando que debes abrir y mirar todos los archivos PHP: primero, crea una lista con los archivos PHP sospechosos que quieras investigar. Puedes determinar qué archivos PHP resultan sospechosos de las siguientes maneras:

  • Si ya has vuelto a cargar los archivos del CMS, busca solo los que no formen parte de sus carpetas o archivos predeterminados. De este modo, se descartan muchos archivos PHP y solo tendrás que revisar un número reducido.
  • Ordena los archivos de tu sitio web por la fecha en que se modificaron por última vez. Busca archivos que se hayan modificado durante los meses previos a haber descubierto que te habían pirateado el sitio web.
  • Ordena los archivos de tu sitio web por tamaño. Busca archivos que sean más grandes de lo habitual.

Paso 4

Cuando tengas una lista de archivos PHP sospechosos, comprueba si son maliciosos. Si no estás familiarizado con PHP, es posible que este proceso te lleve más tiempo, por lo que te recomendamos que repases la documentación de PHP. Aunque no sepas nada de programación, hay algunos patrones básicos que puedes buscar para identificar archivos maliciosos.

En primer lugar, examina los archivos sospechosos que ya hayas identificado para buscar bloques de texto de letras y números sin orden aparente. Estos bloques suelen ir precedidos de una combinación de funciones PHP, como base64_decode, rot13, eval, strrev y gzinflate. A continuación, te mostramos un ejemplo del aspecto que podría tener el bloque de código. A veces, todo este código se incluye en una larga línea de texto, por lo que puede parecer más pequeño de lo que realmente es:

<!--Hackers try to confuse webmasters by encoding malicious code into blocks of texts.
Be wary of unfamiliar code blocks like this.-->

base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));

En algunas ocasiones, el código no es confuso y tiene el aspecto de una secuencia de comandos normal. Si no estás seguro de si el código es malicioso, visita nuestros foros de ayuda para webmasters, en los que un grupo de webmasters con experiencia puede ayudarte a examinarlos.

Paso 5

Una vez que hayas identificado los archivos sospechosos, realiza una copia de seguridad o una copia local en tu ordenador para poder recuperarlos si no son maliciosos y elimínalos.

Comprueba que el sitio web esté limpio

Una vez que hayas terminado de deshacerte de los archivos pirateados, comprueba si el esfuerzo ha valido la pena. Vuelve a utilizar la herramienta Explorar como Google en las páginas de texto autogenerado para verificar que ya no existan. Si la herramienta devuelve el resultado "No se encuentra", lo más probable es que se haya solucionado el problema.

También puedes seguir los pasos que se describen en la Herramienta de recuperación de sitios web atacados para comprobar si todavía hay contenido pirateado en tu sitio web.

¿Cómo puedo evitar que vuelvan a piratear mi sitio web?

Corregir las vulnerabilidades de tu sitio web es un último paso fundamental para solucionar el problema. Un estudio reciente ha descubierto que el 20% de los sitios web pirateados vuelven a recibir un ataque al cabo de menos de un día. Resulta muy útil saber exactamente cómo se pirateó el sitio web, por lo que te recomendamos que leas nuestra guía sobre las formas más habituales en que los spammers piratean los sitios web para empezar a investigar. No obstante, si no consigues averiguar cómo se ha pirateado tu sitio web, a continuación encontrarás una lista de comprobación con cosas que puedes hacer para reducir su vulnerabilidad:

  • Actualiza tu CMS, complementos, extensiones y módulos con frecuencia: esperamos que ya hayas seguido este paso. Se piratean muchos sitios web porque su software está obsoleto. Algunos CMS admiten actualizaciones automáticas.
  • Examina periódicamente el ordenador: usa cualquier antivirus popular para comprobar que no haya virus o vulnerabilidades.
  • Cambia las contraseñas con frecuencia: cambiar regularmente las contraseñas de todas las cuentas de tu sitio web, como las de tu proveedor de alojamiento, FTP y CMS, puede evitar que se acceda sin permiso a él. Es fundamental que cada cuenta disponga de una contraseña única y segura.
  • Utiliza la autenticación de doble factor (A2F): te recomendamos que habilites la A2F en todos los servicios en los que sea necesario iniciar sesión, ya que este método dificulta que los hackers puedan acceder aunque roben tu contraseña.
  • Te recomendamos que te suscribas a un servicio de seguridad para controlar tu sitio web: existen muchos servicios de calidad y económicos que puedes usar para controlar tu sitio web. Regístrate en alguno de ellos para mantener tu sitio web seguro.

Recursos adicionales

Si todavía tienes problemas para arreglar tu sitio web, hay más recursos que podrían ayudarte.

Las herramientas que aparecen a continuación analizan sitios web y pueden encontrar contenido problemático; sin embargo, Google no es compatible con ninguna de ellas ni puede ejecutarlas, con la excepción de VirusTotal.

VirusTotal, Aw-snap.info, Sucuri Site Check, Quttera: son solo algunas herramientas que pueden analizar tu sitio web en busca de contenido que pueda suponer un problema; sin embargo, no se garantiza que puedan identificar todos los tipos de contenido problemático.

A continuación te mostramos más recursos de Google que pueden resultarte útiles:

Si crees que falta alguna herramienta que podría ser útil, envíanos un comentario.