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

Cómo eliminar malware de PrestaShop: guía paso a paso

Actualizado el 27 de octubre de 2025

¿Por qué mi PrestaShop tiene malware? Primeros pasos para recuperar tu tienda

Que te digan que tu tienda online está infectada es un momento de pánico. Lo entendemos. Pero respira: eliminar malware PrestaShop es un proceso que, siguiendo los pasos correctos, puede completarse en unas horas. La mayoría de las infecciones en tiendas online son automatizadas: bots que explotan vulnerabilidades conocidas, no ataques dirigidos contra ti personalmente.

Los síntomas más comunes de una tienda infectada incluyen:

  • Redirecciones a páginas de spam o phishing.
  • Anuncios emergentes que no deberían existir.
  • El sitio se carga muy lento sin razón aparente.
  • Alertas de Google Safe Browsing o de tu antivirus.
  • Archivos nuevos con nombres extraños en el servidor.
  • Usuarios administradores que no creaste tú.

Si detectas uno o varios de estos signos, es momento de actuar. No apagues la tienda todavía (eso puede levantar sospechas y perder ventas), pero prepárate para ponerla en modo mantenimiento si el daño es grave.

[WARNING] No intentes simplemente borrar archivos sospechosos a lo loco. Muchas infecciones se esconden en archivos legítimos o se regeneran desde bases de datos. Un enfoque sistemático es la única forma de eliminar malware PrestaShop de forma definitiva.


Fase 1: Aislamiento y diagnóstico (antes de tocar nada)

1.1 Cambia todas tus contraseñas YA

El primer paso no es limpiar, es cortar el acceso al atacante. Cambia:

  • La contraseña de tu panel de administración de PrestaShop.
  • Las contraseñas de las cuentas FTP y SFTP.
  • Las contraseñas de acceso a la base de datos MySQL.
  • La contraseña de tu cuenta de hosting (cPanel, Plesk, Syspanel, etc.).

Usa contraseñas largas y únicas. Si no usas un gestor de contraseñas, este es el momento de empezar.

1.2 Activa el modo mantenimiento de PrestaShop

Entra en tu back-office (si puedes) y activa el modo mantenimiento. Ve a Parámetros avanzados > Mantenimiento y actívalo. Esto evitará que los clientes vean contenido comprometido mientras trabajas.

1.3 Haz una copia de seguridad completa (¡antes de limpiar!)

Necesitas una instantánea del estado actual para:

  • Poder analizar los archivos infectados sin riesgo de perderlos.
  • Restaurar si algo sale mal durante la limpieza.
  • Enviar muestras a tu proveedor de hosting si es necesario.

Descarga:

  • Todos los archivos de la tienda (vía FTP o el gestor de archivos de tu hosting).
  • Un volcado completo de la base de datos (vía phpMyAdmin o la herramienta de tu hosting).

[INFO] Guarda esta copia en tu ordenador local y en un servicio externo (Google Drive, Dropbox). No la dejes en el servidor.

1.4 Identifica la fecha de la infección

Revisa cuándo se modificaron por última vez los archivos sospechosos. Esto te dará una pista sobre la vulnerabilidad que se explotó. Si encuentras una actualización de módulo o tema justo antes de esa fecha, el problema puede estar ahí.


Fase 2: Análisis profundo de archivos y base de datos

2.1 Compara tu instalación con una copia limpia de PrestaShop

Esta es la técnica más fiable. Descarga la misma versión de PrestaShop que tienes instalada desde el sitio oficial de PrestaShop. Descomprime la copia limpia en tu ordenador y compara los archivos de la instalación original (los que vienen en el paquete) con los de tu servidor.

Puedes hacerlo manualmente o usar herramientas como:

  • WinMerge (Windows) o Meld (Linux/Mac) para comparar carpetas.
  • Un script de comparación en el servidor si tienes acceso SSH.

Cualquier archivo que difiera del original y que no sea una modificación tuya conocida es sospechoso.

2.2 Busca archivos recientemente modificados

