Guía completa para eliminar malware de WordPress
Debido a su popularidad, WordPress se ha convertido en un objetivo habitual de los ciberataques. De hecho, el 70% de los 40.000 sitios de WordPress que figuran en la lista Alexa Top One Million son vulnerables a los intentos de ciberataque.
Algunos de los signos más comunes de un sitio hackeado incluyen páginas web desfiguradas, enlaces a sitios web maliciosos, advertencias de la lista de bloqueo de Google y pantallas blancas de la muerte. Si uno de estos indicios aparece en tu sitio de WordPress, es probable que haya sido comprometido o infectado con malware.
Una vez que hayas confirmado que tienes un sitio web de WordPress hackeado, toma las medidas adecuadas para recuperarlo lo antes posible. Sigue leyendo porque te daremos los pasos para eliminar manualmente el malware de un sitio web hackeado. También cubriremos algunos de los mejores plugins de seguridad entre los que puedes elegir.
Tabla de Contenidos
Cómo eliminar manualmente el malware de WordPress
Aunque recuperar un sitio WordPress hackeado es posible, el proceso requiere un conocimiento técnico adecuado sobre el mantenimiento y el hosting de sitios web.
Si el siguiente tutorial te parece demasiado complicado, te recomendamos que utilices un plugin para eliminar malware o que contrates a un especialista en eliminación de malware en WordPress.
Paso 1. Preparar la eliminación de malware de WordPress
En primer lugar, ten en cuenta que puedes arreglar tu sitio hackeado. Aunque puede llevar algo de tiempo y esfuerzo recuperarlo, debes saber que puedes superar un incidente de este tipo. Por lo tanto, es importante mantener la calma y seguir el procedimiento de recuperación adecuado.
Antes de eliminar el malware de tu sitio de WordPress, sigue estos pasos de preparación para garantizar la seguridad de tus datos:
1. Restringe el acceso al sitio web
Si tu sitio de WordPress tiene redirecciones maliciosas a sitios dudosos y no seguros, es probable que haya sido hackeado. Si no se controla, tu sitio de WordPress infectado puede hacer que los visitantes accedan a sitios peligrosos y filtren sus datos personales.
Restringir el acceso a tu sitio de WordPress ayudará a prevenir la propagación del malware oculto que actualmente lo infecta. Realiza este paso editando el archivo .htaccess a través del Administrador de Archivos de tu panel de control de hosting o de un cliente FTP como FileZilla. En este tutorial, utilizaremos el Administrador de Archivos de Hostinger en hPanel.
A continuación se explica cómo hacerlo:
1. Navega hasta el Administrador de archivos en la sección Archivos
2. Accede al directorio public_html y desplázate hacia abajo para localizar el archivo .htaccess. Si el archivo no se encuentra, crea un nuevo archivo .htaccess por defecto.
3. Añade este fragmento de código al archivo .htaccess para bloquear todos los accesos excepto el tuyo:
order allow,deny deny from all allow from [tu_dirección_IP]
4. Guarda los cambios.
Asegúrate de que tu dirección IP sea estática. De lo contrario, tendrás que actualizar el archivo .htaccess periódicamente.Tip Profesional
2. Crea una copia de seguridad
Crear una copia de seguridad del sitio hackeado facilitará la identificación del malware. Al comparar los archivos de WordPress de la copia de seguridad buena con los de la versión posterior al hackeo, podrás localizar el código malicioso mucho más rápido.
Sigue estos pasos para hacer una copia de seguridad de WordPress de los archivos y la base de datos de tu sitio, utilizando el sistema de copia de seguridad y restauración de un clic de Hostinger hPanel:
1. Accede a Copias de seguridad dentro de la sección Archivos
2. Haz clic en el botón Seleccionar dentro de la sección Copias de seguridad de archivos. Selecciona una fecha en el menú desplegable y haz clic en Siguiente paso.
3. Marca la casilla junto al dominio del que quieres hacer una copia de seguridad y luego selecciona Descargar todos los archivos.
4.Una vez que el servidor termine de preparar la descarga, haz clic en Descargar copia de seguridad.
5. Después de hacer la copia de seguridad de los archivos del sitio web, haz lo mismo con la base de datos de WordPress. Haz clic en el botón Seleccionar bajo la sección Copias de seguridad de la base de datos y elige la base de datos deseada en el menú desplegable. Si no conoces el nombre de tu base de datos de WordPress, localízala primero.
6. Selecciona Mostrar bases de datos para mostrar los registros de las copias de seguridad. Elige una fecha y haz clic en Descargar.
7. Una vez que el servidor termine de preparar la descarga, haz clic en Descargar copia de seguridad.
3. Comprueba las copias de seguridad disponibles
Este paso debería ser fácil para aquellos que han hecho su debida diligencia como administradores de sitios web. Si no pudiste restaurar el sitio de WordPress utilizando el archivo de copia de seguridad infectado, la versión más antigua puede servir como tu plan B, permitiéndote recuperar los datos anteriores al hackeo y empezar de nuevo mucho más rápido.
De lo contrario, te recomendamos que te pongas en contacto con tu proveedor de hosting web para ver si tienen una copia de seguridad de los archivos de tu sitio web. Dependiendo de tu proveedor de alojamiento, puedes tener archivos de copia de seguridad previos al hackeo generados automáticamente. Hostinger, por ejemplo, ofrece copias de seguridad diarias y semanales con sus planes de alojamiento compartido.
4. Actualiza todas las contraseñas y claves de acceso
Muchos hackers utilizan el malware para cometer ataques de fuerza bruta para descifrar las credenciales de acceso de las cuentas de administrador. Cambiar tus contraseñas puede frenarles y minimizar las posibilidades de que otro riesgo de seguridad cause estragos en tu sitio de WordPress.
Asegúrate de utilizar contraseñas fuertes y evita reutilizarlas en más de una cuenta a la vez. Hay muchos generadores de contraseñas en línea, como el Generador de contraseñas y el Generador de contraseñas aleatorias, que pueden ayudarte a crear contraseñas imprevisibles con varias combinaciones de letras y números.
Las siguientes son algunas de las cuentas que necesitan un restablecimiento de la contraseña lo antes posible:
- Cuenta de hosting: la mayoría de los proveedores de alojamiento, incluyendo Hostinger, ponen la función de cambio de contraseña en la página de información de la cuenta.
- Cuentas FTP: tener tus cuentas FTP comprometidas permitirá a los hackers lanzar ataques de rebote FTP. Minimiza este riesgo cambiando la contraseña de tus cuentas primarias y secundarias.
- Cuentas SSH: cambia las contraseñas de tus cuentas y configura claves SSH para evitar que los hackers accedan a los datos de tu sitio web.
- Credenciales de WP-Admin: cambia tu contraseña de administrador y las credenciales de inicio de sesión de otras cuentas de usuario de WordPress que tienen acceso al backend de tu sitio.
- WP Salts: cambiar tus claves Salt de WordPress te ayudará a mantener tus datos de acceso con hash, fortaleciendo tu cuenta de WordPress contra ataques de fuerza bruta.
¡Importante! Si tienes cuentas personales con la misma contraseña que tu sitio WordPress hackeado, cámbialas también.
5. Actualiza WordPress
El 39,3% de los sitios de WordPress hackeados utilizan una versión obsoleta de WordPress. Si mantienes tu CMS actualizado, eliminarás las vulnerabilidades que los hackers pueden aprovechar para atacar tu sitio web.
Aquí tienes una lista de comprobación de los programas y archivos que debes actualizar:
- Versión de WordPress: actualiza tu WordPress a la última versión a través de la pestaña Actualizaciones de tu panel de administración de WordPress. Los usuarios de Hostinger pueden actualizar la versión de su sitio web a través del panel de control de hPanel.
- Temas y plugins: el aviso de actualización de los plugins y temas de WordPress obsoletos debería aparecer en la sección de Actualizaciones. No olvides eliminar los posibles problemas de seguridad borrando los temas y plugins que no se utilicen.
- Versión de PHP: los usuarios de Hostinger pueden actualizar su versión de PHP a través del menú de Configuración de PHP en la sección Avanzada del panel de control de hPanel.
6. Comprueba los cambios recientes y el acceso
Los registros de tu sitio de WordPress mantienen un registro de todo el tráfico y los cambios realizados en el servidor. La comprobación de los registros en busca de actividad sospechosa en el momento del hackeo facilita la identificación de cuentas fraudulentas y archivos infectados.
En primer lugar, analiza tus registros de cambios ejecutando el comando find en SSH:
find . -type f -name '*.file_extension' -ctime n
Reemplaza el valor de file_extension por el tipo de archivo que quieras comprobar. Recomendamos buscar archivos JavaScript y PHP, ya que ambas extensiones de archivo son objetivos comunes de la inyección de malware. Añade un valor positivo o negativo al marcador de posición n para determinar el alcance de la búsqueda.
Por ejemplo, el siguiente comando SSH muestra cualquier archivo PHP añadido o modificado hace tres días:
find . -type f -name '*.php' -ctime -3
En cuanto a los registros de acceso, los usuarios de Hostinger pueden verlos a través de Analítica en la sección Rendimiento del panel de control hPanel. Abra la pestaña Registros de Acceso para ver una lista de las visitas a su sitio web. Puede filtrar los resultados en función del periodo de tiempo elegido.
7. Elimina Symlinks
Los enlaces simbólicos o symlinks son tipos de archivos que apuntan a otro archivo o directorio, sirviendo como accesos directos. Aunque proporcionan múltiples puntos de acceso, los hackers pueden aprovecharlos para lanzar ataques de enlaces simbólicos y obtener acceso a tu directorio raíz.
Ejecuta este comando a través de SSH para desbloquear los enlaces simbólicos de tus archivos y directorios:
find . -type l -exec unlink {} \;
8. Restablece los permisos de archivos y carpetas
Limitar el número de usuarios con rol de administrador es una gran medida de seguridad para evitar que los hackers accedan a los archivos confidenciales del sitio. En caso de que se produzca un fallo de seguridad, recomendamos restablecer los permisos de archivos y carpetas a sus valores por defecto para expulsar a los usuarios de WordPress con privilegios de acceso no válidos.
La configuración de los permisos de los archivos debería ser accesible a través del panel de control de tu cuenta de alojamiento. Los usuarios de Hostinger pueden acceder a ellos a través del menú Resolver propiedad del archivo en la sección Otro. Después de marcar la casilla de confirmación, haz clic en Ejecutar para establecer todos los permisos de archivo a los valores predeterminados: 644 para los archivos y 755 para las carpetas.
Los permisos recomendados para las carpetas 755 significan que el propietario de los archivos dentro de estas carpetas puede leer, escribir y ejecutar, mientras que los demás usuarios de WordPress sólo tienen derechos de acceso de lectura y ejecución.
9. Analiza el PC con un software antivirus
Puede que el ciberataque se dirija inicialmente a tu sitio de WordPress, pero no se sabe si la infección de malware no se ha extendido a tu PC. El escaneo de tu PC con un software antivirus te ayudará a eliminar una posible infección de malware y a evitar que comprometa tu hardware.
Estas son algunas de las mejores soluciones antivirus que vienen con una función de escaneo de malware:
Paso 2. Reinstalar los archivos principales de WordPress
Después de hacer los pasos previos, es el momento de reinstalar WordPress. Si todavía tienes acceso a tu panel de control de WordPress, navega hasta Actualizaciones y haz clic en el botón Re-instalar ahora.
Si no, puedes utilizar un cliente FTP para reinstalar los archivos principales de WordPress manualmente. Estos son los pasos que deben seguir los usuarios de Hostinger
1. Establece una conexión FTP con tu servidor web.
2. Localiza la carpeta wp-content dentro del directorio raíz, haz clic con el botón derecho y selecciona Descargar.
3. Accede a tu panel de control de hPanel, navega a Sitio web -> Auto instalador. Selecciona la opción de WordPress y rellena los detalles de la instalación. Asegúrate de marcar la casilla Sobrescribir archivos existentes
4. Vuelve a tu cliente FTP y actualiza la lista de directorios. Vuelve a cargar la carpeta wp-content que descargaste anteriormente en el directorio raíz. Este paso te permite mantener tus archivos de plugins y temas.
Paso 3. Comparar la instalación de WordPress infectada con la limpia
En este punto, tendrás tanto los archivos infectados como los limpios de WordPress. Coloca esos archivos en dos carpetas separadas y compara el contenido a través de tu cliente FTP. FileZilla tiene una función de comparación de directorios que puedes utilizar para agilizar el proceso. Si tienes muchos archivos que revisar, considera usar Beyond Compare.
Presta mucha atención a los archivos JavaScript y PHP, ya que son anfitriones ideales para el malware. A continuación, sube al sitio web tantos archivos de WordPress limpios como sea necesario y comprueba periódicamente si el sitio funciona correctamente.
También puedes utilizar el comando diff en SSH para comparar las carpetas infectadas y las limpias:
diff -r wordpress-clean/ wordpress-infected/ -x wp-content
Fíjate en los archivos que han sido modificados o añadidos recientemente.
Paso 4. Borrar los archivos PHP de las subidas
Como los archivos PHP maliciosos podrían ser la causa de tu sitio hackeado, eliminarlos de tu carpeta de Subidas es un paso esencial del proceso de limpieza del sitio web WordPress comprometido.
Puedes hacerlo manualmente a través de un cliente FTP localizando Subidas en la carpeta wp-content. La mayoría de los clientes FTP, como FileZilla, ofrecen una función de filtro que facilitará este proceso. Otra forma de hacerlo es utilizar el comando find en SSH:
find . -name "*.php"
Paso 5. Buscar Backdoors dentro de tus archivos
Los hackers pueden incrustar puertas traseras en archivos para crear vulnerabilidades de seguridad dentro de tu sitio de WordPress, por lo que es importante eliminar cualquier archivo hackeado que las lleve.
Las puertas traseras o backdoors suelen ser similares a los archivos del núcleo de WordPress. wp-config.php y los archivos de las carpetas de plugins, temas y subidas son los objetivos más populares de las inyecciones de puertas traseras.
Para identificar posibles backdoors, comprueba tus archivos en busca de estas funciones PHP:
- base64
- exec
- move_uploaded_file
- str_rot13
- Gzuncompress
- Eval
- Stripslashes
- System
- Assert
- preg_replace (with /e/)
Utiliza el siguiente comando SSH para detectar cualquier archivo hackeado ubicado en tus directorios:
find . -type f -name '*.php' | xargs egrep -i "(mail|fsockopen|pfsockopen|stream\_socket\_client|exec|system|passthru|eval|base64_decode) *("
El siguiente comando localizará los archivos de imagen con funciones de puerta trasera:
find wp-content/uploads -type f -iname '*.jpg' | xargs grep -i php
Por último, utiliza el siguiente comando para localizar los iframes infectados:
find . -type f -name '*.php'| grep -i '<iframe'
¡Importante! Algunos plugins utilizan estas funciones en sus operaciones, así que asegúrate de probar cualquier cambio realizado. Recomendamos descargar los archivos originales de los plugins y comparar su código con los archivos que has descargado del sitio hackeado para evitar eliminar funciones esenciales.
Paso 6. Inspeccionar el archivo de la base de datos SQL
Tu base de datos no es inmune a las inyecciones de malware. Después de asegurarte de que el núcleo de WordPress y los archivos de contenido están limpios, el siguiente paso es echar un vistazo a tu base de datos.
Primero, exporta tu base de datos MySQL como un archivo de respaldo .sql con phpMyAdmin. Utilizando un editor de texto como Sublime, inspecciona el archivo en busca de contenido malicioso. No elimines las entradas sospechosas de tu archivo de copia de seguridad de la base de datos. En su lugar, toma nota de su ubicación y procede al siguiente paso.
Paso 7. Revisar el código de cada página y entrada
En este paso, busca entradas maliciosas dentro de tus publicaciones, páginas y secciones de comentarios. Comprueba su historial de revisiones para detectar cualquier actividad sospechosa.
Examina detenidamente los lugares en los que encontraste entradas sospechosas durante el paso 6. Elimina todo el código malicioso utilizando un editor de texto y reformatea el contenido si es necesario.
De paso, elimina los mensajes de spam que hayas encontrado durante el proceso de limpieza.
Paso 8. Eliminar tu sitio web de las listas de bloqueo de URLs
En este punto, tu sitio de WordPress debería estar libre de código malicioso. Lo único que queda por hacer es eliminar la URL de tu sitio web de la lista negra de Google.
Puedes hacerlo a través de Google Search Console. Accede a tu panel de administración y abre la pestaña Seguridad y acciones manuales -> Problemas de seguridad. Selecciona He solucionado estos problemas -> Solicitar una revisión para que Google revise y vuelva a indexar tu sitio de WordPress.
Ten en cuenta que Google puede tardar un par de días en procesar la solicitud de eliminación de la lista de bloqueo.
Consulta cómo añadir un dominio a Google Search Console para verificar la propiedad de tu sitio web y solicitar una revisión.Verificación de tu sitio web
Los mejores plugins para eliminar malware de WordPress
Has aprendido los pasos necesarios para eliminar el malware de los sitios de WordPress de forma manual. Si no confías en tus habilidades técnicas, considera utilizar un plugin de eliminación de malware en WordPress para agilizar el proceso de limpieza.
A continuación se presentan tres de los mejores plugins de seguridad de WordPress para elegir. Elige el que mejor se adapte a tus necesidades y preferencias.
1. WordFence Security
El escáner de malware para WordPress de WordFence Security facilita la eliminación de malware de tu sitio de WordPress. El plugin también incluye una función de escaneo de seguridad programado para automatizar el proceso, manteniendo la seguridad de tu sitio de WordPress sin necesidad de mucha microgestión de tu parte.
El plugin incluye un firewall de aplicaciones web: un valioso complemento para la seguridad de tu sitio web, ya que bloquea el tráfico malicioso y evita los ataques de fuerza bruta. Funciona junto con el escáner de malware para bloquear las solicitudes que incluyen scripts maliciosos.
Además, WordFence Security incluye funciones de seguridad de inicio de sesión como la autenticación de dos factores y reCAPTCHA. El plugin también te permite bloquear los inicios de sesión que utilizan contraseñas de usuario conocidas y comprometidas.
Si adquieres WordFence Premium por un valor entre 99 a 950 dólares al año, tendrás acceso a una lista de bloqueo de IP en tiempo real y a funciones de bloqueo de países, lo que detendrá todas las solicitudes procedentes de direcciones IP maliciosas o de los países que elijas.
Otras características notables de Premium incluyen actualizaciones de firmas de malware en tiempo real, investigación y eliminación de malware, eliminación de listas de bloqueo después de incidentes y limpieza de seguridad de motores de búsqueda.
2. All In One WP Security & Firewall
Este plugin de WordPress ofrece funciones de seguridad para las cuentas de usuario que detectan los nombres de usuario “admin” por defecto y los nombres de inicio de sesión y de visualización idénticos. Detiene la enumeración de nombres de usuario y promueve las contraseñas seguras proporcionando una herramienta de seguridad de contraseñas.
La funcionalidad de seguridad de inicio de sesión y registro de usuarios viene con protección de fuerza bruta, cierres de sesión forzados automáticos y bloqueo de IP. Puedes monitorear todas las actividades de la cuenta de usuario, incluyendo los intentos fallidos de inicio de sesión, y poner en lista blanca ciertas direcciones IP.
Otras características de seguridad de WordPress incluyen la capacidad de añadir prefijos personalizados de WP, copias de seguridad automáticas programadas de la base de datos, copias de seguridad de los archivos .htaccess y wp-config.php, y un escáner de detección de cambios en los archivos.
En resumen, All In One WP Security & Firewall es uno de los mejores plugins gratuitos para eliminar el malware de los sitios hackeados y prevenir futuros ataques de malware.
3. Sucuri Security
Al igual que el plugin de seguridad WordFence, Sucuri tiene versiones gratuitas y premium. El plugin gratuito ofrece características básicas de seguridad de WordPress como la monitorización de la integridad de los archivos, el endurecimiento de la seguridad y la auditoría de la actividad, el escaneo remoto de malware, la monitorización de la lista de bloqueo y las acciones de seguridad posteriores al hackeo. Lamentablemente, el firewall del sitio web está reservado para los usuarios premium.
La versión premium cuesta entre 199,99 y 499,99 dólares al año y ofrece un número ilimitado de eliminaciones de malware y ataques por parte de los expertos en seguridad de Sucuri. Todos los planes incluyen un firewall de aplicaciones web basado en la nube, escaneos de seguridad del sitio web cada 30 minutos a 12 horas e informes básicos posteriores a la limpieza.
Sucuri Security también puede notificar cuando tu sitio de WordPress está en la lista de bloqueados y enviar una solicitud de eliminación en tu nombre. La función de mejora de la velocidad de la CDN impulsará tu posicionamiento en los motores de búsqueda después de la infección por malware.
Contratación de un servicio de eliminación de malware para WordPress
Varios plugins de WordPress ofrecen funciones de primera categoría para eliminar el malware de los sitios de WordPress y protegerlos de futuras infecciones de malware. Sin embargo, cuando se trata de malware complejo, puede ser necesaria la ayuda de un profesional.
Se recomienda contratar servicios de seguridad de WordPress si se carece de los conocimientos técnicos necesarios para llevar a cabo los procesos explicados anteriormente.
Un experto en seguridad de WordPress puede garantizar que el proceso de eliminación de malware se realice correctamente. Además, puedes pedirles que apliquen parches a las vulnerabilidades de seguridad de tu sitio de WordPress, asegurando su óptimo funcionamiento.
Las plataformas de freelance como Upwork, Fiverr y Codeable albergan toneladas de expertos profesionales en WordPress disponibles para su contratación. Estos son algunos consejos para ayudarte a encontrar un especialista en eliminación de malware para WordPress:
- Redacta una descripción clara del puesto. Esto ayudará a establecer las expectativas, el presupuesto y las habilidades requeridas.
- Revisa detenidamente los portafolios de los candidatos. Conocer la experiencia previa de un candidato te dará una mejor idea de sus habilidades, su experiencia y si está preparado para la tarea.
- Examina los comentarios de clientes anteriores. Asegúrate de que la ética de trabajo y el estilo de comunicación del candidato coinciden con tus preferencias. Un buen candidato debe proporcionarte actualizaciones periódicas del estado del trabajo y ser transparente en todo el proceso.
- Utiliza referencias. Pide a tus amigos o contactos que te sugieran expertos de confianza con los que hayan trabajado.
Conclusión
Se puede eliminar malware de tu sitio web de WordPress de muchas maneras. Puedes hacerlo manualmente si tienes la experiencia técnica y el tiempo necesario para realizar el proceso de limpieza.
Los plugins de seguridad de WordPress pueden agilizar el proceso y añadir medidas de seguridad adicionales para evitar futuros ataques de malware. Si todo lo demás falla, puedes contratar a un experto en seguridad de WordPress para que haga el trabajo por ti.
Sea cual sea el método preferido, lo mejor es actuar lo antes posible. Aunque es posible recuperar un sitio web hackeado, el ciberataque puede perjudicar tu posicionamiento en los motores de búsqueda y la reputación de tu marca si no se soluciona.
Esperamos que este artículo te haya ayudado a saber cómo detectar el malware en tu sitio web de WordPress y a deshacerte de él. ¡Mucha suerte!
Otras lecturas acerca de WordPress
Cómo borrar la caché en WordPress
Cómo optimizar las imágenes en WordPress