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

Verificar y limpiar sitios web infectados en PrestaShop

Actualizado el 20 de octubre de 2025

Introducción: ¿Tu tienda PrestaShop ha sido hackeada?

Detectar que tu tienda online ha sido comprometida es una de las peores experiencias para cualquier propietario de un negocio digital. Los síntomas pueden variar desde una ralentización inexplicable, redirecciones a páginas extrañas, hasta la aparición de mensajes de advertencia de Google que bloquean el acceso de tus clientes.

Si has llegado hasta aquí, es probable que estés buscando información sobre cómo limpiar malware PrestaShop o que ya hayas confirmado que tienes un sitio infectado PrestaShop. No entres en pánico. Aunque la situación es grave, es recuperable si actúas con método y calma.

Este artículo es una guía práctica, paso a paso, pensada para usuarios sin conocimientos avanzados de programación. Te explicaremos cómo detectar la infección, cómo limpiarla de forma segura y, lo más importante, cómo blindar tu tienda para que no vuelva a ocurrir. Vamos a ello.

Primeros Síntomas de un Sitio Infectado en PrestaShop

Antes de lanzarnos a la limpieza, es vital saber qué estamos buscando. Un virus en PrestaShop no siempre es evidente. A veces, el malware se esconde durante semanas o meses sin dar señales hasta que el atacante decide activarlo.

Estos son los indicadores más comunes de que tu tienda puede estar comprometida:

  • Redirecciones extrañas: Al hacer clic en un producto, eres llevado a una web de apuestas, farmacias o contenido ilegal.
  • Alertas del navegador o de Google: Al intentar entrar a tu web, Chrome o Firefox muestran una advertencia de "Sitio engañoso" o "Contenido malicioso".
  • Rendimiento deficiente: La tienda carga muy lenta o el servidor consume muchos más recursos de lo normal.
  • Código extraño en el pie de página o en el HTML: Si inspeccionas el código fuente (clic derecho -> "Ver código fuente"), puedes encontrar scripts en JavaScript que no reconoces.
  • Usuarios administradores desconocidos: En tu panel de PrestaShop (Back Office), aparecen cuentas de administrador que tú no creaste.
  • Spam en la base de datos: Tablas llenas de registros con enlaces sospechosos (generalmente a medicamentos genéricos o relojes de lujo).

Si has detectado uno o varios de estos síntomas, es muy probable que necesites una intervención de emergencia.

Fase 1: Contención Inmediata y Diagnóstico

La seguridad es lo primero. Antes de tocar nada, debes evitar que el malware siga propagándose o que el atacante tenga más tiempo para robar datos de tus clientes.

1.1. Cambia todas tus contraseñas

Accede a tu hosting y al panel de administración de PrestaShop (si aún puedes) y cambia las contraseñas de:

  • Base de datos MySQL.
  • Cuenta de correo principal.
  • Acceso FTP o SFTP.
  • Acceso al panel de control del hosting (cPanel, Plesk o Syspanel).

[WARNING] Si no puedes acceder al Back Office de PrestaShop porque te bloquea o te redirige, no intentes forzar la entrada. Ve directamente a tu gestor de archivos del hosting (Syspanel o cPanel) y procede con los pasos de diagnóstico.

1.2. Pon tu tienda en modo mantenimiento

Desde el Back Office de PrestaShop (si tienes acceso), ve a Parámetros Avanzados > Mantenimiento y activa el modo mantenimiento. Esto evitará que los clientes vean contenido comprometido y que Google indexe más páginas maliciosas.

Si no tienes acceso al panel, tendrás que hacerlo manualmente editando el archivo config/settings.inc.php (en versiones antiguas) o desde la base de datos. La opción más sencilla para usuarios noveles es editar el archivo .htaccess y bloquear el acceso con una redirección temporal, pero esto puede ser complejo. Lo ideal es hacerlo desde el hosting.

1.3. Haz una copia de seguridad completa

Este paso es obligatorio. Necesitas una copia del sitio tal y como está ahora (infectado) para poder analizarla. No la uses para restaurar, solo para estudiar el malware.

  • Copia los archivos: Usa el administrador de archivos de tu hosting o un cliente FTP para descargar toda la carpeta public_html o www a tu ordenador.
  • Copia la base de datos: Desde tu panel de control (Syspanel, cPanel, etc.), entra a phpMyAdmin, selecciona tu base de datos y exporta un volcado SQL completo.

[INFO] En Syspanel, el puerto de acceso es el 2106. Si tu hosting utiliza esta herramienta, recuerda que la URL de acceso será algo así como http://tu-dominio.com:2106 o la IP del servidor con ese puerto.

Fase 2: La Limpieza Manual y Automatizada

