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

Guía para Escanear y Eliminar Malware en PrestaShop

Actualizado el 3 de septiembre de 2025

¿Tu tienda PrestaShop ha sido hackeada? Respira, vamos a solucionarlo juntos.

Que te aparezca un aviso de Google diciendo que tu web está comprometida, que tus clientes vean anuncios raros o que tu tienda esté más lenta de lo normal puede ser una experiencia aterradora. La realidad es que el malware PrestaShop es uno de los problemas más comunes en el comercio electrónico, precisamente porque las tiendas online manejan datos de pago y credenciales de clientes, lo que las convierte en un objetivo muy jugoso para los ciberdelincuentes.

Pero no te preocupes. No necesitas ser un gurú de la programación para solucionarlo. En esta guía extensa y paso a paso, vamos a desglosar exactamente cómo escanear PrestaShop, cómo limpiar virus PrestaShop y, lo más importante, cómo blindar tu seguridad PrestaShop para que no vuelva a ocurrir. Vamos a hacerlo con calma, como si lo hiciéramos juntos, paso a paso.


## Fase 1: Señales de Alarma (¿Cómo saber si estoy infectado?)

Antes de lanzarnos a la acción, debemos confirmar si realmente hay un problema. A veces, la lentitud se debe a un hosting saturado o a una mala configuración, pero otras veces es un síntoma claro de infección.

### Síntomas más comunes de una infección

Estas son las pistas más habituales de que tu tienda tiene un invitado no deseado:

  • Avisos de Google / Navegadores: Al intentar entrar a tu web, aparece una pantalla roja que dice "Sitio engañoso" o "Contenido malicioso". Esto es un indicador casi definitivo.
  • Tráfico anómalo: De repente, tu tienda consume muchísimos recursos del servidor (CPU y memoria) sin que tú hayas hecho nada. Esto suele significar que tu servidor se está usando para enviar spam o para atacar a otras webs.
  • Redirecciones extrañas: Cuando un usuario entra a tu web, es redirigido automáticamente a páginas de farmacias online, casinos o descargas de software dudoso.
  • Pop-ups y publicidad invasiva: Aparecen ventanas emergentes que no has programado, incluso para el administrador.
  • Código extraño en el código fuente: Si haces clic derecho en tu web y seleccionas "Ver código fuente", ves líneas de código ilegible, scripts encriptados o enlaces a dominios que no reconoces.
  • Usuarios administradores desconocidos: En tu panel de administración de PrestaShop, ves usuarios nuevos que tú no has creado.
  • Archivos sospechosos en el servidor: Al acceder a tu hosting por FTP o administrador de archivos, ves archivos con nombres raros (como x7y2.php o shell.php) en carpetas donde no deberían estar.

Si has detectado al menos dos de estos síntomas, es hora de ponerse el traje de detective.


## Fase 2: Preparativos y Aislamiento (Antes de tocar nada)

Cuando detectas una infección, el instinto te dice "borra todo ya". Pero eso es un error. Primero debemos aislar la amenaza y hacer copias de seguridad para no perder datos legítimos (pedidos, clientes, productos).

### Paso 1: Modo Mantenimiento (Cierre de la tienda)

Lo primero es evitar que el malware siga haciendo daño y que los clientes se vean afectados.

  1. Accede a tu panel de administración de PrestaShop (si puedes).
  2. Ve a Parámetros avanzados > Rendimiento.
  3. Activa la opción "Modo de mantenimiento".
  4. Guarda los cambios.

Esto mostrará una pantalla de "en mantenimiento" a los visitantes, pero tú podrás seguir entrando desde tu IP.

[WARNING]
Si no puedes acceder al panel de administración porque te redirige o te da error, tendrás que hacer este paso manualmente. Conéctate a tu hosting por FTP o al administrador de archivos (cPanel, Syspanel, etc.), busca el archivo config/settings.inc.php (en versiones antiguas) o app/config/parameters.php (en versiones nuevas) y edítalo para forzar el modo mantenimiento. Es más complejo, así que prioriza la Fase 3 si no te ves capaz.

### Paso 2: Copia de Seguridad (El Escudo de Emergencia)

Haz una copia de seguridad completa (archivos + base de datos) ahora mismo. Aunque la web esté infectada, esta copia nos servirá para analizarla en local si fuera necesario y para comparar archivos.

  • Desde tu hosting: Usa la herramienta de backup que tenga tu proveedor (normalmente en cPanel, Plesk o Syspanel). Esta es la opción más fiable.
  • Desde FTP: Descarga todos los archivos de public_html (o www) a tu ordenador. Para la base de datos, usa phpMyAdmin desde el panel de tu hosting, selecciona la base de datos y haz clic en "Exportar". Elige el formato SQL.

[INFO]
Guarda esta copia en tu ordenador y en la nube (Google Drive, Dropbox). No la subas a la misma web.


## Fase 3: El Escaneo Profundo (¿Dónde se esconde el bicho?)

