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

Cómo eliminar malware de tu sitio PrestaShop

Actualizado el 7 de abril de 2026

Primeros síntomas: ¿Cómo saber si tu PrestaShop está infectado?

Detectar una infección a tiempo es clave para minimizar daños. A menudo, los síntomas no son obvios y pueden confundirse con problemas de caché o configuración. Presta atención a estas señales de alerta:

  • Tu web va lenta sin motivo aparente: El malware suele consumir recursos del servidor para enviar spam o minar criptomonedas.
  • Redirecciones extrañas: Al hacer clic en un producto, te lleva a una página de farmacia online, casinos o webs de apuestas.
  • Aparición de contenido invisible: Texto o enlaces ocultos en el pie de página, normalmente de color blanco sobre fondo blanco.
  • Alertas de Google: Al buscar tu dominio en Google, aparece el aviso "Este sitio puede estar pirateado" o "El sitio contiene malware".
  • Errores 500 o de base de datos: El malware puede corromper archivos o saturar la base de datos con consultas maliciosas.
  • Usuarios administradores nuevos: Revisa la lista de empleados en tu back-office. Si aparece un nombre que no reconoces, estás comprometido.

[WARNING] Si tu tienda usa pasarelas de pago, desactiva temporalmente la pasarela real y activa un modo de prueba. Un atacante podría estar interceptando datos de tarjetas de crédito. Actúa con máxima prioridad.


Preparación: El kit de emergencia antes de limpiar

Antes de borrar nada, necesitas un plan. Actuar con prisa puede empeorar la situación. Sigue estos pasos previos:

1. Haz una copia de seguridad forense (NO la restaures aún)

No hagas una copia normal. Necesitas una copia "congelada" para analizar el malware. Descarga todos los archivos por FTP y exporta la base de datos desde phpMyAdmin. Esta copia te servirá para estudiar el código malicioso y saber cómo atacaron.

2. Cambia TODAS las contraseñas desde otro dispositivo

Usa un ordenador limpio (no el que usas para gestionar la tienda) y cambia:

  • Contraseña del administrador de PrestaShop.
  • Contraseña del correo electrónico asociado al dominio.
  • Contraseña de acceso a tu panel de control de hosting (cPanel, Plesk, Syspanel, etc.).
  • Contraseña de la base de datos MySQL.

3. Identifica la fecha del ataque

Revisa los archivos modificados recientemente en tu hosting. Busca en el administrador de archivos la opción "Fecha de modificación". Ordena por fecha y anota los archivos que cambiaron en los últimos 3-7 días. Esa es tu línea temporal de infección.

[TIP] Si tu hosting usa Syspanel (el panel de control con puerto de acceso 2106), el administrador de archivos suele tener un filtro por fecha. Úsalo para detectar archivos .php modificados en horas extrañas (ej. 3:00 AM).


Método manual: Eliminar malware PrestaShop paso a paso

Este es el método más fiable si sabes qué buscar. Si no te sientes cómodo, ve a la sección de plugins automáticos más abajo.

Paso 1: Escaneo malware inicial con herramientas online

No empieces a borrar archivos a ciegas. Usa escáneres externos para mapear la infección:

  • Sucuri SiteCheck: Analiza tu URL pública y detecta redirecciones y scripts maliciosos inyectados.
  • Quttera Web Scanner: Escanea en profundidad buscando firmas de malware conocidas.
  • Google Safe Browsing: Comprueba si tu dominio está en la lista negra de Google.

Anota los nombres de archivo y las rutas exactas que te reporten. No los borres todavía.

Paso 2: Revisa el archivo .htaccess (el favorito de los atacantes)

Este archivo controla las redirecciones. Un código malicioso típico es una regla que redirige a los visitantes móviles a una web de spam. Conéctate por FTP, descarga el .htaccess y búscalo en un editor de texto plano.

  • Busca líneas con RewriteRule que apunten a dominios extraños.
  • Busca bloques base64_decode o eval (funciones peligrosas).
  • Si no reconoces una línea, elimínala y guarda el archivo limpio.

