Cómo hacer un escaneo de malware en PrestaShop
¿Por qué es tan importante escanear tu PrestaShop?
Si tienes una tienda online, tu web es tu negocio. Y un negocio infectado con malware es, directamente, un negocio en peligro. Un ataque puede traducirse en la pérdida de datos de tus clientes, en que Google te marque como sitio peligroso, en una caída drástica de tus ventas o incluso en el bloqueo total de tu cuenta de hosting. Por eso, saber cómo hacer un escaneo de malware en PrestaShop no es una opción, es una necesidad.
En esta guía extensa y muy visual, te voy a explicar paso a paso, y sin tecnicismos complicados, cómo detectar, limpiar y prevenir infecciones en tu tienda. No necesitas ser un hacker ni un programador experto; solo necesitas seguir estas instrucciones básicas y, sobre todo, tener paciencia y método.
Vamos a ello. Respira hondo, que esto es más fácil de lo que parece.
¿Qué es el malware y cómo afecta a mi tienda?
Antes de ponernos manos a la obra, vamos a definir qué es eso del malware. El malware (software malicioso) es cualquier programa o código que se instala en tu servidor sin tu permiso y con fines dañinos. En el contexto de PrestaShop, los ataques más comunes son:
- Inyección de código malicioso en archivos PHP: Modifican tus archivos para redirigir a los usuarios a webs de spam o para robar datos.
- Puertas traseras (backdoors): Archivos ocultos que permiten al atacante volver a entrar en tu tienda cuando quiera.
- Secuestro de la tienda (defacing): Cambian la apariencia de tu web para mostrar mensajes de hackeo.
- Robo de credenciales: Capturan las contraseñas de tus clientes o de tu panel de administración.
- Minado de criptomonedas: Utilizan el procesador de tu servidor para minar criptomonedas sin que te des cuenta, ralentizando tu tienda.
El primer paso para una buena seguridad PrestaShop es entender que la prevención es clave, pero la detección temprana es tu salvavidas. Cuanto antes detectes una infección, menos daño habrá hecho.
Preparación antes del escaneo
Antes de lanzar un escaneo, prepara el terreno. No querrás empeorar las cosas o perder información valiosa.
1. Haz una copia de seguridad completa
Esto es innegociable. Antes de tocar absolutamente nada, necesitas una copia de seguridad de todos los archivos y de la base de datos. Si durante la limpieza algo sale mal (por ejemplo, borras un archivo importante), podrás restaurar la tienda a su estado anterior.
Puedes hacer la copia desde el panel de control de tu hosting (cPanel, Plesk, Syspanel, etc.). Si tu hosting usa Syspanel, recuerda que el acceso se realiza a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106). Dentro, busca la opción de "Copias de seguridad" o "Backups".
[TIP] Guarda la copia de seguridad en tu ordenador o en un servicio de almacenamiento en la nube (Google Drive, Dropbox). No la dejes en el mismo servidor, porque si el servidor está comprometido, la copia también podría estarlo.
2. Cambia todas tus contraseñas
Cambia las contraseñas de:
- El panel de administración de PrestaShop.
- La base de datos MySQL.
- El panel de control de tu hosting (cPanel, Syspanel, etc.).
- Las cuentas de correo electrónico asociadas al dominio.
Usa contraseñas largas, con mayúsculas, minúsculas, números y símbolos. Un gestor de contraseñas puede ayudarte a crear y recordar contraseñas seguras.
3. Identifica la versión de PrestaShop
Ve a tu panel de administración y comprueba la versión exacta de PrestaShop que tienes instalada. Esto es crucial, porque muchas infecciones se aprovechan de vulnerabilidades conocidas en versiones antiguas. Si tu versión es muy vieja, es probable que ese sea el punto de entrada del ataque.
Métodos para hacer un escaneo de malware en PrestaShop
Ahora sí, vamos a la acción. Existen varios métodos, desde los más sencillos hasta los más técnicos. Te recomiendo que los combines para una protección total.
Método 1: Escaneo manual desde el panel de administración de PrestaShop
PrestaShop no tiene un escáner de malware integrado, pero sí tiene un "Asesor de Módulos" y un sistema de notificaciones. Puedes revisar manualmente:
- Lista de módulos: Ve a "Módulos" y revisa la lista de módulos instalados. ¿Ves alguno que no recuerdas haber instalado? ¿Alguno con nombres extraños o de desarrolladores desconocidos? Eso es una señal de alarma.
- Archivos modificados recientemente: PrestaShop no te lo muestra directamente, pero puedes usar el administrador de archivos de tu hosting para ordenar los archivos por fecha de modificación. Busca archivos
.phpque hayan sido modificados en fechas sospechosas (cuando no estabas trabajando en la web). - Usuarios del panel: Revisa la lista de empleados (usuarios con acceso al back-office). ¿Hay alguna cuenta que no reconozcas? Un atacante suele crear una cuenta de administrador para mantener el acceso.
[WARNING] Este método manual es útil para una revisión rápida, pero NO es suficiente para una detección completa. Los archivos maliciosos suelen estar muy bien escondidos.
Método 2: Escaneo con módulos de seguridad de PrestaShop
La forma más fácil y directa para un usuario no técnico es instalar un módulo de seguridad. En el marketplace oficial de PrestaShop (PrestaShop Addons) encontrarás varias opciones de pago y gratuitas.
- PrestaShop Security (por PrestaShop): Es un módulo oficial que monitoriza tu tienda en busca de vulnerabilidades, archivos modificados y malware. Te envía alertas por correo electrónico.
- Advanced Security Suite: Un módulo muy completo que incluye cortafuegos, protección contra fuerza bruta y escaneo de archivos.
- Cleaner / Security Scanner: Hay varios módulos de terceros que se centran específicamente en el escaneo y limpieza de archivos maliciosos.
Cómo usar estos módulos:
- Ve a "Módulos" > "Marketplace" en tu back-office.
- Busca "seguridad" o "antivirus".
- Elige un módulo con buenas valoraciones y que sea compatible con tu versión de PrestaShop.
- Instálalo y sigue las instrucciones del propio módulo para lanzar un escaneo completo.
[INFO] Los módulos de seguridad son una excelente primera barrera. Te avisan de problemas y muchos incluyen un "limpiador" automático que elimina archivos maliciosos conocidos.
Método 3: Escaneo con herramientas externas (escáneres online)
Estas herramientas analizan tu tienda desde fuera, como lo haría un buscador o un usuario malintencionado. Son muy útiles para detectar malware visible en el código de tus páginas.
- Sucuri SiteCheck: Es el más conocido. Solo tienes que introducir la URL de tu tienda y te dirá si hay malware, listas negras, problemas de seguridad, etc. La versión gratuita es muy útil.
- Quttera Web Malware Scanner: Otra excelente opción gratuita y en línea. Analiza el contenido de tu web y te da un informe detallado.
- Google Safe Browsing: Puedes comprobar si Google ha marcado tu sitio como peligroso en su página de "Estado de seguridad de navegación".
Cómo usar Sucuri SiteCheck:
- Ve a
sitecheck.sucuri.net. - Escribe la URL de tu tienda (ej:
https://tutienda.com). - Pulsa "Scan Website".
- Espera unos segundos y analiza el resultado. Te dirá si ha encontrado malware, si el sitio está en listas negras, etc.
[TIP] Si el escáner online encuentra malware, apunta el nombre del archivo y la línea exacta donde está el código malicioso. Esa información te será muy útil para la limpieza manual.
Método 4: Escaneo mediante el administrador de archivos del hosting
Este método es más manual y requiere que sepas identificar código malicioso. Es el más fiable, porque te permite ver exactamente qué hay en tus archivos.
- Accede a tu hosting: Entra en el panel de control (cPanel, Plesk, Syspanel en el puerto 2106, etc.) y abre el "Administrador de Archivos".
- Navega a la carpeta de PrestaShop: Normalmente es
public_htmlowww. Dentro, verás todas las carpetas de tu tienda (modules,themes,classes,controllers, etc.). - Busca archivos sospechosos: Aquí es donde se pone interesante. Busca:
- Archivos con extensiones extrañas:
.php.jpg,.php.txt,.ico.php, etc. - Archivos en lugares inesperados: Un archivo
.phpen la raíz que no recuerdas haber subido. - Archivos con nombres ofuscados: Nombres como
a1b2c3.php,wp-load.php,shell.phpo similares.
- Archivos con extensiones extrañas:
- Revisa el código: Haz clic derecho en el archivo sospechoso y selecciona "Editar" o "Ver". Busca cadenas de texto como
eval(,base64_decode(,shell_exec(,system(,passthru(,$_POST,$_GETcombinadas con funciones peligrosas. Si ves algo que no entiendes y que parece código ofuscado (una línea larguísima de letras y números), es muy probable que sea malware.
[WARNING] Ten MUCHO cuidado al editar o borrar archivos. Si no estás seguro de lo que estás haciendo, es mejor que contactes con tu soporte de hosting o con un profesional. Borrar un archivo legítimo puede romper tu tienda.
Método 5: Escaneo con SSH y comandos (para usuarios avanzados)
Si tu hosting te permite acceso por SSH (terminal), puedes usar comandos para buscar archivos modificados recientemente o que contengan patrones de malware. Esto es muy potente, pero requiere conocimientos técnicos.
Un comando útil para buscar archivos modificados en los últimos 7 días sería:
find /ruta/a/tu/prestashop -type f -name "*.php" -mtime -7
Y para buscar archivos que contengan funciones peligrosas:
grep -r "eval(base64_decode" /ruta/a/tu/prestashop
[INFO] Si no sabes qué es SSH, ignora este método. Es solo para usuarios que se sienten cómodos con la línea de comandos.
¿Qué hago si el escaneo encuentra malware?
¡No entres en pánico! Es una situación grave, pero tiene solución. Sigue estos pasos en orden:
Paso 1: Aísla la tienda
Pon tu tienda en modo mantenimiento. Así evitarás que el malware siga haciendo daño y que los usuarios vean contenido malicioso o sean redirigidos a sitios peligrosos. En PrestaShop, ve a "Parámetros avanzados" > "Mantenimiento" y actívalo.
Paso 2: Identifica el alcance de la infección
Con los informes de los escáneres (módulos, online, manual), haz una lista de los archivos infectados. Si la lista es muy larga, es posible que la infección sea profunda.
Paso 3: Limpia el malware
Tienes dos opciones:
- Limpieza automática: Usa el módulo de seguridad que hayas instalado. Muchos tienen una función de "limpieza" que elimina el código malicioso por ti.
- Limpieza manual: Edita los archivos infectados y elimina las líneas de código malicioso. Si un archivo está muy dañado, puedes reemplazarlo por una copia limpia de la misma versión de PrestaShop (la que descargaste de la copia de seguridad o del sitio oficial).
[WARNING] Si el malware está en la base de datos, la limpieza es más compleja. Busca tablas como
ps_connections,ps_customerops_employeey revisa si hay datos inyectados. Si no te ves capaz, contacta con un profesional.
Paso 4: Cambia TODAS las contraseñas de nuevo
Después de la limpieza, vuelve a cambiar todas las contraseñas (administración, base de datos, hosting, correos). El atacante podría haber guardado las antiguas.
Paso 5: Actualiza Todo
Actualiza PrestaShop a la última versión, así como todos los módulos y temas. Las actualizaciones corrigen vulnerabilidades conocidas que los atacantes aprovechan.
Paso 6: Solicita una revisión a Google
Si tu sitio fue marcado como peligroso, después de la limpieza solicita una revisión en Google Search Console (anteriormente Webmaster Tools). Google revisará tu sitio y, si está limpio, eliminará la advertencia.
Prevención: Cómo mantener tu tienda segura a largo plazo
La mejor forma de evitar dolores de cabeza es la prevención. Aquí tienes una lista de buenas prácticas para mantener la seguridad PrestaShop en alto:
- Mantén todo actualizado: PrestaShop, módulos y temas. Esta es la regla de oro.
- Usa contraseñas fuertes y únicas: Para el back-office, la base de datos y el hosting.
- Activa la autenticación de dos factores (2FA): Añade una capa extra de seguridad a tu panel de administración.
- Limita los intentos de inicio de sesión: Usa un módulo que bloquee la IP después de varios intentos fallidos (protección contra fuerza bruta).
- Cambia la URL de administración: Por defecto es
/admin. Cámbiala a algo difícil de adivinar. - Haz copias de seguridad periódicas: Al menos una vez a la semana, y guárdalas en un lugar seguro.
- Usa un cortafuegos (WAF): Un firewall de aplicación web (como el de Cloudflare) filtra el tráfico malicioso antes de que llegue a tu servidor.
- Revisa los registros de actividad: Mira periódicamente los logs de tu servidor para ver si hay intentos de acceso extraños.
- No instales módulos o temas de fuentes no oficiales: El marketplace oficial de PrestaShop es la fuente más segura. Los sitios piratas son una vía de entrada común para el malware.
- Desactiva o elimina módulos que no uses: Cada módulo es una posible puerta de entrada.
Preguntas Frecuentes (FAQ)
¿Con qué frecuencia debo hacer un escaneo de malware?
Lo ideal es hacer un escaneo automático al menos una vez por semana. Puedes configurar muchos módulos de seguridad para que lo hagan automáticamente y te envíen un informe por correo.
¿El escaneo de Sucuri SiteCheck es suficiente?
No. Es una herramienta excelente para una detección externa rápida, pero no reemplaza un escaneo interno de archivos. Es una capa más de protección.
Mi tienda está en un hosting compartido, ¿el malware puede venir de otro sitio?
Sí. En el hosting compartido, varios sitios web comparten el mismo servidor. Si un vecino es hackeado, el atacante podría intentar acceder a otros sitios del mismo servidor. Por eso es importante que tu hosting tenga buenas medidas de seguridad.
¿Qué hago si mi tienda es muy grande y no puedo limpiarla yo mismo?
No te arriesgues. Contacta con tu proveedor de hosting (muchos ofrecen servicios de limpieza de malware) o contrata a un profesional especializado en limpiar malware de tiendas online. El coste de un profesional es mucho menor que el coste de perder la confianza de tus clientes o ser bloqueado por Google.
¿Un escaneo garantiza que mi tienda está 100% segura?
Ningún sistema es 100% infalible, pero un buen escaneo combinado con buenas prácticas de prevención reduce el riesgo a casi cero. La seguridad es un proceso continuo, no un estado final.
Conclusión
Mantener tu tienda segura es una tarea constante, pero no tiene por qué ser abrumadora. Siguiendo estos pasos de **escane
