🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

¿Cómo detectar y eliminar malware en PrestaShop? Guía práctica

Actualizado el 17 de mayo de 2026

¿Notas que tu tienda PrestaShop va lenta, tiene redirecciones extrañas o aparecen productos que no has añadido? Estos son síntomas clásicos de infección por malware PrestaShop. No te preocupes: en esta guía práctica te enseñaré a detectarlo y eliminarlo paso a paso, incluso si no eres un experto técnico.

La seguridad de tu tienda online es clave para proteger los datos de tus clientes y tu reputación. Un ataque de malware puede costarte ventas, clientes y, en casos graves, la suspensión de tu hosting. Pero con un enfoque metódico y las herramientas adecuadas, puedes limpiar tu tienda y mantenerla segura.


Señales de que tu PrestaShop puede tener malware

Antes de actuar, debes saber qué buscar. El malware PrestaShop no siempre se nota a simple vista, pero deja huellas. Estas son las señales más comunes:

  • Redirecciones inesperadas: Al hacer clic en un producto o categoría, te lleva a sitios de spam, farmacias online o páginas de apuestas.
  • Velocidad de carga muy lenta: El malware consume recursos de tu servidor (CPU, memoria) para tareas ocultas como minería de criptomonedas o envío de spam.
  • Productos o categorías extraños: Aparecen artículos que no has añadido, a menudo con enlaces a sitios externos.
  • Archivos modificados sin tu permiso: Notas que archivos como index.php o config/defines.inc.php cambian de tamaño o fecha sin que hayas hecho actualizaciones.
  • Error 500 o pantalla blanca en algunas páginas: El malware puede romper la funcionalidad normal de PrestaShop.
  • Avisos de tu antivirus o hosting: Tu proveedor de hosting te notifica que se ha detectado código malicioso en tu cuenta.
  • Aumento del tráfico saliente: Si tu plan de hosting tiene límite de ancho de banda, puede agotarse rápidamente debido a actividades maliciosas.

[WARNING] Si ves redirecciones a sitios de apuestas o farmacias, actúa de inmediato. Google puede marcar tu sitio como "peligroso" y perderás todo tu tráfico orgánico.


Preparación antes de limpiar

No empieces a eliminar archivos al azar. Una buena preparación te ahorrará dolores de cabeza. Sigue estos pasos:

1. Haz una copia de seguridad completa

Antes de tocar nada, respalda todo tu sitio: archivos y base de datos. Así, si algo sale mal, puedes restaurar.

  • Archivos: Usa FTP (FileZilla) o el administrador de archivos de tu hosting (cPanel, Syspanel, etc.). Descarga toda la carpeta public_html (o donde esté instalado PrestaShop).
  • Base de datos: Ve a phpMyAdmin (desde el panel de control de tu hosting), selecciona la base de datos de PrestaShop y haz clic en "Exportar". Elige formato SQL y guarda el archivo.

[TIP] Si usas Syspanel (antes HestiaCP), accede al puerto 2106 (ejemplo: tudominio.com:2106). Allí encontrarás el gestor de archivos y phpMyAdmin integrados.

2. Pon tu tienda en modo mantenimiento

Esto evita que los clientes vean errores o sean redirigidos mientras trabajas.

  • Ve al backoffice de PrestaShop: Parámetros de la tienda > Mantenimiento.
  • Activa "Sitio en mantenimiento" y añade una IP de confianza (la tuya) para poder acceder.

3. Cambia todas las contraseñas

El malware suele entrar por credenciales débiles. Cambia:

  • Contraseña del backoffice de PrestaShop.
  • Contraseña de FTP y de la base de datos.
  • Contraseña del panel de control de tu hosting (cPanel, Syspanel, etc.).

[INFO] Usa contraseñas largas (mínimo 12 caracteres) con mayúsculas, minúsculas, números y símbolos. Un gestor de contraseñas como Bitwarden te ayudará.


Cómo detectar malware en PrestaShop

Ahora vamos a la parte práctica. Existen varias formas de encontrar código malicioso, desde métodos manuales hasta herramientas automáticas.

