Esta guía se creó específicamente para un tipo de hack que agrega páginas de galimatías con muchas palabras clave a tu sitio, al que nos referimos como el hack de palabras clave y vínculos ocultos. Está escrito principalmente para usuarios de sistemas de administración de contenido (CMS) populares. Sin embargo, si no usas un CMS, es posible que esta guía te resulte útil.
Identifica el hack
El hackeo de vínculos y palabras clave encubiertos crea automáticamente muchas páginas con imágenes, vínculos y texto sin sentido. A veces, estas páginas contienen elementos de plantilla básicos del sitio original, por lo que, a simple vista, es posible que se vean como partes normales de tu sitio hasta que se lee el contenido.
Las páginas hackeadas se crean para manipular los factores de clasificación de Google. Los hackers a menudo intentan monetizar esto vendiendo los vínculos de las páginas hackeadas a diferentes terceros. A menudo, las páginas hackeadas también redireccionan a los visitantes a una página no relacionada en la que los hackers pueden ganar dinero.
Comienza por verificar la herramienta Problemas de seguridad en Search Console para ver si Google descubrió alguna de estas páginas hackeadas en tu sitio. A veces, también puedes descubrir las páginas si abres la Búsqueda de Google y escribes site:_your site url_
, con la URL de nivel raíz de tu sitio. Los resultados de esta búsqueda muestran las páginas que Google indexó para tu sitio, incluidas las páginas hackeadas. Consulta algunas páginas de los resultados de la búsqueda para ver si detectas alguna URL inusual.
Si no ves contenido hackeado en la Búsqueda de Google, usa los mismos términos de búsqueda con un motor de búsqueda diferente. Este es un ejemplo de cómo podría verse:
![Resultados de la búsqueda generados por este hack.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/search-results-generated.png?authuser=8&hl=es-419)
Por lo general, cuando haces clic en un vínculo a una página hackeada, se te redirecciona a otro sitio o ves una página llena de contenido ilegible. Sin embargo, también es posible que veas un mensaje que sugiera que la página no existe (por ejemplo, un error 404). No te dejes engañar. Los hackers intentan engañarte para que pienses que la página desapareció o se corrigió cuando aún está hackeada. Para ello, ocultan el contenido.
Para verificar si hay encubrimiento, ingresa las URLs de tu sitio en la Herramienta de inspección de URLs. La herramienta Explorar como Google te permite ver el contenido oculto subyacente.
![Página de ejemplo creada con este hack.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/example-hacked-page.png?authuser=8&hl=es-419)
Cómo corregir el hack
Antes de comenzar, crea una copia de seguridad de todo el sitio sin conexión. Esto garantiza que puedas restablecer los archivos más adelante, si es necesario. Guarda todos los archivos que se encuentran en tu servidor en una ubicación fuera de él.
Si usas un sistema de administración de contenido (CMS), como WordPress o Drupal, es posible que puedas usar un complemento de copia de seguridad para guardar tu sitio. Recuerda crear una copia de seguridad de tu base de datos. Consulta la documentación de tu CMS para descubrir cómo hacerlo.
Cómo revisar tu archivo .htaccess
(3 pasos)
El hackeo de vínculos y palabras clave encubiertos usa tu archivo .htaccess
para crear automáticamente páginas encubiertas en tu sitio. Familiarizarte con los conceptos básicos de .htaccess
en el sitio oficial de Apache puede ayudarte a comprender mejor cómo el hack afecta a tu sitio, pero no es obligatorio.
Paso 1
Busca el archivo .htaccess
en tu sitio. Si no sabes dónde encontrarlo y usas un CMS como WordPress, Joomla o Drupal, busca "ubicación del archivo .htaccess" en un motor de búsqueda junto con el nombre de tu CMS.
Según tu sitio, es posible que veas varios archivos .htaccess
.
Haz una lista de todas las ubicaciones de los archivos .htaccess
.
Paso 2
Abre el archivo .htaccess
para ver su contenido. Busca una línea de código que se vea como la siguiente:
RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]
Las variables de esta línea pueden cambiar. Tanto cj2fa
como tobeornottobe
pueden ser cualquier combinación de letras o palabras. Lo importante es identificar el .php
al que se hace referencia en esta línea.
Anota el archivo .php
que se menciona en el archivo .htaccess
. En el ejemplo, el archivo .php
se llama injected_file.php
, pero, en realidad, el nombre del archivo no será tan obvio. Por lo general, es un conjunto aleatorio de palabras inofensivas, como horsekeys.php
o potatolake.php
. Es probable que sea un archivo .php
malicioso que debemos rastrear y quitar más adelante.
Paso 3
Reemplaza todos los archivos .htaccess
por una versión limpia o predeterminada del archivo .htaccess
. Por lo general, puedes encontrar una versión predeterminada de un archivo .htaccess
si buscas "archivo .htaccess
predeterminado" y el nombre de tu CMS. En el caso de los sitios con varios archivos .htaccess
, busca una versión limpia de cada uno y realiza el reemplazo.
Si no existe un .htaccess
predeterminado y nunca configuraste un archivo .htaccess
en tu sitio, es probable que el archivo .htaccess
que encuentres en tu sitio sea malicioso.
Guarda una copia de los archivos .htaccess
sin conexión por si acaso y desde tu sitio.
Busca y quita otros archivos maliciosos (5 pasos)
Identificar archivos maliciosos puede ser complicado y llevar mucho tiempo. Tómate tu tiempo cuando revises tus archivos. Si aún no lo hiciste, este es un buen momento para crear una copia de seguridad de los archivos de tu sitio. Busca la documentación de tu CMS en particular para obtener información sobre cómo crear una copia de seguridad de tu sitio.
Paso 1
Si usas un CMS, reinstala todos los archivos principales (predeterminados) que se incluyen en la distribución predeterminada de tu CMS, así como todo lo que hayas agregado (como temas, módulos y complementos). Esto ayuda a garantizar que estos archivos no contengan contenido hackeado. Puedes buscar "reinstalar" y el nombre de tu CMS para encontrar instrucciones de reinstalación. Si tienes complementos, módulos, extensiones o temas, asegúrate de volver a instalarlos.
Paso 2
Comienza por buscar el archivo .php
que identificaste antes en el archivo .htaccess
. Según la forma en que accedas a los archivos de tu servidor, deberías tener algún tipo de función de búsqueda. Busca el nombre del archivo malicioso. Si lo encuentras, primero crea una copia de seguridad y guárdala en otra ubicación en caso de que necesites restablecerla y, luego, bórrala de tu sitio.
Paso 3
Busca archivos maliciosos o comprometidos restantes. Es posible que ya hayas quitado todos los archivos maliciosos en los dos pasos anteriores, pero es importante que te asegures de que no haya archivos comprometidos adicionales en tu sitio.
Es posible que te sientas abrumado si crees que debes abrir y mirar cada archivo PHP. En su lugar, crea una lista de archivos PHP sospechosos que deseas investigar. Estas son algunas formas de determinar qué archivos PHP son sospechosos:
- Si ya volviste a cargar los archivos del CMS, solo observa los archivos que no forman parte de los archivos o carpetas predeterminados del CMS. Esto debería descartar muchos archivos PHP y dejarte con algunos archivos para revisar.
- Ordena los archivos de tu sitio por la fecha en que se modificaron por última vez. Busca archivos que se hayan modificado dentro de unos meses desde la primera vez que descubriste que tu sitio fue hackeado.
- Ordena los archivos de tu sitio por tamaño. Busca archivos inusualmente grandes.
Paso 4
Una vez que tengas una lista de archivos PHP sospechosos, comprueba si son maliciosos. Si no estás familiarizado con PHP, este proceso podría llevar más tiempo, así que considera actualizar tu conocimiento con la documentación de PHP. Si es la primera vez que codificas, te recomendamos que busques ayuda. Mientras tanto, hay algunos patrones básicos que puedes buscar para identificar archivos maliciosos.
Si usas un CMS y no tienes la costumbre de editar esos archivos directamente, compara los archivos de tu servidor con una lista de los archivos predeterminados empaquetados con el CMS y cualquier complemento y tema. Busca archivos que no pertenezcan, así como archivos que sean más grandes que su versión predeterminada.
Primero, analiza los archivos sospechosos que ya identificaste para buscar bloques grandes de texto con una combinación de letras y números aparentemente desordenados. Por lo general, el gran bloque de texto está precedido por una combinación de funciones de PHP, como base64_decode
, rot13
, eval
, strrev
o gzinflate
.
Este es un ejemplo de cómo podría verse ese bloque de código. A veces, todo este código se agrupa en una línea larga de texto, lo que hace que se vea más pequeño de lo que es.
// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
A veces, el código no está desordenado y parece una secuencia de comandos normal. Si no estás seguro de si el código es incorrecto, visita nuestra Comunidad de ayuda de la Central de la Búsqueda de Google, donde un grupo de webmasters experimentados puede ayudarte a revisar los archivos.
Paso 5
Ahora que sabes qué archivos son sospechosos, crea una copia de seguridad o una copia local. Para ello, guárdalos en tu computadora, en caso de que alguno de los archivos no sea malicioso, y borra los archivos sospechosos de tu sitio.
Verifica si tu sitio está limpio
Una vez que hayas terminado de quitar los archivos hackeados, verifica si tu arduo trabajo fue recompensado. ¿Recuerdas esas páginas ilegibles que identificaste antes? Vuelve a usar la herramienta Explorar como Google para ver si aún existen. Si la respuesta es "No se encontró" en Recuperar como Google, es probable que estés en una buena posición y puedas continuar con la corrección de las vulnerabilidades de tu sitio.
¿Cómo puedo evitar que me vuelvan a hackear?
El último paso para evitar hackeos futuros es corregir las vulnerabilidades de tu sitio. Un estudio descubrió que el 20% de los sitios hackeados vuelven a ser hackeados en un día. Es útil saber exactamente cómo se hackeó tu sitio. Lee los principales métodos que usan los generadores de spam para hackear sitios web para comenzar tu investigación.
Si no puedes descubrir cómo se hackeó tu sitio, sigue esta lista de tareas para reducir las vulnerabilidades:
- Realiza análisis de tu computadora con regularidad: Usa cualquier escáner de virus popular para detectar vulnerabilidades o virus.
- Cambia las contraseñas con frecuencia: Cambiar periódicamente las contraseñas de todas las cuentas de tu sitio web, como el proveedor de hosting, el FTP y el CMS, puede evitar accesos no autorizados a tu sitio. Es importante crear una contraseña segura y única para cada cuenta.
- Usa la autenticación de dos factores (2FA) o configura una llave de acceso: La 2FA y las llaves de acceso dificultan mucho que los hackers accedan, incluso si roban tu contraseña.
- Actualiza el CMS, los complementos, las extensiones y los módulos con regularidad: Muchos sitios son hackeados porque ejecutan software desactualizado. Algunos CMS admiten la actualización automática.
- Considera suscribirte a un servicio de seguridad para supervisar tu sitio: Existen muchos servicios excelentes que pueden ayudarte a supervisar tu sitio por una pequeña tarifa. Considera registrarte con ellos para mantener tu sitio seguro.
Recursos adicionales
Si aún tienes problemas para corregir tu sitio, tenemos algunos recursos más que podrían ayudarte.
Estas herramientas analizan tu sitio y pueden encontrar contenido problemático. Aparte de VirusTotal, Google no los ejecuta ni los admite.
Estos escáneres no pueden garantizar que puedan identificar todos los tipos de contenido problemático. Sigue revisando la seguridad de tu sitio con regularidad.
Estos son algunos recursos adicionales que pueden ayudarte: