Tabla de contenidos
Encontrar que tu sitio web ha sido hackeado siempre será un dolor de cabeza. Para poder lidiar con este escenario indeseado, aquí te detallamos los pasos a seguir para limpiar completamente tu sitio de WordPress:
Hacer un backup
Haga una copia de seguridad para hacer un análisis de la infección del sitio en una etapa posterior. Algunos proveedores eliminarán el sitio web cuando detecten que ha sido hackeado, así que saca una copia de seguridad, al menos podrá salvar parte del sitio.
Identificar cómo fue hackeada la instalación de WordPress
Una de los primeros pasos a seguir es identificar qué pasó, por ejemplo puede tratarse de una debilidad de seguridad que los hackers explotan para tener acceso a WordPress. Lo ideal sería no cambiar cualquier password o archivo en este paso porque esto puede alarmar al hacker, y las cosas pueden empeorar.
¿Se debe restaurar una copia de seguridad?
Muchos especialistas recomiendan restaurar una copia en caso que el sitio haya sido hackeado. Restaurar una copia de seguridad de WordPress eliminará la infección, pero no resolverá la falla que los hackers han aprovechado, por eso es mejor saber primeramente qué fue lo que pasó.
Acciones a tomar
Se recomienda mantener un registro de actividades en WordPress (un log file), esto sería el mejor lugar donde comenzar el análisis. Vea si puede identificar algún comportamiento sospechoso en ese log. Busque eventos de usuarios recién creados, o cambios de contraseña de usuario. También se puede ver si modificaron archivos de WordPress, plugins o temas.
Se deben revisar los archivos de registro del servidor web y del servidor FTP. Se recomienda verificar acciones inusuales, como tráfico desde una IP sospechosa, o si tiene otros servicios de red en ejecución en su servidor, tambien revise los registros de esos servicios.
Plugins y temas no utilizados y desactualizados
Verifique la lista de complementos instalados, desde el panel de control de WordPress, así como en el directorio /wp-content/plugins. Debes preguntarte: ¿Voy a usar todos estos plugins? ¿Están todos actualizados? Comprueba también los temas y el directorio de temas en /wp-content/themes. Lo ideal es tener solo instalado el tema que se está utilizando, si tiene un tema hijo entonces trabajará con dos directorios.
El problema de código antiguo
Algunas veces los desarrolladores actualizan el código fuente de un archivo de WordPress, y renombran la versión anterior colocándole la extensión .old. Los hackers pueden identificar esos archivos, los cuales podrían contener suficiente información confidencial que le ayude a diseñar un ataque contra su sitio web.
Una situación similar se da con las instalaciones antiguas de WordPress. Cuando algunos usuarios reconstruyen sus sitios, dejan una copia de WordPress en un folder, a veces llamado /old, /sub, etc. Estas instalaciones antiguas de WordPress puede ser accesibles a través de internet, por lo que son proclives a ser pirateadas.
Se recomienda borrar cualquier tipo de código no utilizado, instalaciones de WordPress, plugins, temas, y cualquier archivo antiguo que no se utilice. El sitio debe contener al menor número de archivos posibles.
Comprobar también si se están utilizando todos los usuarios, ¿hay alguno sospechoso? Compruebe que todos los roles están intactos. Si sigue las pautas de usuarios y roles de WordPress, solo debe tener un usuario con el rol de administrador.
Hosting compartido
Si su instalación de WordPress se está ejecutando en un proveedor con servidor compartido, la fuente del hackeo podría provenir de otro sitio web que se aloje en el mismo servidor que el suyo. En este escenario, aquel otro sitio puede haber sido hackeado, y los piratas lograron escalar sus privilegios y acceder a todo el servidor, por lo que tuvieron acceso a su sitio web de WordPress.
¿Cómo se puede identificar este tipo de ataque? Hable con su proveedor de hosting, después de hacer una copia de seguridad de su sitio.
Archivo .htaccess
Por lo general este archivo es un blanco usual para los piratas informáticos, utilizándolo para redirigir a los usuarios a otros sitios maliciosos y spam. Verifique todos los archivos .htaccess en su servidor, incluso los que no están siendo utilizados. Algunas redirecciones pueden ser difíciles de detectar.
Revisar otros puntos de entrada (FTP, SSH)
Lo que usualmente hace un atacante es inyectar código en un tema, plugin o archivo principal de WordPress. En estos casos, para realizar la limpiar del sitio hay que identificar qué archivos han sido cambiados en su código fuente. Una vez hallados, es fácil encontrar la infección.
Podríamos comprobar los archivos que se modificaron en los últimos días, tener un plugin que permita verificar si se ha modificado los archivos del core de WordPress, por ejemplo un complemento como el Website File Changes Monitor.
Si tenemos acceso a SSH podemos usar esta línea de comando:
find . mtime -5 -ls
Esto nos listará los archivos modificados hace 5 días.
Revisar todos los archivos HTML y JS
En WordPress hay muy pocos archivos HTML, sin embargo a los hackers les gusta utilizarlos para infectar los sitios. Por ejemplo, en un HTML pueden agregar scripts JS internamente y hacer que tu sitio muestre una alerta molestando, y en otros casos puede hacer que inyecte código malicioso. Busca dentro de cada archivo HTML y observa que sean legítimos y que sepas el uso que les va a dar.
En caso haya sido infectado o modificado
Si en el sitio aparece un texto extraño de modificación, puede utilizar el comando grep
. Este comando permite revisar qué archivos han sido modificados, buscando dentro de ellos alguna cadena de caracteres en particular. Por ejemplo:
grep -ril “hackeado por”
Una vez obtenidos estos archivos, se analiza su código fuente y se procede a eliminar la infección. También podemos buscar términos sospechosos como “iframe”, “base64_decode”, “exe”, “inurl”, “gzuncompress” , “eval”.
Compare sus archivos con los originales de la instalación de WordPress, esto nos dará una idea de qué es lo que puede haberse modificado en el core de WordPress o en cualquier archivo del proyecto. Para esta tarea un plugin como Wordfence nos puede ayudar.
Limpie la infección de WordPress
Una vez que sabemos cómo se originó el problema, resta realizar la limpieza del sitio web, siguiendo este procedimiento:
- Restaurar WordPress desde un backup, esta manera es más rapida que limpiar el código de forma manual.
- Cambiar los passwords de todos los usuarios, de WordPress, cPanel, MySQL, FTP. Si existen usuarios que no pertenecen al sitio, elimínelos, y haga una revisión de los permisos.
- Actualice la instalación de WordPress, los plugins, temas y todo el core. Esto asegura tener las versiones más actuales y con todas las correcciones de seguridad o bugs de programación encontrados.
- Una vez terminado esto, haga una copia del sitio limpio.
- Instale un firewall, recomendamos Wordfence. Una vez que haya limpiado el sitio, instale también un plugin de registro de actividad, para poder trackear lo que pasa en el sitio.
Deja una respuesta