Â
Si su cuenta ha sido comprometida/hackeada debe proceder con los siguientes pasos:
Â
- Es necesario comprobar si la/s aplicacion/es web que utiliza para su sitio web esta/n actualizada/s. En caso de no estar actualizada una aplicación web de algun proyecto Open Source (Joomla, prestashop, wordpress,...), deberá actualizarla a la última versión que ofrezca su desarrollador. Si se trata de una aplicación de desarrollo propio deberá realizar los ajustes necesarios usted mismo para garantizar la seguridad de la misma, y si se trata de un desarrollo realizado por un tercero para usted deberá ponerse en contacto con su desarrollador para que este implemente las mejoras necesarias para asegurar su aplicación. Â
Si su aplicación es Wordpress o Prestashop, usted puede seguir los pasos indicados en el articulo correspondiente a su aplicación de los que mostramos a continuación:
Â
- Deberá analizar su cuenta para localizar todos los posibles archivos que haya podido subir o modificar el atacante dentro de su carpeta publica (public_html/, ó httpdocs/, ó content/,....). Tenga en cuenta que el atacante ha podido subir scripts php que le permitan modificar/crear/eliminar archivos en su servidor de manera que incluso después de actualizar el software, si estos scripts no han sido eliminados, el atacante siga teniendo acceso a su sitio y pueda volver a efectuar el ataque. En estos casos recomendamos encarecidamente actualizar su aplicación pero partiendo de una copia de seguridad LIMPIA (anterior al ataque) pues asi se asegura de que no tiene ningún script de este tipo alojado en su servidor tras la actualización. En el caso de no contar con una copia de seguridad LIMPIA, los pasos que recomendamos seguir para asegurarse de que el contenido de su hosting está limpio serían:
-
- Actualizar su aplicación a la última versión estable de la misma.
- Crear un directorio llamado /_hackeo (por ejemplo, o como queramos, a lo largo de esta guía supondremos que se llama /_hackeo) y mover todo el contenido a ese directorio.Â
- Subir los archivos oficiales de la última versión de su aplicación al directorio en el que se encontraba alojada la aplicación que fue atacada.Â
- Si su aplicación es un Prestashop, debe borrar el directorio /install y renombrar el directorio /admin por el nombre que utilizara antes del ataque.Â
- Copiar el archivo de configuración de la aplicación. Dependiendo de la aplicación la copia se debe:
- Prestashop: Â copiar el archivo "settings.inc.php" del directorio /_hackeo/config/ a /config.Â
- Wordpress:Â copiar el archivo "wp-config.php" del directorio /_hackeo/ a /, o lo que es lo mismo, al directorio raiz de su aplicación.
- Otra aplicación: Copiar el archivo de configuración correspondiente el el directorio equivalente fuera del directorio /_hackeo
Â
- Copiar los directorios que contengan archivos multimedia como imágenes y vídeos. En los pasos de PrestaShop y WordPress
- PrestaShop: Copiar el directorio /_hackeo/img al directorio de instalación de la tienda.Â
- WordPress: Copiar /_hackeo/wp-content/uploads a /wp-content/uploads
- NOTA: es conveniente descargar esos directorios previamente a nuestro ordenador y tratar de observar, navegando por sus carpetas, que no hay archivos con extensión "php" distintos de archivos index.php cuyo contenido sea sospechoso. Ante cualquier duda, abra un ticket con el departamento de soporte y le daremos nuestra opinión sobre si debe borrar, o no, ese archivo de su hosting.
- Comprimir el directorio /_hackeo
- Una vez comprimido, borrar el directorio /_hackeo. Asi tendremos una copia del antiguo contenido comprimido en un archivo del que podamos recuperar aquello que necesitemos sin que ese contenido pueda ser accedido y ejecutado.
- Acceder a la administración de la aplicación, y comprobar módulos/plugins y plantillas. Actualizar todos aquellos módulos/plugins que no lo estén ya, al igual que las plantillas.
- Activar la plantilla por defecto que incluya la aplicación.Â
- En el caso de Prestashop borrar cachés de prestashop (parámetros avanzados->rendimiento) y del módulo Express Caché (módulos->módulos, si se tiene instalado, o de cualquier otro módulo de cache que pueda estar utilizando) y comprobar funcionalidad de la tienda.Â
- En el caso de Prestashop generar el .htaccess guardando cambios en Preferencias->Seo&Url.Â
- Descargar el archivo de permisos pulsando aquí y subirlo al directorio raiz del hosting.Â
- Ejecutar en el navegador: http://sudominio.com/chmod.php (siendo sudominio.com el nombre de su dominio).
- Debe cambiar las contraseñas que sus aplicaciones utilizan para conectar con sus bases de datos y modificar los archivos de configuración de su aplicación para que utilice la nueva contraseña. Cada aplicación web tiene un archivo que contiene los datos de acceso para MySQL. Por ejemplo, en el caso de wordpress el archivo se llama wp-config.php (en el directorio de instalación de wordpress), para joomla el archivo se llama configuration.php (en el directorio de instalación de Joomla), para Prestashop el archivo es settings.inc.php (dentro del directorio config/ del prestashop). Si se editan estos archivos podremos ver textos como los siguientes:
- Prestashop:
La linea "define('_DB_PASSWD_', '2FS%z~NW');" indica que la contraseña del usuario "usuario_DB", usado por prestashop para conectar con su base de datos "basededatos_prestahsop" es "2FS%z~NW". Debemos cambiar la cadena entrecomillada '2FS%z~NW' por una nueva contraseña que contenta caracteres alfanumerícos y no alfanuméricos, para que sea difícil de adivinar. Anota el nombre de usuario y la nueva contraseña para cambiarla en el servidor. - Wordpress:
La linea "define('DB_PASSWORD', '2FS%z~NW');" indica que la contraseña del usuario "wordpress_user", usado por wordpress para conectar con su base de datos "db_wordpress" es "2FS%z~NW". Debemos cambiar la cadena entrecomillada '2FS%z~NW' por una nueva contraseña que contenta caracteres alfanumerícos y no alfanuméricos, para que sea difícil de adivinar. Anota el nombre de usuario y la nueva contraseña para cambiarla en el servidor.
Una vez cambiada la contraseña en el archivo debemos ir a cpanel (http://sudominio.com/cpanel donde "sudominio.com" es el dominio de su web) y:- Hacer clic en a "Bases de datos mysql":
- Localizar el usuario cuya contraseña queremos cambiar (el que aparecía en el archivo de configuración de la aplicación) y cambiar su contraseña por una nueva
- Hacer clic en a "Bases de datos mysql":
- Prestashop:
- Debe cambiar los permisos de los archivos de configuración de sus aplicaciones web, ya que contienen contraseñas y datos importantes, y asignarle permisos 600. Es muy fácil configurar estos permisos en cPanel sólo tendrás que seguir los siguientes pasos:
- Abre el administrador de Archivos (File Manager) y navega hasta el archivo o carpeta que quieras cambiar.
- Haz click en el nombre del archivo.
- Selecciona “Cambiar permisos†o “Change permissions†en el menú principal del administrador.
- Selecciona todas las casillas que necesites para configurar los permisos exactos que quieres dar. Los números de permiso se actualizarán automáticamente cada vez que marques una casilla.
- Dale al botón “Change Permissions†para finalizar.
- HAGA UNA COPIA DE SEGURIDAD DE SU SITIO INMEDIATAMENTE DESPUí‰S DE HACER TODAS ESTAS ACCIONES.
- Debe cambiar la contraseña de cPanel a una contraseña difícil de adivinar. Un ejemplo difícil adivinar sería 7Bzh@z;!LP@Zdf%! (no use este ejemplo como contraseña).
- Usted debe analizar su equipo en busca de virus para evitar que los datos de acceso a su sitio hayan podido ser obtenido mediante malwares como "Key loggers", troyanos, virus capaces de obtener datos de aplicaciones como filezilla, outlook, Â o similares.
Siguiendo estos pasos el problema debería quedar resuelto. Si su cuenta se ve comprometida de nuevo después de haber seguido todos los pasos tendrá que volver a revisar todo desde cero para asegurarse de que no dejo nada sin revisar, alguna aplicación por actualizar, contraseña por cambiar o pc que escanear. Es muy importante el mantener su cuenta al día y segura ya que existen ciertas actividades como el PHISHING que son actividades ilegales (estafas) que pueden llegar a producirse desde su sitio web sin darse usted cuenta, y que pueden repercutirle problemas legales en un futuro.