Ahora sí, vamos a buscar al culpable. Hay dos frentes: el escaneo de archivos del servidor y el escaneo de la base de datos.

### Paso 1: Escanear PrestaShop con Módulos Especializados

PrestaShop tiene su propio módulo de seguridad muy potente: PrestaShop Security. Si no lo tienes instalado, es el momento.

  1. Ve a Módulos > Módulos y Servicios.
  2. Busca "PrestaShop Security" e instálalo (es gratuito).
  3. Ejecuta el escaneo de archivos. Te mostrará una lista de archivos que han sido modificados respecto a la versión original de PrestaShop.
  4. Presta especial atención a los archivos marcados como "Corruptos" o "Maliciosos".

Otros módulos de pago o freemium muy recomendados son:

  • Advanced Security Suite: Ofrece análisis de integridad de archivos, escaneo de malware y protección del panel de administración.
  • EICAR: Un módulo que simula un ataque para probar tu sistema de seguridad.

### Paso 2: Escaneo Manual del Servidor (FTP / Syspanel)

Los módulos son geniales, pero a veces el malware es más astuto. Debemos mirar con nuestros propios ojos.

  1. Conéctate a tu servidor por FTP (con FileZilla, por ejemplo) o usa el Administrador de Archivos de tu panel de hosting (cPanel, Plesk o Syspanel).
  2. Ve a la carpeta /admin (la raíz de tu tienda). Si no sabes cuál es, busca la carpeta que contiene config, controllers, classes, etc.
  3. Revisa las carpetas y archivos con fecha de modificación reciente. Los archivos modificados el mismo día del hackeo son sospechosos.
  4. Busca archivos con extensiones .php en lugares donde no debería haberlos, como en carpetas de imágenes (/img), en /upload o en la raíz. Un archivo wp-load.php o shell.php en una tienda PrestaShop es una bandera roja.
  5. Abre los archivos .htaccess (en la raíz y en /admin). Busca líneas que redirijan a otros dominios o que contengan código base64 encriptado. Si ves algo como eval(base64_decode("...")), estás ante un hackeo claro.

