Sitio web pirateado con software malicioso

Este paso se aplica a sitios web pirateados que propagan software malicioso y que, a menudo, muestran el mensaje de advertencia "Este sitio puede dañar tu ordenador" en los resultados de búsqueda. Es uno de los pasos más largos del proceso de recuperación. En este paso compilaremos una lista con los archivos dañados del sitio web. Vamos a usar esta lista en un paso posterior, en Limpiar el sitio web y hacer tareas de mantenimiento.

Si el sitio web se ha visto afectado por spam (no por software malicioso) y puedes leer el mensaje de advertencia "Este sitio puede haber sido comprometido" en los resultados de búsqueda, consulta la página Evaluar los daños provocados por spam (sitio web pirateado con spam).

Lo que necesitarás:

  • Acceso de administrador de shell/terminal a los servidores del sitio (web, base de datos, archivos)
  • Conocimientos de los comandos de shell/terminal
  • Capacidad para ejecutar consultas SQL en la base de datos

Lo que debes hacer:

Preparación

  1. No accedas a las páginas del sitio web desde un navegador, ya que el software malicioso suele propagarse mediante la explotación de las vulnerabilidades del navegador. Si abres una página infectada por software malicioso con un navegador, el equipo puede sufrir daños.
  2. Crea un documento para registrar los resultados de este paso. El documento debe incluir (como mínimo) el nombre o la ubicación de cada archivo dañado y notas sobre cómo se infectó. Además, servirá de base para el paso Limpiar el sitio web y hacer tareas de mantenimiento.
  3. Consulta los recursos adicionales según sea necesario:
    • Ve el vídeo mencionado anteriormente para saber cómo funciona el software malicioso y cómo puedes permanecer seguro durante la investigación del software malicioso.
    • Visita la página de diagnóstico de Navegación segura de Google para consultar la información pública sobre cuándo un sitio web es potencialmente dañino para los usuarios. Puedes ver la ficha del estado de tu sitio web en una dirección URL parecida a la siguiente:
      http://www.google.com/safebrowsing/diagnostic?site=<your-site>
      Por ejemplo: http://www.google.com/safebrowsing/diagnostic?site=webmastercentralblog.blogspot.com
  4. Utiliza cURL oWget para realizar solicitudes HTTP (por ejemplo, para explorar una página).

    Estas herramientas de libre disposición son útiles en el diagnóstico de redireccionamientos y tienen la flexibilidad de incluir información de la URL de referencia o de user-agent. Es útil incluir una URL de referencia o un user-agent específicos para imitar a los hackers, que es posible que solo sirvan contenido malicioso a usuarios con user-agent o URLs de referencia específicos para llegar a más "gente real" y así poder evitar que los propietarios de sitios web y los escáneres de software malicioso los detecten.

    $curl -v --referer "http://www.google.com" <your-url>

Investigación de tipos específicos de infección de software malicioso en tu sitio web

  1. Selecciona tu sitio web verificado en Search Console y, a continuación, haz clic en Problemas de seguridad.
  2. Investiga todas las categorías de software malicioso (por ejemplo, configuración del servidor, inyección de SQL) que se muestran en la sección Problemas de seguridad de tu sitio web. Para obtener más información sobre las URL infectadas, haz clic en "Mostrar detalles". Es posible que en dichos detalles se incluyan muestras de fragmentos de código que el hacker haya inyectado. Para cada categoría, copia en el documento de investigación la información siguiente:
    • Todos los ejemplos de URL infectadas que aparecen en la categoría de software malicioso en "Problemas de seguridad".
    • Las páginas dañadas adicionales que descubras durante la investigación.
    • Conclusiones detalladas de las URL infectadas, como el tipo de daño causado.
  3. A continuación, encontrarás información de ayuda para la investigación de cada tipo de software malicioso:

Evaluación de daños del sistema de archivos

A continuación, debes iniciar sesión en el sistema de archivos de tu sitio web para llevar a cabo una investigación más precisa. Es posible que, entre otras cosas, el hacker haya modificado los registros de páginas o de la base de datos, haya creado páginas con contenido fraudulento totalmente nuevas, haya escrito funciones para mostrar spam en páginas limpias o haya dejado "puertas abiertas" que le permitan volver a tu sitio web o continuar realizando tareas maliciosas si no se eliminan.

Si tu sitio web está online, puedes retirarlo para este paso.

  1. Si tienes una copia de seguridad limpia de tu sitio web, identifica los archivos que se hayan creado o modificado después de crear la copia de seguridad. Añade estos archivos a tu lista por si necesitas investigarlos más a fondo. En los sistemas basados en Unix, puedes utilizar un comando como:
    $ diff -qr <current-directory> <backup-directory>
    Por ejemplo:
    $ diff -qr www/ backups/full-backup-20120124/
    Y también:
    $ md5sum <current-page> <backup-page>
    Por ejemplo:
    $ md5sum www/page.html backups/full-backup-20120124/page.html
  2. Busca actividades sospechosas en los registros del servidor, de acceso y de errores, por ejemplo, errores al intentar iniciar sesión, el historial de comandos (sobre todo como root), la creación de cuentas de usuario desconocidas, etc. Es posible que el hacker haya alterado los registros para sus propios fines. En el vídeo sobre cómo identificar la vulnerabilidad se muestran algunos ejemplos que te pueden ser útiles.
  3. Comprueba si los archivos de configuración, como .htaccess y httpd.conf, tienen redireccionamientos. Los hackers suelen crear redireccionamientos condicionales basados en el user-agent, el momento del día o la URL de referencia.
  4. Comprueba si hay permisos de carpetas y de archivos demasiado laxos. Los hackers manipulan los permisos porque, si el propietario del sitio web no los detecta, el hacker tendrá una manera de volver a entrar en el sitio web. Los archivos con permisos superiores a 644 (rw-r-r-) y las carpetas con permisos superiores a 755 (rwxr-xr-x) pueden causar problemas de seguridad. Asegúrate de que los permisos más flexibles sean realmente necesarios. En los sistemas basados en Unix, prueba lo siguiente:
    $ find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
    $ find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
  5. Si tienes una base de datos, investiga los registros uno a uno con una herramienta como phpMyAdmin.

Paso siguiente

La siguiente fase del proceso es identificar la vulnerabilidad.