TUTORIAL Desinfectar tu sitio de WordPress hackeado: Guía paso a paso

jose

Administrator
Miembro del equipo
Un sitio de WordPress infectado puede ser una experiencia desagradable y confusa para un webmaster. Sin embargo, es importante tomar medidas rápidas y efectivas para solucionar el problema y proteger tu sitio web. Existen dos tipos de infecciones en WordPress: infecciones en los archivos y infecciones en la base de datos. Las infecciones en los archivos son más fáciles de solucionar, mientras que las infecciones en la base de datos pueden ser más complicadas.

Hay diferentes formas de detectar un sitio de WordPress infectado, como por ejemplo, ver un mensaje en rojo en tu navegador indicando que tu sitio contiene malware.
1678267739118.png

En otras ocasiones, también podemos ver páginas indexadas en los resultados de búsqueda de Google con contenido que no pertenece a tu sitio web, contenido chino, ruso, etc.

1678267858035.png

En algunos casos, el malware puede abrir pop-ups solo en ocasiones seleccionadas, lo que puede hacer que sea difícil de detectar para el administrador del sitio web.

Tipo de infecciónCausaSíntomas
Infección en los archivosMalware en los archivos del theme o pluginMensaje de aviso en rojo en el navegador, páginas indexadas con contenido extraño en los resultados de búsqueda de Google
Infección en la base de datosMalware inyectado directamente en la base de datos de WordPressPop-ups que aparecen solo en ocasiones seleccionadas, contenido extraño en el sitio web

En este artículo, te guiaremos a través de los pasos necesarios para detectar y solucionar el problema de un sitio de WordPress infectado. Te mostraremos cómo realizar una copia de seguridad, cómo identificar y eliminar los archivos infectados, y cómo prevenir futuros ataques. ¡Vamos a empezar!

1. Investigar el origen del malware​


El primer paso en la solución de un sitio web infectado con malware es la identificación del problema. Puedes comenzar realizando una búsqueda en Google para ver si tu sitio ha sido marcado como infectado. También puedes utilizar herramientas gratuitas como la de
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
y
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
para detectar el malware en tu sitio.

Una vez tengas más información sobre la infección, es importante que te pongas en contacto con tu empresa de alojamiento para notificarles del problema. Esto es especialmente importante si estás en un alojamiento compartido, ya que el malware puede haber afectado a más de un sitio pero puede que sólo se esté manifestando en uno de ellos. Si tu empresa de alojamiento no ofrece un buen servicio técnico y no está dispuesta a ayudarte, quizás sea una buena idea considerar cambiar a otra empresa al finalizar este proceso de solución.

2. Realiza una copia de seguridad​


Antes de hacer cualquier cambio en tu sitio web, es importante realizar una copia de seguridad de todos tus archivos y datos. De esta manera, podrás recuperarlos en caso de que algo salga mal durante la limpieza. Realiza la copia sí o sí, es muy probable que las cosas salgan mal en una limpieza de datos tan profunda.

3. Elimina los archivos infectados ¡Comenzamos!​


Comprobación manual:​

Una vez que hayas realizado una copia de seguridad de tus archivos y datos, es importante identificar y eliminar todos los archivos infectados de tu sitio web. Para hacer esto, debes acceder a tu alojamiento a través de FTP, ya sea usando la herramienta WebFTP disponible en tu plataforma de alojamiento o algún gestor FTP externo como
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
o
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
.

Una vez que hayas accedido a tu alojamiento a través de FTP, debes entrar al directorio en el que está instalado WordPress. Por defecto, los alojamientos usan la carpeta "/public/" o "/public_html/" o "/www/" o similares, así que si no la has cambiado durante la instalación, alguna de las anteriores, será la carpeta en la que encontrarás tu WordPress.

Deberás ver una estructura como esta:
1678267978869.png

Después de localizar los archivos de WordPress, debes eliminar todos los archivos y carpetas excepto el archivo "wp-config.php" y la carpeta "wp-content". Luego, debes acceder a la edición del archivo "wp-config.php" para asegurarte de que no esté afectado por malware. Para hacer esto, haz clic derecho en el archivo y selecciona "Editar" en el menú desplegable.

Revisa de forma manual no encontrar contenidos de código encriptado como este:
1678267669548.png

En el modo de edición del archivo, verás el código fuente del mismo. Es importante asegurarse de no realizar ningún cambio accidental, ya que esto podría hacer que deje de funcionar. Para saber si este archivo ha sido infectado, puedes compararlo con el archivo "wp-config-sample.php" que puedes descargar desde la
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
. Si está infectado, lo más probable es que tenga una cadena de caracteres larga en algún lugar que no aparezca en el "wp-config-sample.php".

Después de revisar el archivo "wp-config.php" y asegurarte de que está correcto, debes acceder a la carpeta "wp-content" y dentro de ella a la carpeta "plugins". Haz una lista de los plugins que usas y borra todo el contenido dentro de esta carpeta. Luego, haz lo mismo en la carpeta "themes" que encontrarás dentro de "wp-content".

Finalmente, revisa la carpeta "uploads" y su contenido para asegurarte de que no haya ningún archivo ejecutable (php) dentro de ella. Si existe algún archivo ejecutable, debes revisar su contenido y eliminarlo si determinas que se trata de un archivo infectado.

Comprobación de checksum:​

De forma adicional, puedes realizar una comprobación de checksum de WordPress. La comprobación de checksum es un proceso que permite comparar los archivos actuales de tu sitio con los archivos originales de WordPress para determinar si algún archivo ha sido modificado o alterado.