[TIP]
Si usas Syspanel (antes HestiaCP) para gestionar tu hosting, recuerda que el acceso a la gestión de archivos se hace a través del puerto 2106 (https://tu-dominio.com:2106). Allí podrás navegar por los archivos de tu web de forma cómoda.

### Paso 3: Escaneo de la Base de Datos

Muchos hacks de PrestaShop inyectan código malicioso en la base de datos, concretamente en las tablas de ps_links, ps_meta o incluso en los productos para mostrar spam.

  1. Accede a phpMyAdmin desde tu panel de hosting.
  2. Selecciona tu base de datos de PrestaShop.
  3. Haz clic en la pestaña "Buscar".
  4. Busca términos como <script, eval(, base64_decode, iframe, o el nombre de un dominio extraño que hayas visto en los síntomas.
  5. Revisa los resultados y anota en qué tablas están. Si aparece en ps_links o ps_meta, es un hackeo de SEO.

## Fase 4: La Limpieza Quirúrgica (Eliminar el Malware)

Ya tenemos localizado al enemigo. Ahora toca eliminarlo. Este es el paso más delicado.

### Paso 1: Restaurar Archivos Legítimos

La mejor forma de eliminar un archivo infectado es sustituirlo por el original.

  1. Descarga una copia limpia de la misma versión de PrestaShop que tienes instalada (puedes encontrarla en el sitio oficial de PrestaShop o en tu cuenta de descargas).
  2. Descomprime el archivo en tu ordenador.
  3. Sube por FTP solo los archivos que estaban infectados, sobrescribiendo los del servidor. No subas todo el paquete de golpe, ya que podrías sobrescribir configuraciones personalizadas (como el parameters.php).
  4. Si el archivo infectado no existe en la versión original (es un archivo extra creado por el hacker), bórralo directamente del servidor.

[WARNING]
Nunca subas el archivo config/settings.inc.php o app/config/parameters.php desde la copia limpia. Contienen las credenciales de tu base de datos y tu configuración específica. Solo debes sustituir los archivos del núcleo (core) de PrestaShop.

### Paso 2: Limpiar la Base de Datos

Para eliminar el malware de la base de datos, usa las consultas SQL en phpMyAdmin.

  1. Ve a la pestaña "SQL" en phpMyAdmin.

  2. Ejecuta consultas para eliminar los registros maliciosos. Por ejemplo, si el hackeo está en la tabla ps_links, ejecuta:

    DELETE FROM ps_links WHERE link LIKE '%hacked-domain.com%';
    

    (Reemplaza ps_links y hacked-domain.com por los datos reales que encontraste).

  3. Importante: Hazlo con cuidado. Si no estás seguro de qué borrar, es mejor que exportes la tabla, la edites con un editor de texto avanzado (como Notepad++ o Sublime Text) buscando el código malicioso, y la vuelvas a importar.

[INFO]
El prefijo de las tablas no siempre es ps_. Puede ser shop_, prestashop_, etc. Míralo en el archivo parameters.php en la variable database_prefix.

### Paso 3: Cambiar TODAS las Contraseñas

Esto no es negociable. Asume que tus contraseñas están comprometidas.

  • Cambia la contraseña del administrador de PrestaShop.
  • Cambia la contraseña de la base de datos MySQL.
  • Cambia la contraseña de tu cuenta FTP y del panel de control del hosting (cPanel, Syspanel, etc.).
  • Cambia las contraseñas de los correos electrónicos asociados a tu dominio y a tu cuenta de hosting.

## Fase 5: Refuerzo de la Seguridad PrestaShop (Prevención)

Una vez limpio, hay que blindar la puerta para que no vuelvan a entrar. La seguridad PrestaShop es un proceso continuo, no un evento único.

### Paso 1: Actualiza TODO

  • Versión de PrestaShop: Asegúrate de tener la última versión estable.
  • Módulos: Actualiza todos los módulos, especialmente los de terceros. Muchos hacks entran por vulnerabilidades en módulos desactualizados.
  • Temas: Si usas un tema de terceros, actualízalo también.

### Paso 2: Configuración Esencial de Seguridad

  1. Cambia la URL del panel de administración: Ve a Parámetros avanzados > Administración y cambia la ruta de acceso a tu back-office. Esto confundirá a los bots que buscan /admin.
  2. Activa la autenticación de dos factores (2FA): En tu perfil de administrador, actívala. Es una capa extra muy eficaz.
  3. Protege la carpeta /admin con contraseña: Usa la función "Proteger directorios con contraseña" de tu hosting (cPanel o Syspanel). Esto añade una barrera adicional.
  4. Configura los permisos de archivos: Los archivos deben estar en 644 y las carpetas en 755. Nunca uses 777.

### Paso 3: Módulos de Seguridad y Hardening

  • Instala un firewall para aplicaciones web (WAF) como el módulo de Cloudflare o un módulo de pago de seguridad.
  • Activa la protección contra CSRF y la política de seguridad de contenido (CSP) si tu hosting o módulos lo permiten.
  • Desactiva el modo de depuración (Debug Mode). Ve a Parámetros avanzados > Rendimiento y asegúrate de que está en "No".

## Preguntas Frecuentes (FAQ)

### ¿Qué hago si después de limpiar, Google sigue marcando mi web como peligrosa?

Google tarda en revisar tu web de nuevo. Ve a Google Search Console, verifica tu propiedad y utiliza la herramienta "Solicitar revisión" en la sección "Problemas de seguridad". Explica que has limpiado el malware y qué medidas has tomado. La revisión puede tardar desde unas horas hasta varios días.

### ¿Puedo evitar el malware PrestaShop solo con un buen hosting?

Un buen hosting es la base, pero no es suficiente. Es como tener una casa con una puerta blindada pero dejar las ventanas abiertas. Necesitas un hosting seguro, pero también mantener el software actualizado y usar contraseñas robustas.

### ¿Cuál es la causa más común de infección?

Sin duda, los módulos y temas piratas (nulled). Son la puerta de entrada número uno. La gente los instala para ahorrar dinero y los hackers les insertan código malicioso. Siempre compra módulos de fuentes oficiales (Addons de PrestaShop).

### ¿Debo pagar a un servicio profesional para limpiar mi tienda?

Si te sientes abrumado o el hackeo es muy complejo, sí. Hay empresas especializadas en limpiar virus PrestaShop que lo hacen en cuestión de horas. Si tu tienda maneja un volumen alto de ventas, la inversión merece la pena para evitar pérdidas mayores.

### ¿Qué es un "backdoor" y por qué es tan peligroso?

Un backdoor es un archivo que los hackers dejan escondido para poder volver a entrar en tu servidor cuando quieran, incluso después de que hayas limpiado el malware visible. Es por eso que es tan importante escanear PrestaShop en busca de archivos modificados y revisar la integridad del sistema, no solo los síntomas visibles.


## Conclusión: La Vigilancia es la Clave

Hacer frente a un ataque de malware PrestaShop es estresante, pero con esta guía tienes un plan de acción claro y realista. Recuerda: la prevención es siempre mejor que la cura.

Establece una rutina: escanear PrestaShop semanalmente con el módulo de seguridad, revisa los logs de tu servidor, mantén todo actualizado y haz copias de seguridad frecuentes (idealmente automáticas).

Si en algún momento te sientes perdido, no dudes en contactar con tu proveedor de hosting. Muchos de ellos, como los que usan Syspanel, ofrecen herramientas de gestión de archivos y copias de seguridad que facilitan enormemente el proceso de limpieza. Recuerda que el acceso a tu panel de control suele estar en el puerto 2106.

Con paciencia y estos pasos, tu

¿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