En tu panel de hosting (cPanel, Plesk, Syspanel, etc.) usa el gestor de archivos y filtra por fecha de modificación. Busca archivos modificados en los últimos 30-60 días. Presta especial atención a:

  • Carpetas /modules/ y /themes/.
  • Archivos en la raíz (.php).
  • Carpetas /var/cache/ y /cache/.
  • Archivos .htaccess y robots.txt.

2.3 Revisa la base de datos en busca de código malicioso

Muchas infecciones se esconden en la base de datos, especialmente en:

  • La tabla ps_connections (para inyectar redirecciones).
  • La tabla ps_customer (para crear administradores falsos).
  • Tablas de módulos de terceros.

Usa phpMyAdmin para buscar patrones comunes como:

SELECT * FROM ps_connections WHERE http_referer LIKE '%eval%' OR http_referer LIKE '%base64%';

También revisa los usuarios administradores:

SELECT * FROM ps_employee;

Verifica que todos los emails y nombres te resulten familiares.

[TIP] Exporta las tablas más críticas a un archivo SQL y búscalas en tu editor de texto con la función de búsqueda. Busca términos como eval(, base64_decode, gzinflate, shell_exec o passthru.


Fase 3: Limpieza manual (el método que funciona)

3.1 Elimina archivos maliciosos identificados

Una vez que hayas identificado los archivos infectados, procede a eliminarlos. No los borres directamente del servidor: primero descárgalos a tu ordenador para tener una copia forense.

Elimina:

  • Archivos PHP con contenido ofuscado (cadenas largas de base64_decode o eval).
  • Archivos con nombres aleatorios en carpetas de módulos (por ejemplo, /modules/randomname123/).
  • Archivos .php en carpetas de subida que no deberían ejecutarse.

3.2 Limpia los archivos legítimos que fueron modificados

Algunos archivos legítimos (como index.php o config/settings.inc.php) pueden tener código inyectado al principio o al final. Ábrelos con un editor de texto y busca:

  • Líneas con eval(base64_decode(...)).
  • Código PHP fuera de las etiquetas <?php ... ?>.
  • Inyecciones de iframes o scripts de JavaScript.

Si encuentras código extraño, elimínalo. Si el archivo es demasiado complejo, sustitúyelo por la versión limpia de tu copia de PrestaShop.

3.3 Limpia la base de datos

Ejecuta consultas SQL para eliminar contenido malicioso. Por ejemplo:

DELETE FROM ps_connections WHERE http_referer LIKE '%spam-domain.com%';
DELETE FROM ps_employee WHERE email = 'hacker@malicious.com';

Ten mucho cuidado con las consultas DELETE. Siempre haz un backup antes.

3.4 Restablece el archivo .htaccess

El .htaccess es un objetivo común para redirecciones maliciosas. Restablece el archivo generando uno nuevo desde el back-office de PrestaShop: Parámetros avanzados > Rendimiento > Regenerar el archivo .htaccess.


Fase 4: Refuerza la seguridad de tu tienda

4.1 Actualiza TODO (PrestaShop, módulos y temas)

Las infecciones casi siempre ocurren por versiones desactualizadas. Actualiza:

  • El núcleo de PrestaShop a la última versión estable.
  • Todos los módulos a sus últimas versiones.
  • Tu tema a la versión compatible.

[WARNING] Si tu PrestaShop es muy antiguo (versión 1.6 o anterior), considera una migración a 1.7 o 8.x. Las versiones antiguas ya no reciben parches de seguridad y son un imán para malware.

4.2 Cambia las rutas de administración

En PrestaShop, puedes cambiar la URL del back-office. Ve a Parámetros avanzados > Administración y cambia el nombre de la carpeta de administración. Esto dificulta que los bots encuentren tu panel de control.

4.3 Implementa autenticación de doble factor (2FA)

Activa la verificación en dos pasos para todos los administradores. Ve a Parámetros avanzados > Seguridad y activa la opción correspondiente. Tu tienda te pedirá un código adicional al iniciar sesión.

4.4 Usa un firewall de aplicación web (WAF)

Instala un módulo de seguridad de confianza como:

  • PrestaShop Security (módulo oficial).
  • WAF de Cloudflare (gratuito en su plan básico).
  • Sucuri o Wordfence (si soportan PrestaShop).

Estos módulos bloquean ataques comunes antes de que lleguen a tu servidor.

4.5 Configura permisos de archivos correctos

Asegúrate de que los permisos de archivos y carpetas sean los recomendados:

  • Carpetas: 755 (o 750 si tu hosting lo permite).
  • Archivos: 644 (o 640).

Nunca uses 777. Esto permite que cualquiera escriba en tus archivos.


Fase 5: Prevención a largo plazo

5.1 Monitoreo continuo

Instala un monitor de integridad de archivos. Puedes usar:

  • Los módulos de seguridad de PrestaShop que incluyen escaneo.
  • Un script externo que te avise por email cuando un archivo cambie.

5.2 Copias de seguridad automáticas

Configura copias de seguridad automáticas en tu hosting. La mayoría de los paneles (cPanel, Plesk, Syspanel) tienen opciones de backup programado. También puedes usar módulos de PrestaShop que hacen backups a la nube.

5.3 Mantente informado

Sigue los boletines de seguridad de PrestaShop y de los módulos que uses. Suscríbete a los canales oficiales y aplica los parches en cuanto salgan.

[INFO] Si tu hosting usa Syspanel, recuerda que puedes acceder al panel de control a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Desde ahí podrás gestionar backups, archivos y bases de datos.


Preguntas frecuentes sobre cómo eliminar malware PrestaShop

¿Puedo limpiar mi tienda sin conocimientos técnicos?

Depende de la gravedad de la infección. Si es algo simple (un archivo inyectado), puedes seguir esta guía. Si la infección es profunda o no te sientes seguro, contrata a un profesional o a un servicio especializado en limpiar PrestaShop.

¿Cuánto cuesta eliminar malware de una tienda PrestaShop?

Los servicios profesionales suelen cobrar entre 100 y 500 euros, dependiendo de la complejidad. Si tienes un plan de mantenimiento con tu agencia, puede estar incluido.

¿Qué hago si Google ha marcado mi tienda como peligrosa?

Una vez que limpies la tienda, solicita una revisión en Google Search Console. El proceso suele tardar entre unos días y un par de semanas. Asegúrate de que la limpieza sea completa antes de solicitar la revisión.

¿Debería restaurar una copia de seguridad anterior a la infección?

Si tienes una copia limpia y reciente (menos de 24-48 horas antes de la infección), puedes restaurarla. Pero ten en cuenta que podrías perder pedidos o datos de clientes. La limpieza manual es preferible si la infección es reciente.

¿Cómo sé si mi PrestaShop sigue infectado después de limpiarlo?

Vuelve a escanear los archivos con una herramienta de comparación y revisa la base de datos. Si el malware reaparece, significa que no encontraste la puerta de entrada original. Revisa especialmente los módulos de terceros y los temas.


Conclusión: La seguridad de tu ecommerce es un proceso continuo

Eliminar malware PrestaShop no es un evento único, es parte de un proceso continuo de seguridad ecommerce. Las tiendas online son objetivos constantes de ataques automatizados, pero con las medidas adecuadas puedes reducir drásticamente el riesgo.

Recuerda los pasos clave:

  1. Actúa rápido en cuanto detectes la infección.
  2. Aísla la tienda en modo mantenimiento.
  3. Analiza a fondo archivos y base de datos.
  4. Limpia manualmente, no solo borres archivos.
  5. Refuerza la seguridad con actualizaciones y módulos.
  6. Prevén con copias de seguridad y monitoreo.

Si has llegado hasta aquí, ya sabes más que el 90% de los propietarios de tiendas online. Tu malware tienda tiene los días contados. Y si en algún momento te sientes abrumado, recuerda que siempre puedes pedir ayuda profesional: es mejor invertir en seguridad que perder tu tienda y la confianza de tus clientes.

La próxima vez que veas una alerta de seguridad, no entrarás en pánico: sabrás exactamente qué hacer. Y eso, en el mundo del ecommerce, vale oro.

¿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