Skip to main content
Hosting

Me han hackeado la web, ¿ahora qué hago?

Por 29 noviembre, 2020diciembre 13th, 2020Sin comentarios
Han hackeado mi web

Y de repente, ¡la web me ha dejado de funcionar! Me da un error 500,  me sale un código extraño o me redirige a webs de viagra. Amigo… te han hackeado la web. Pero tranquilo, que no te entren sudores fríos, el 90% de los casos se puede recuperar todo. En este post te explico los pasos que ha mi me han ayudado a recuperar bastantes webs a lo largo de mi carrera como desarrollador web.

Lo primero que hago siempre, es cambiar contraseñas de todo. Es muy probable que el hacker haya podido robarte credenciales tanto de base de datos, ftp o incluso crearse un usuario administrador en WordPress o cualquier CMS. Si hay más usuarios administradores que manejen la web y son usuarios reconocidos, sería recomendable resetear las contraseñas de todos. Te recomiendo utilizar contraseñas seguras, aunque sean más difíciles de recordar. Herramientas online como la siguiente, te ayudan a generar contraseñas fuertes: Lastpass.

Una vez reseteo contraseñas de todo, lo importante es limpiar el código malicioso. Normalmente, virus como un troyano, dejan archivos maliciosos que son los que infectan el resto de archivos de código php, js… Por lo tanto es clave encontrar estos archivos y eliminarlos. Algunos hosting tienen herramientas de escaneo que nos ayuda a detectar todos los archivos del virus o los que han sido infectados.

Pero antes de ponernos a limpiar código, primero deberíamos intentar restaurar una copia de seguridad. Hosting medianamente buenos, realizan copias de seguridad diarias. Por lo tanto, si sabemos más o menos cuando empezó el hackeo, podemos restaurar una copia anterior, lo que nos permite de una tacada limpiar todo el código malicioso. Si no queremos restaurar una copia antigua porque hemos hecho cambios recientes que no queremos perder, entonces nos toca limpiar el código a mano.

Como he dicho antes, lo primero es buscar aquellos archivos subidos por el ciber-delincuente, que nos infectan el resto de la web. A veces utilizan formularios de subida de archivos, así que revisa en la carpeta uploads. También buscan vulnerabilidades en algún plugin o tema, así que también es bueno revisar en estás carpetas. Una vez eliminado, hay que borrar el código malicioso de los archivos del core de WordPress, plugins, temas o código nuestro. Suelen utilizar los mismos patrones. Códigos raros e ilegibles al principio de los script php, así que si encontramos uno, es posible que en el resto de archivos infectados tenga el mismo o similar. Editores de código como Dreamweaver o Visual Studio Code permiten hacer un reemplazo general de todos los archivos, para eliminar el código. Sino, te tocara ir uno por uno…

Si puedes acceder al admin de WordPress, lo primero que deberías hacer es actualizar todo lo posible. Si ya tienes la última versión de WordPress, reinstálala de nuevo. Lo mismo con los plugins y tema. Borra temas inactivos que no sean el default de WordPress. Hasta ahora el Twenty Twenty.

Si tu web te redirige a páginas extrañas, es muy probable que también hallan tocado tu base de datos. Primero revisa las url de la web. En la tabla wp_options, las dos primeras filas son las que determinan la url de tu web. Revisa que este bien. WordPress nos da la opción de declarar en el archivo wp-config.php las constantes ‘WP_SITEURL’ y ‘WP_HOME’ para forzar esas url y que ignore el ajuste de wp_options. Quedaría así:

define('WP_SITEURL', 'https://miweb.com');
define('WP_HOME', 'https://miweb.com');

También sería recomendable revisar en el resto de la base de datos, código malicioso como scripts de js que hacen que cuando cargue tu web, automáticamente redirija a otra página. Normalmente suelen meterlo dentro del contenido de las páginas que está en la tabla wp_posts.

Si hemos hecho todos los pasos correctamente y no hemos muerto en el intento, seguramente hemos eliminado el virus y la web vuelva a funcionar. Aún así, no sería bueno pararse ahí. Si han hackeado tu web es porque es vulnerable y puede volver a ocurrirte. En muchas ocasiones, versiones antiguas de nuestros plugins, temas o incluso WordPress dan paso ha los ciber-delincuentes ha abrirse hueco en nuestra web. Si en los pasos anteriores no hemos actualizado a la última versión, os recomiendo hacerlo encarecidamente. Revisa si algún plugin es ya muy antiguo y quizás ya no tenga soporte del desarrollador y hace mucho tiempo que no sube actualizaciones. Sería bueno cambiar a otro plugin que tenga las mismas funciones.

También sería bueno instalar un plugin de seguridad que prevenga muchos ataques. Wordfence, iThemes Security o WP Cerber son buenas opciones gratuitas. Yo utilizo muchos las versiones premium de los plugins de WPMU DEV.

Estos plugin te permiten reforzar de forma eficiente la seguridad de nuestro sitio:

  • Reglas de Firewall.
  • Bloqueo de IPs.
  • Protección de fuerza bruta.
  • Auditorias de nuestro sitio.
  • Escaneo de código sospechoso o malicioso.
  • Enmascaran nuestra url del admin de WordPress, para que no sea el de por defecto /wp-admin.
  • Cabeceras de seguridad para evitar ataques XSS por ejemplo.
  • Otros consejos de seguridad.

También puedes realizar algunos ajustes adicionales de seguridad como denegar el acceso al admin solo ha ciertas IPs a través de un htaccess en la carpeta wp-admin. Podemos añadir algunos ajustes más de seguridad en el .htaccess de la raíz como la protección de hotlinks. Si quieres saber más sobre este tema, visita este otro post:

Trucos y consejos para .htaccess

Es imprescindible tener un certificado SSL instalado en nuestra web para que nuestra información este cifrada y se marque nuestra web como segura (HTTPS). Si no sabes de lo que te hablo, te recomiendo leer el siguiente post:

¿Para que sirve un certificado SSL?

Y por último, algunos hosting permiten activar un Firewall de aplicación (WAF) que le añade una capa extra de seguridad, ya que supervisa y bloque el tráfico HTTP si detecta cualquier ataque o actividad sospechosa sobre tu sitio.

Todos estos ajustes, ayudan a reforzar la seguridad de tu sitio considerablemente. Pero de nada sirve, sino llevamos un mantenimiento continuo de la web. Como hemos visto, es importante tener actualizado todo tu WordPress. Con las últimas actualizaciones, WordPress nos permite configurar las actualizaciones automáticas por cada uno de los plugins. Revisa las auditorías o informes que generen el plugin de seguridad que instales y realiza escaneos programados de tu código.

Si te han hackeado tu web y te ha ayudado este artículo, por favor, ¡compártelo o deja tu comentario!

Jairo Calero

Jairo Calero

Desarrollador web frontend y backend, especialista en webs app desarrolladas en PHP y Javascript. Experto en HTML, CSS3, PHP y Javascript con frameworks y librerías como jQuery, Angular y Bootstrap. Gestor de herramientas SEO como Google Analytics, Search Console, SEMrush o Hotjar. Email marketing y Big data.

Deja tu respuesta