Paso 3: Inspecciona los archivos centrales de PrestaShop

Los atacantes suelen ocultar código en archivos legítimos. Los más atacados son:

  • /config/config.inc.php
  • /classes/db/
  • /controllers/front/
  • /override/classes/

Descarga estos archivos y búscalos con un editor de texto. Presta atención a:

  • Código ilegible (cadenas largas de caracteres aleatorios).
  • Llamadas a curl, file_get_contents a URLs externas.
  • Funciones como assert, base64_decode, eval, str_rot13.

[INFO] Un truco es buscar con el buscador del editor la palabra eval(. Si aparece fuera del núcleo de PrestaShop, es casi seguro malware.

Paso 4: Limpia la base de datos

El malware también vive en la base de datos. Conéctate a phpMyAdmin y exporta solo las tablas. Luego, usa el buscador de phpMyAdmin para localizar:

  • URLs sospechosas en tablas ps_links, ps_meta, ps_product.
  • Código JavaScript inyectado en campos de descripción de productos.
  • Usuarios administradores extraños en ps_employee.

Elimina las filas maliciosas. Si no estás seguro, busca tutoriales específicos para tu versión de PrestaShop.

Paso 5: Elimina archivos basura y scripts ocultos

Busca en la raíz de tu instalación archivos con nombres raros:

  • x.php, wp.php, shell.php, c99.php, r57.php.
  • Archivos con doble extensión: imagen.jpg.php.
  • Carpetas temporales como /tmp o /cache con scripts PHP.

Borra todo lo que no pertenezca a una instalación estándar de PrestaShop.


Método automático: Plugins y herramientas para limpiar web hackeada

Si prefieres automatizar, existen módulos que escanean y limpian por ti.

1. Módulos de seguridad específicos para PrestaShop

  • PrestaShop Security Scanner: Un módulo gratuito que compara los checksums (huellas digitales) de tus archivos con los oficiales. Te dirá exactamente qué archivos han sido modificados.
  • Epona Security: Un módulo de pago que monitoriza la integridad de archivos, limpia malware y bloquea ataques de fuerza bruta.
  • Advanced SEO & Security: Aunque es más conocido por SEO, incluye un escáner de archivos maliciosos.

2. Instala un firewall de aplicación web (WAF)

Un WAF filtra el tráfico antes de que llegue a tu servidor. Opciones recomendadas:

  • Cloudflare: El plan gratuito ya ofrece protección básica contra bots y malware.
  • Sucuri Firewall: Bloquea ataques y limpia malware por ti (servicio de pago).

[TIP] Tras limpiar la web, cambia la URL de administración de PrestaShop (por ejemplo, de /admin123 a /panel-gestion-2024). Esto dificulta futuros ataques automatizados.

3. Usa el escáner de tu hosting

Muchos hostings incluyen herramientas de escaneo. Si usas Syspanel (panel con puerto 2106), busca en la sección "Seguridad" o "Malware Scanner". Algunos planes ofrecen limpieza automática con un solo clic.


Restauración y refuerzo: Cómo evitar reinfecciones

Limpiar es solo la mitad del trabajo. Si no cierras la puerta trasera, el atacante volverá a entrar en 24 horas.

1. Actualiza TODO

  • Actualiza PrestaShop a la última versión estable.
  • Actualiza todos los módulos y plantillas.
  • Elimina módulos y temas que no uses (los obsoletos son la puerta de entrada principal).

2. Refuerza la seguridad de archivos

  • Cambia los permisos de archivos a 644 y de carpetas a 755 (vía FTP o Syspanel).
  • Protege el directorio /admin con contraseña adicional (HTTP Authentication).
  • Desactiva la ejecución de PHP en carpetas donde no sea necesaria: /upload, /img, /themes.

3. Revisa las cuentas de usuario y los registros

  • Elimina cualquier empleado desconocido en tu back-office.
  • Cambia las preguntas secretas y activa la autenticación de dos factores (2FA) para todos los administradores.
  • Revisa los logs de acceso del servidor para ver la IP del atacante y bloquearla en el firewall.

4. Configura copias de seguridad automáticas

  • Programa copias diarias de la base de datos y semanales de los archivos.
  • Guárdalas en un lugar externo (Google Drive, Dropbox, o un servidor remoto).
  • Asegúrate de poder restaurar desde una copia limpia en menos de 15 minutos.

[WARNING] No uses copias de seguridad anteriores a la fecha del ataque para restaurar la web, a menos que estés 100% seguro de que eran limpias. Restaurar una copia infectada te hará perder horas de trabajo.


Preguntas frecuentes (FAQ) sobre seguridad PrestaShop

¿Cuánto tarda en limpiarse una web hackeada?

Depende del método. Con un buen plugin automático, entre 2 y 4 horas. De forma manual, un técnico experimentado puede tardar de 4 a 8 horas. Si no tienes experiencia, no lo hagas a medias: contrata a un profesional.

¿Debo pagar un rescate si me piden dinero?

Nunca pagues. La mayoría de los ataques a PrestaShop son automatizados y no hay un "secuestrador" al otro lado. Pagar no garantiza que te devuelvan los archivos y te marcarán como objetivo fácil para futuros ataques.

¿Por qué mi web sigue infectada después de restaurar una copia de seguridad?

Porque la copia que restauraste ya estaba infectada, o porque el atacante dejó una puerta trasera en un archivo que no revisaste (por ejemplo, en un módulo de terceros). Sigue el proceso completo de limpieza, no solo la restauración.

¿El malware afecta a mi posicionamiento SEO?

Sí, y mucho. Google penaliza las webs infectadas mostrando advertencias. Además, el malware puede inyectar enlaces ocultos que reducen tu autoridad. Tras limpiar, solicita la revisión en Google Search Console para eliminar la advertencia.

¿Puedo prevenir el malware solo con un plugin de seguridad?

No. Los plugins son una capa más, pero la prevención real incluye: hosting seguro, contraseñas fuertes, actualizaciones constantes y copias de seguridad. La seguridad es un proceso, no un producto.

¿Qué hago si no puedo acceder a mi administrador de PrestaShop?

Accede por FTP y renombra la carpeta /admin a /admin_limpio (o la que quieras). Luego intenta acceder a /admin_limpio. Si el problema persiste, el malware puede haber modificado el archivo config/settings.inc.php. Restáuralo desde una copia limpia o edítalo manualmente para corregir las rutas.


Plan de acción final: Tu checklist de limpieza

Imprime esta lista y ve marcando pasos. Te ayudará a no olvidarte nada:

  • Copia de seguridad forense (archivos + BD).
  • Cambio de todas las contraseñas desde un dispositivo limpio.
  • Escaneo con herramientas online (Sucuri, Quttera).
  • Revisión y limpieza del .htaccess.
  • Inspección de archivos centrales (config, classes, controllers).
  • Limpieza de la base de datos (tablas y campos sospechosos).
  • Eliminación de scripts maliciosos y archivos basura.
  • Instalación de un firewall (Cloudflare o Sucuri).
  • Actualización de PrestaShop, módulos y temas.
  • Cambio de permisos de archivos y carpetas.
  • Activar 2FA para administradores.
  • Programar copias de seguridad automáticas.
  • Solicitar revisión en Google Search Console.

[INFO] Si tras seguir toda la guía te sientes abrumado, no pasa nada. La seguridad web es compleja. Busca un profesional de confianza que ofrezca servicio de eliminar malware PrestaShop con garantía. A veces, invertir en un experto es más barato que perder tu tienda y la confianza de tus clientes.

Recuerda: la limpieza es urgente, pero la prevención es permanente. Mantén tu PrestaShop actualizado, haz copias de seguridad frecuentes y revisa los logs de acceso de tu servidor con regularidad. Con estos hábitos, reducirás el riesgo de reinfección en más de un 90%.

¿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