Una vez que tienes tu copia de seguridad, es hora de ponerse manos a la obra. Existen dos enfoques: usar herramientas automáticas o hacer una limpieza manual. Lo más efectivo es combinar ambos.

2.1. Utiliza un escáner de malware especializado

No intentes buscar el virus mirando archivo por archivo. Es como buscar una aguja en un pajar. Utiliza herramientas de escaneo.

  • PrestaShop Security Scanner: PrestaShop ofrece un script gratuito llamado prestashop-security-scanner. Descárgalo, súbelo a tu servidor (a una carpeta temporal) y ejecútalo. Te mostrará archivos modificados, archivos sospechosos y vulnerabilidades de configuración.
  • ClamAV (desde tu hosting): Muchos paneles de control (incluido Syspanel) tienen instalado ClamAV. Es un antivirus de código abierto que puedes ejecutar sobre la carpeta de tu tienda. Busca en la sección de "Seguridad" o "Herramientas" de tu panel.
  • Extensiones de navegador: Herramientas como "Wordfence" son para WordPress, pero para PrestaShop puedes usar "Quttera Web Malware Scanner", que escanea la URL pública de tu tienda sin necesidad de instalar nada en el servidor.

2.2. Revisa los archivos núcleo de PrestaShop

El malware suele esconderse en archivos con nombres que imitan a los legítimos. Presta especial atención a:

  • config/settings.inc.php: Asegúrate de que no hay código extraño al final del archivo.
  • /classes/ y /controllers/: Busca archivos con nombres como post.php, get.php, config.php.bak o cualquier cosa que no siga la estructura de clases de PrestaShop.
  • /modules/: Revisa si hay módulos que no instalaste. Los atacantes suelen crear módulos falsos para ejecutar código.
  • /img/ y /upload/: A veces, el malware se esconde en imágenes con código PHP inyectado (ej. imagen.php.jpg).

[TIP] Descarga la versión original de PrestaShop que estás utilizando (desde la web oficial) y compara los archivos núcleo con los de tu servidor. Si un archivo tiene un tamaño diferente o no existe en la versión limpia, es sospechoso.

2.3. Limpia los archivos infectados

Una vez localizados los archivos maliciosos (normalmente tienen funciones como eval(), base64_decode(), gzinflate() o shell_exec()), debes eliminarlos o reemplazarlos.

  • Si es un archivo núcleo: Reemplázalo por la versión limpia de la misma versión de PrestaShop.
  • Si es un archivo desconocido: Bórralo directamente.
  • Si es una imagen con código PHP: Elimina el archivo y vuelve a subir la imagen original desde tu copia de seguridad limpia (si tienes una anterior a la infección).

2.4. Limpieza de la base de datos