Método 1: Revisión visual de archivos modificados

El malware suele esconderse en archivos PHP legítimos. Busca:

  • Archivos con permisos 777 (escritura para todos). Son un foco de infección. Desde FTP, revisa la columna de permisos. Los archivos normales deben ser 644 y las carpetas 755.
  • Archivos con fechas recientes que no correspondan a actualizaciones. Por ejemplo, si tu PrestaShop se actualizó hace 3 meses y ves un index.php modificado ayer, sospecha.
  • Archivos en la raíz con nombres sospechosos: shell.php, cmd.php, wp-login.php (PrestaShop no usa WordPress), adminer.php, etc.

Abre esos archivos con un editor de texto (Notepad++ o Sublime Text) y busca patrones como:

  • base64_decode( – código ofuscado.
  • eval( – ejecución de código arbitrario.
  • preg_replace con el modificador /e – vulnerable.
  • system(, exec(, shell_exec( – comandos del sistema.
  • URLs extrañas (ej: http://sitio-malicioso.com/).

[WARNING] No abras archivos PHP en el navegador. Pueden ejecutar el código malicioso en tu servidor. Siempre usa un editor local.

Método 2: Usar herramientas de escaneo automático

Si no quieres revisar archivo por archivo, usa plugins o servicios online:

  • PrestaShop Security Scanner: Un módulo gratuito en Addons de PrestaShop. Escanea archivos y base de datos en busca de firmas de malware.
  • Wordfence (para PrestaShop): Aunque es de WordPress, tiene un escáner de archivos que puedes usar descargando los archivos a tu PC y escaneándolos localmente.
  • Online scanners: Sitios como VirusTotal (sube archivos sospechosos) o Sucuri SiteCheck (escanea tu dominio público).

Método 3: Revisar la base de datos

El malware también se esconde en la base de datos, sobre todo en tablas como ps_configuration, ps_meta o ps_hook. Busca:

  • Valores con código PHP o JavaScript incrustado.
  • URLs externas en campos de texto.
  • Tablas con nombres extraños (ej: ps_xyz_123).

Desde phpMyAdmin, ejecuta esta consulta SQL para buscar posibles inyecciones:

SELECT * FROM ps_configuration WHERE value LIKE '%base64%' OR value LIKE '%eval%' OR value LIKE '%http://%';

Ajusta el prefijo ps_ si el tuyo es diferente.


Cómo eliminar malware de PrestaShop paso a paso

Una vez detectado, toca limpiar. Sigue este orden para no dejar rastro.

Paso 1: Eliminar archivos maliciosos

Usa FTP o el gestor de archivos de tu hosting (Syspanel en puerto 2106). Localiza los archivos infectados y:

  • Si es un archivo legítimo modificado (ej: index.php): reemplázalo por la versión original de PrestaShop. Puedes descargar la misma versión desde el sitio oficial de PrestaShop y extraer solo ese archivo.
  • Si es un archivo extra (ej: shell.php): bórralo directamente.
  • Si hay carpetas sospechosas (ej: /upload/ con archivos PHP): elimina toda la carpeta.

[TIP] Después de eliminar, verifica que los permisos sean correctos: archivos 644, carpetas 755. Desde FTP, selecciona todos los archivos y cambia permisos en lote.

Paso 2: Limpiar la base de datos

En phpMyAdmin, ejecuta consultas para eliminar entradas maliciosas. Por ejemplo, si encuentras un hook con código malicioso:

DELETE FROM ps_hook WHERE name LIKE '%malware%';

O si hay valores en ps_configuration con URLs extrañas:

UPDATE ps_configuration SET value = '' WHERE id_configuration = X;

Reemplaza X por el ID real. Si no estás seguro, mejor restaura una copia limpia de la base de datos.

[WARNING] Ten mucho cuidado al modificar la base de datos. Un error puede romper tu tienda. Siempre ten una copia de seguridad antes.

Paso 3: Revisar y limpiar archivos de configuración

El malware a menudo modifica config/defines.inc.php o .htaccess. Ábrelos y busca:

  • Líneas con define('_DB_SERVER_', '...') que apunten a servidores externos.
  • Redirecciones en .htaccess (RewriteRule) que envíen tráfico a sitios maliciosos.

Reemplaza esos archivos por los originales de tu versión de PrestaShop.

Paso 4: Actualizar PrestaShop, módulos y temas

Las versiones antiguas tienen vulnerabilidades conocidas. Ve al backoffice y:

  • Actualiza PrestaShop: Ve a Parámetros avanzados > Actualizar PrestaShop.
  • Actualiza módulos: En Módulos > Catálogo de módulos, busca "Actualizaciones".
  • Actualiza temas: Si tu tema no es oficial, considera cambiarlo por uno de confianza.

[INFO] Si no puedes actualizar desde el backoffice, hazlo manualmente: descarga la última versión de PrestaShop, sube los archivos por FTP (excepto la carpeta /img/ y /themes/ si tienes personalizaciones) y ejecuta /install/upgrade/upgrade.php.

Paso 5: Revisar usuarios y cuentas de administrador

El malware puede crear usuarios ocultos. Ve a Parámetros avanzados > Equipo > Empleados y elimina cualquier cuenta que no reconozcas. Además, cambia la contraseña de todos los administradores legítimos.


Medidas preventivas para evitar futuras infecciones

Una vez limpio, no bajes la guardia. Sigue estas prácticas:

  • Mantén todo actualizado: PrestaShop, módulos, temas y PHP (versión 8.0 o superior).
  • Usa contraseñas fuertes y autenticación en dos pasos (2FA).
  • Limita los permisos de archivos: 644 para archivos, 755 para carpetas. Nunca 777.
  • Instala un firewall: Como el módulo "PrestaShop Security" o un WAF a nivel de servidor (por ejemplo, con Syspanel).
  • Haz copias de seguridad periódicas: Automatízalas con tu hosting o un módulo.
  • Elimina módulos y temas no utilizados: Reducen la superficie de ataque.
  • Revisa los logs del servidor: Busca intentos de acceso a archivos sospechosos.

[TIP] Desde Syspanel (puerto 2106) puedes configurar tareas cron para copias de seguridad automáticas semanales.


Preguntas frecuentes (FAQ)

¿Puedo eliminar malware sin ser experto?

Sí, siguiendo esta guía paso a paso. Si te sientes inseguro, contrata a un profesional de seguridad web.

¿El malware puede afectar mi SEO?

Sí. Google penaliza sitios infectados con malware, bajándolos en resultados de búsqueda o mostrando una advertencia roja.

¿Cuánto tiempo lleva limpiar una tienda PrestaShop?

Depende del nivel de infección. Desde 1 hora (malware simple) hasta varios días (infección profunda en base de datos y archivos).

¿Debo cambiar mi hosting después de una infección?

No necesariamente, pero si tu hosting es compartido y otros sitios están infectados, considera migrar a un hosting más seguro (como uno con Syspanel y WAF integrado).

¿Qué hago si después de limpiar vuelve el malware?

Indica que hay una puerta trasera (backdoor) no detectada. Revisa todos los archivos, especialmente los de módulos y temas, o restaura desde una copia de seguridad anterior a la infección.


Conclusión

Detectar y eliminar malware de tu tienda PrestaShop no es misión imposible. Con paciencia, las herramientas adecuadas y siguiendo estos pasos, puedes recuperar el control de tu seguridad PrestaShop. Recuerda: la prevención es tu mejor aliada. Mantén todo actualizado, usa contraseñas seguras y haz copias de seguridad periódicas.

Si después de todo esto sigues teniendo problemas, contacta con tu proveedor de hosting o con un especialista en limpiar tienda online. Tu tienda y tus clientes te lo agradecerán.

[INFO] Esta guía es para usuarios con conocimientos básicos. Si no te sientes seguro, pide ayuda profesional. La seguridad de tu negocio no tiene precio.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel