El sol brilla por la ventana, los pájaros cantan… y de repente te das cuenta de que han hacheado tu Magento. No te preocupes, a continuación te contamos que debes hacer para poner fin a esta situación.

Recopila evidencias

Lo primero que debemos hacer es tratar de recopilar todas las pruebas antes de que el hacker pueda borrar su rastro.

Debemos hacer una copia de los ficheros de log más importantes: accesos http y los de error del servidor web. Si además somos administradores del servidor también debemos hacer copias de syslog, auth.log y kern.log.

También debemos hacer copias de los logs de Magento (var/log/*).

Encuentra el origen del problema

Si tu tienda no esta al día con los parches de seguridad publicados debes verificar la tienda con Magereport. Esto te ayudará a identificar que parches debes instalar.

En la mayoría de los casos el hacker habrá aprovechado alguna antigua vulnerabilidad para acceder a tu tienda, ya sean en antiguos errores de Magento, como en módulos de terceras partes que tengas instalados.

Securiza el acceso

Poner otra vez la web online no tiene sentido si el hacker puede volver a hacerse con el control facilmente. Tenemos que identificar que cambios son necesarios para que no se vuelva a repetir esta situación. En la mayoría de los caso esto requerirá:

  • Instalar los parches de seguridad
  • Eliminar cuentas de administrador antiguas, no usadas o desconocidas

Expulsando al hacker

El código de nuestra base de datos debe estar limpio. El hacker puede haber dejado una o varias puertas traseras para poder volver a acceder. En ocasiones en ficheros sueltos (/skin/error.php) o mezclados con el código de Magento (Mage.php o include/config.php). La única forma de estar totalmente seguros de que no hay puertas traseras es realizar una nueva instalación a partir de una copia limpia (a partir de un backup o git)

Podemos identificar que ficheros han cambiado haciendo:

No podemos confiar en un “git checkout” en el servidor ya que también podría haber sido comprometido.

Si no disponemos de una copia de seguridad o una herramienta de control de versiones que garantice el éxito de la operación podemos tratar de identificar los ficheros sospechosos o que han sido modificados recientemente. También podemos comparar con una instalación desde cero para ver si algún fichero del core ha cambiado.

Encuentra los ficheros modificados en los últimos 10 días

Localiza los ficheros php que contengan código sospechoso (es habitual que inyecte algún código javascript codificado en base 64):

Revisa el back office de tu Magento en busca de código javascript malicioso. Un lugar habitual para inyectar javascript es a través del menú System > Configuration > Design > Footer > Miscellaneous HTML. Algunos hackers pegan su código javascript en esta opción de menú. Asegurate de que el cuadro de texto esta vacío, una práctica habitual consiste en pegar el script precedido de varias lineas en blanco para que cuando entres en esta opción de menú el cuadro de texto parezca aparentemente vacío.