Si estás leyendo este post puede ser que tu WordPress haya sido hackeado con código malicioso o, cuanto menos, sospechas que algo así ha podido ocurrir. No tienes que culparte ya que es algo más habitual de lo que crees, en especial cuando estamos hablando de WordPress, el CMS más popular hoy día entre quienes se deciden a crear un sitio web.
WordPress no es más inseguro que otros CMS que hay en el mercado; se trata tan solo de que tú pongas las medidas necesarias para evitar que los hacker puedan colarse en los archivos de tu página web. Si no te preocupas de su seguridad, es fácil que acabes siendo víctima del malware. Si no sabes por dónde empezar, al final de este artículo te damos algunos consejos 🙂
Nunca se habla lo suficiente de la importancia de tener al día la seguridad en WordPress y en el servidor, algo fundamental para ponerlo un poco más difícil a los hackers, pero si ya es demasiado tarde para esto tan solo tienes que seguir leyendo.
Aquí te vamos a ofrecer una solución sencilla y que suele funcionar en la mayoría de los casos pero si el hackeo de tu WordPress es muy grave o no acaba de arreglarse, te recomendamos que contactes con tu servicio de hosting para comunicarles lo que te está ocurriendo y te asesoren.
Tipos de infección en WordPress
Las infecciones en WordPress pueden dirigirse hacia dos objetivos:
- Archivos. Suelen afectar a plugins o al theme. Dependiendo de la agresividad de la infección, ésta puede propagarse por varios archivos o no.
- Base de datos. Se produce cuando el malware entra directamente en las bases de datos de WordPress. Si esto ocurre y tienes varios sitios en un mismo servidor, todos están en peligro.
Por supuesto, el primer tipo de infección resulta mucho más sencillo de eliminar ya que está concentrada en un solo elemento y, por lo general, no afecta a otros. Pero cuando la infección se encuentra en la base de datos no solo es más complicado deshacerse de ella sino que es muy probable que sus efectos sean mucho más perjudiciales.
¿Qué es un hackeo por inyección de código en WordPress?
Una inyección de código consiste en cadenas de código que se añaden a archivos ya existentes de tu WordPress que tienen permisos de ejecución y de escritura. Esto permite que el atacante pueda leer toda la información que contienen esos archivos, modificarlos y ejecutarlos a su antojo.
Por ejemplo, una de las órdenes que puede tener el código inyectado es ocultarse ante los robots de Google que realizar el crawleo (o rastreo), para que el dueño de la web no sea alertado de su presencia. Otros hacen que la web redirija a otro dominio distinto desde donde distribuye el malware mediante spam.
Además de en archivos y bases de datos, el malware puede entrar en tu WordPress a través de la inyección de código malicioso insertado en un JavaScript. También es posible que llegue en inyecciones de SQL que atacan directamente tu base de datos y cuyo objetivo es el robo de datos e información a través de los formularios y de la petición de nombre de usuario y contraseña.
Las inyecciones de código PHP afectan a los archivos con esta extensión y son especialmente peligrosas ya que el hacker podrá saber los cambios que realizas en tu web. Es más, incluso si tu primera acción es cambiar la contraseña sabrá cuál es desde el primer momento.
Las inyecciones en archivos PHP suelen dejar una puerta trasera abierta o “backdoor” a través de la cual el hacker tiene acceso a toda tu web sin que tú mismo seas consciente de ello. Por ello, será conocedor de todo lo que hagas.
Las inyecciones de código más populares son las de tipo eval64 y su objetivo principal es el envío de spam más que perjudicar en sí un sitio web o robar información. Estas inyecciones provocan problemas con el correo electrónico asociado al dominio ya que será utilizado por el hacker para enviar spam.
Cómo sé que mi WordPress ha sido hackeado
Las señales suelen ser bastante claras. Una de ellas se produce cuando intentas acceder a la web y es el propio navegador quien te informa mediante un aviso de que esa página contiene malware y el acceso a la misma no es seguro.
Es habitual que un WordPress que ha sido hackeado comience a funcionar de forma más lenta debido a los procesos que está ejecutando el atacante sin que lo sepas. Si ves que tu página se ralentiza sin motivo aparente trata de escanearla en busca de posible malware.
Otra señal se encuentra en los propios resultados de búsqueda de Google ya que, en lugar de aparecer el título y la meta descripción establecidos, verás palabras en otros idiomas e incluso en otros alfabetos.
En resumen, cualquier cosa menos lo que suele ser tu web.
Algo muy frecuente es que el atacante utilice tus cuentas de correo electrónico para enviar spam a tus contactos. Estos empezarán a advertirte acerca de esos envíos e incluso puede que el servidor decida bloquear tu IP por envío masivo de spam.
También pueden verse irregularidades en el tráfico de la web. Quizá de repente ya no llega tráfico o, por el contrario, ha crecido de una forma desmesurada en poco tiempo. En Google Analitycs puedes ver si el porcentaje de rebote ha crecido o si hay redirecciones extrañas hacia otras páginas web.
Por último, la página web puede empezar a mostrar pop-ups maliciosos. Es la manifestación más discreta porque, al mostrarse a unos usuarios sí y a otros no de forma aleatoria, puede pasar un tiempo hasta que tú mismo llegues a verlos a menos que algún conocido te advierta de ello.
Una vez hayas detectado el problema y solucionado el posible hackeo, te toca optimizar tu negocio al máximo.
Y para ello, debes formarte como es debido. Comienza apuntándote a esta newsletter, donde tienes 6 lecciones SEO gratuitas para que mejores tus conocimientos desde hoy mismo.
Detectar malware en WordPress
Una vez que ya te has percatado de que tu WordPress ha sido infectado tienes que saber qué tipo de malware te está afectando. Por suerte, puedes hacer uso de algunos plugin que hacen la función de antivirus, es decir, analizan, detectan y ponen en cuarentena los archivos infectados.
- Anti-Malware Security and Brute-Force Firewall. Es un plugin gratuito y se puede descargar directamente desde el repositorio de plugins de WordPress. Actualmente es uno de los más potentes a la hora de detectar malware. Una vez que ha detectado archivos infectados, puedes eliminarlos usando la propia herramienta o desinfectarlos y borrarlos de forma manual.
- Ninja Scanner. La ventaja que tiene este plugin respecto al anterior es que puede analizar los archivos del núcleo de WordPress. Rechaza las peticiones externas de PHP protegiendo a tu WordPress de estas inyecciones de código. También es gratuito y se puede descargar desde el repositorio de WordPress.
- WordFence Security. Se trata de uno de los plugin más destacables en cuanto a seguridad aunque debes tener en cuenta que consume bastantes recursos. Aunque tiene una versión premium, la versión de pago permite realizar análisis, aunque no puedes decidir cuándo.
- WPScan. Este plugin es especialmente útil a la hora de detectar posibles vulnerabilidades en tu WordPress, es decir, aquellos resquicios por los que puede entrar en malware a tu página.
Te recomendamos echar un vistazo a este post de Álvaro Fontela para saber cómo configurar y utilizar estos plugins con detalle..
Cómo limpiar un WordPress hackeado
Ahora que ya sabes qué es lo que está pasando en tu WordPress ha llegado el momento de hacer una buena limpieza y eliminar el malware. La primera acción que tendrás que realizar es la de eliminar los archivos infectados y sustituirlos por archivos nuevos que necesitarás volver a descargar.
Eso sí, teniendo en cuenta que es posible que haya más archivos infectados de los que hayas podido detectar, lo más recomendable es sustituir todos los archivos de theme, plugins y WordPress por nuevos archivos que tendrás que subir mediante FTP.
En el caso de que tengas algún código personalizado para modificar aspectos del theme, por ejemplo, no tendrás otro remedio que volverlo a colocar por si acaso se encontrara infectado también.
Pasos para recuperar un WordPress hackeado
Seguro que quieres saber cómo recuperar tu WordPress hackeado así que aquí te vamos a explicar paso a paso qué es lo que tienes que hacer. Recuerda hacer una copia de seguridad antes de nada.
- Crea una carpeta en tu ordenador y guarda todos los archivos de WordPress recién descargados
- En la carpeta “Plugins” (dentro de “wp-content”) copia las carpetas de los plugins que tenías instalados pero descargándolas de las fuentes oficiales
- En la carpeta “Themes” (dentro de “wp-content”) copia los archivos del theme que tenías instalado. Si no tenías un tema-hijo tendrás que volver a modificarlo todo pero no hay alternativa.
- Elimina todos los plugins y themes que no utilices ya que te arriesgas a volver a infectarte.
- Elimina cualquier archivo suelto que no pertenezca a plugin, theme o a la instalación de WordPress.
- Sube esta carpeta por FTP a tu WordPress y comprueba que todo funciona correctamente. Es posible que tengas que hacer algún ajuste.
- Analiza de nuevo todo el WordPress para corroborar que no quedan archivos infectados.
Es posible que te encuentres con que Google ha indexado algunas páginas producto de este malware. De hecho, Google Search Console puede ofrecer pistas al respecto al mostrar palabras y búsquedas que no tienen nada que ver con el contenido habitual de tu sitio web.
Si esto ha ocurrido, tienes que enviar una solicitud a Google para que desindexe esas páginas y además, configurar correctamente tu página de error 410. La diferencia de una página de error 410 con la habitual de error 404 es que la 410 indica que esa página ha sido borrada expresamente y, por lo tanto, Google la eliminará con mucha más rapidez de su índice.
Consejos para evitar el hackeo en WordPress
Nosotros recomendamos establecer copias de seguridad periódicas en tu sitio web con WordPress para prevenir hackeos y el tener que realizar todas estas acciones para poder recuperar tu página.
Además, como medida de seguridad antihackeo cambia las claves de autentificación de WordPress y la puerta de entrada al wp-admin para dificultar el acceso a los hackers. Puedes proteger este archivo y wp-config cambiando sus permisos a 444 para protegerlo contra escritura.
Otra de las primeras medidas que debes adoptar es no usar “admin” como nombre de usuario. Es el usuario que WordPress crea por defecto y que tiene un control total de toda la instalación por lo que es el primer nombre que va a probar un hacker que quiera acceder al panel de administración de tu página web.
Nunca descargues plugins ni themes de páginas no seguras ni de redes P2P como Torrent o eMule ya que suelen tener archivos infectados
Además, asegúrate de que pones una contraseña fuerte con letras, mayúsculas, minúsculas y caracteres especiales. Tienes la opción de utilizar el generador de contraseñas de WordPress, lo cual es muy recomendable.
Si es posible, impide el registro de nuevos usuarios para que el atacante no pueda colarse por ahí en tu WordPress. Añade un sistema reCaptcha para evitar que los bots puedan acceder al panel de administración e instala algún plugin que evite intentos de acceso masivos a tu blog, bloqueándolo durante unos minutos.
Por último, actualiza siempre los plugin y el theme de tu página web así como el propio núcleo de WordPress ya que el tener componentes desactualizados puede significar permitir la existencia de vulnerabilidades en tu sitio web. Respecto a los plugin, evita utilizar aquellos que el desarrollador no actualiza desde hace mucho tiempo.
Como ves, la solución ante un WordPress hackeado pasa por la sustitución de archivos pero tienes que tener en cuenta que en casos más complejos el remedio puede no ser tan sencillo. Por eso, sigue los consejos que te damos en las líneas anteriores y ponle barreras al malware para proteger tu sitio web.