El proceso de comprobación de checksum consiste en crear un archivo PHP en la raíz de tu instalación de WordPress que ejecute y muestre los resultados de los análisis. Para hacer esto, necesitarás disponer de al menos PHP 5.6 en tu servidor.

El código que deberás utilizar es el siguiente:

PHP:
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.

Para ejecutar la comprobación de checksum de WordPress, debes seguir los siguientes pasos:
  1. Crea un nuevo archivo en el directorio raíz de tu instalación de WordPress con el nombre que desees, por ejemplo, "checksum.php".
  2. Abre el archivo en un editor de texto o código y copia el código proporcionado anteriormente en el archivo.
  3. Guarda los cambios en el archivo y cierra el editor de texto o código.
  4. Accede a tu sitio web y añade "/checksum.php" al final de la URL (por ejemplo, "
    Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
    "). Este es el URL que debes abrir para ejecutar el script PHP que realiza la comprobación de checksum.
  5. Si todo está correcto, no se mostrará ningún mensaje de error en la página. Si, por el contrario, se encuentra algún archivo con un checksum no coincidente, se mostrará un mensaje que indica la ubicación del archivo y que su checksum no es coincidente.
Este código accederá a una API de WordPress que contiene los checksums oficiales para la versión actual de tu instalación y comparará los checksums de tus archivos con los oficiales. Si algún archivo no coincide con el checksum oficial, significa que algo ha sido modificado y deberás investigar más a fondo para determinar si es una infección de malware o no.

Comprobación en alojamientos compartidos​

Es importante que tengas en cuenta que si estás alojando tu sitio en un entorno compartido, es posible que la infección afecte a más de un sitio. Por lo tanto, es recomendable revisar cuidadosamente el resto de sitios que tengas alojados en el mismo entorno compartido y realizar las mismas comprobaciones que describimos en este post. De esta forma, podrás asegurarte de que tu sitio está completamente desinfectado y de que no vuelve a sufrir una infección similar en el futuro.

4. Actualiza tus plugins y temas​

Después de haber eliminado los archivos infectados, es importante asegurarse de que todos tus plugins y temas estén actualizados a la última versión. Esto ayudará a solucionar posibles vulnerabilidades y a prevenir futuros ataques.

5. Cambia todas tus contraseñas​

Cambia todas tus contraseñas, incluyendo las de tu panel de control de WordPress y las de tus cuentas de correo electrónico y otros servicios relacionados con tu sitio web. Es importante utilizar contraseñas seguras y únicas para proteger tu sitio web.

6. Monitorizar tu sitio web y prevenir nuevos ataques/infecciones​

Después de haber completado todos los pasos anteriores, es importante monitorizar tu sitio web para detectar cualquier posible ataque o malware en el futuro. Puedes utilizar herramientas de seguridad como
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
o
Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
para monitorear tu sitio web y protegerlo de futuros ataques.

Para evitar futuros problemas con infecciones en tu sitio web, es importante tomar una serie de medidas de seguridad. Aquí te describo algunas de ellas:

  1. Cambia el prefijo de tu base de datos. Puedes usar un plugin llamado
    Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
    . Pero antes de hacer cualquier cambio importante, asegúrate de hacer una copia de seguridad de tu base de datos.
  2. Modifica los permisos de tus archivos en el servidor a 755 y los permisos de los directorios a 644. No debes otorgar permisos 777 a archivos o directorios.
  3. Crea un archivo index.php vacío en cada directorio para evitar que sean accesibles a través del navegador.
  4. Verifica que no exista el usuario "admin", ya que es el primer nombre de usuario que los posibles atacantes intentan utilizar.
  5. Crea un archivo .htaccess con el siguiente código:
    Código:
    Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.

    Y colócalo en la carpeta /wp-content/uploads. De esta manera, evitarás que se ejecuten archivos .php dentro de la carpeta "uploads", lo que suele intentar muchos atacantes.
  6. Haz copias de seguridad periódicas, tanto de tu sitio web como de tu base de datos, y guárdalas en un lugar seguro, preferiblemente fuera del servidor de alojamiento.
  7. Mantén tu WordPress, así como el tema y los plugins, actualizados.
  8. Activa un plugin de seguridad como
    Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
    ,
    Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
    o
    Contenido sólo para usuarios registrados. Por favor inicia sesión o regístrate.
    .
  9. Usa siempre contraseñas seguras y enseña a tus colaboradores, redactores o personal de tu empresa la importancia de hacerlo.

7. La infección ha vuelto​

Es una situación muy frustrante y que puede suceder en alojamientos compartidos. Si el malware se encuentra en un sitio web, puede propagarse a otros sitios en el mismo servidor. Es importante realizar una revisión exhaustiva de todos los sitios en el servidor y asegurarse de que todos estén desinfectados antes de considerar que el problema está solucionado. De lo contrario, el malware puede propagarse de nuevo y volver a infectar los sitios que habías limpiado previamente. Por tanto, es importante monitorear el sitio web con frecuencia y realizar copias de seguridad periódicas para estar preparados en caso de una nueva infección.
 
Gracias por el trabajazo José, esto puede ahorrar mucho tiempo, dinero y mantener una mayor cantidad de pelo en la cabeza. Oro puro.
 
He limpiado muchas más de las que me gustaría (especialmente en Mayo-Junio del 2018 si no recuerdo mal, que fue horrible) y seguramente algún día tendré que volver a pasar por ese trago... y tu explicación es simplemente brutal y hiper detallada. ¡Super completa!
Gracias Pan GIF by El Catrín
 
Buenisimo, justo ahora necesito limpiar un sitio asique me viene de lujo! A ver si lo logro 😁 Gracias Jose!
 
Volver
Arriba