El malware no solo vive en los archivos. También se esconde en la base de datos.

  • Busca inyecciones SQL: En phpMyAdmin, busca en las tablas ps_connections, ps_connections_source o cualquier tabla que tenga campos de texto. Busca cadenas como <script>, <iframe> o eval(base64_decode.
  • Revisa la tabla ps_employee: Asegúrate de que solo existen los administradores que tú conoces. Elimina cualquier usuario extraño.
  • Limpia la tabla ps_customer_message y ps_message: A veces se insertan spam con enlaces. Elimina los mensajes sospechosos que no sean de clientes reales.

[WARNING] Al manipular la base de datos, ten mucho cuidado de no borrar información de pedidos o clientes. Exporta una copia de seguridad de la BD antes de hacer cualquier cambio manual.

Fase 3: Refuerza la Seguridad de PrestaShop

Limpia la infección, pero ahora debes cerrar la puerta por donde entró el ladrón. La mayoría de los ataques se producen por vulnerabilidades en módulos desactualizados o por contraseñas débiles.

3.1. Actualiza todo

  • Núcleo de PrestaShop: Si estás en una versión antigua (1.6 o inferior), es hora de migrar a la 1.7 o 8.x. Las versiones antiguas tienen vulnerabilidades conocidas y explotadas.
  • Módulos y plantillas: Entra en tu Back Office y actualiza todos los módulos y temas. Si alguno tiene una actualización pendiente, hazla ya. Si un módulo ya no tiene soporte, desinstálalo y busca una alternativa.

3.2. Cambia las rutas de administración

PrestaShop te permite cambiar la URL de acceso al panel de administración. Por defecto, suele ser /admin o /admin123. Cámbiala a algo difícil de adivinar.

  • Ve a Parámetros Avanzados > Administración y en el campo "Ruta de acceso al panel de administración", escribe una nueva ruta (ej. /mi-panel-secreto-2025).

3.3. Configura la autenticación de dos factores (2FA)

Activa la verificación en dos pasos para todos los administradores. Esto añade una capa extra de seguridad: aunque un atacante robe tu contraseña, necesitará el código de tu teléfono móvil para entrar.

3.4. Protege los archivos críticos

Puedes añadir reglas al archivo .htaccess para bloquear el acceso a archivos sensibles.

<FilesMatch "\.(tpl|ini|log|sql)$">
    Require all denied
</FilesMatch>

<Files "config/settings.inc.php">
    Require all denied
</Files>

Fase 4: Verificación Final y Monitorización

Después de la limpieza, no te confíes. Debes asegurarte de que el sitio está realmente limpio y de que no hay puertas traseras ocultas.

4.1. Verifica con Google Search Console

Si Google te había penalizado, tendrás que solicitar una revisión.

  1. Entra en Google Search Console.
  2. Ve a Problemas de seguridad.
  3. Si aparece un problema, haz clic en "Solicitar revisión".
  4. Explica brevemente que has limpiado el malware y que has actualizado el software.

4.2. Revisa los registros del servidor

Busca en los logs de acceso de tu hosting (en Syspanel, normalmente en la sección de "Registros" o "Logs") peticiones extrañas a archivos .php en las últimas semanas. Esto te dará pistas sobre el método de ataque y si ha habido más accesos no autorizados.

4.3. Instala un módulo de seguridad

No son infalibles, pero ayudan. Módulos como "Advanced Security Suite" o "PrestaShop Security" pueden bloquear intentos de fuerza bruta y escanear archivos periódicamente.

Preguntas Frecuentes (FAQ) sobre Virus en PrestaShop

¿Cuánto tiempo se tarda en limpiar un sitio infectado PrestaShop?

Depende del nivel de infección. Si es un malware simple (una inyección en el .htaccess), puedes tardar un par de horas. Si el atacante ha tenido acceso total al servidor durante meses, la limpieza puede llevar varios días. La paciencia es clave.

¿Puedo evitar pagar a un profesional?

Sí, si sigues esta guía y tienes cierta soltura con el hosting, puedes hacerlo tú mismo. Sin embargo, si tu tienda maneja datos de tarjetas de crédito o tienes un volumen alto de ventas, te recomiendo contratar a un especialista en seguridad PrestaShop. El coste de una limpieza profesional es mucho menor que el de una fuga de datos de clientes.

¿Mi hosting es responsable del ataque?

No necesariamente. El hosting es solo el servidor donde vive tu web. La mayoría de los ataques se deben a vulnerabilidades en el propio PrestaShop (módulos desactualizados) o a contraseñas débiles. Aun así, un buen hosting con servidores endurecidos y un firewall de aplicación web (WAF) reduce drásticamente las posibilidades de ataque.

¿Qué hago si mi web sigue redirigiendo después de limpiar?

Esto es un clásico. Puede deberse a:

  • Caché del navegador: Borra la caché y las cookies.
  • Caché de PrestaShop: Ve a Parámetros Avanzados > Rendimiento y limpia la caché.
  • Malware en tu ordenador: A veces, el malware está en tu PC y modifica el archivo hosts local. Escanea tu equipo con un antivirus.
  • CDN (Cloudflare, etc.): Purgar la caché del CDN.

¿Cómo saber si mi PrestaShop tiene puertas traseras?

Los archivos más comunes para puertas traseras son c99.php, r57.php, shell.php o archivos con nombres aleatorios en la raíz. Busca en tu servidor cualquier archivo con extensión .php que no esté en la lista oficial de PrestaShop. También puedes usar el comando grep -r "eval(" /ruta/a/tu/web/ en la terminal del hosting (si tienes acceso SSH) para encontrar código sospechoso.

Conclusión: La Prevención es tu Mejor Aliada

Limpiar un virus en PrestaShop es un proceso tedioso, pero recuperable. La clave está en la acción metódica: aislar, diagnosticar, limpiar y blindar. No te saltes ningún paso.

Después de esta experiencia, implementa una rutina de seguridad:

  • Copias de seguridad semanales (automáticas si es posible).
  • Actualizaciones mensuales de PrestaShop y módulos.
  • Escaneos de malware trimestrales.
  • Cambio de contraseñas de administrador cada 3 meses.

[TIP] No guardes nunca tus contraseñas en el navegador ni en documentos de texto plano. Utiliza un gestor de contraseñas como Bitwarden o 1Password.

Recuerda que la seguridad PrestaShop no es un destino, es un viaje continuo. Mantente alerta ante nuevas amenazas y suscríbete a los boletines de seguridad de PrestaShop para conocer los parches críticos en cuanto salgan. Con estas prácticas, tu tienda estará mucho más protegida contra futuros ataques de malware y podrás centrarte en lo que de verdad importa: vender tus productos.

¿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