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

Eliminar malware de PrestaShop de forma manual

Actualizado el 29 de diciembre de 2025

¿Por qué es importante eliminar el malware de PrestaShop manualmente?

Cuando tu tienda online es infectada, el tiempo es oro. Un malware en PrestaShop puede robar datos de clientes, suplantar tu pasarela de pago o incluso hacer que Google te marque como sitio peligroso. Esto se traduce en una pérdida de confianza y, por supuesto, en ventas.

Aunque existen soluciones automáticas, aprender a eliminar malware PrestaShop de forma manual te da un control total sobre el proceso. No solo limpias el problema, sino que entiendes cómo entró, lo cual es clave para evitar que vuelva a ocurrir. Además, no siempre tienes un plugin de seguridad a mano o acceso a un servicio de pago, así que saber hacerlo a mano es una habilidad imprescindible para cualquier administrador.

Antes de empezar, respira. No necesitas ser un hacker para hacer esto. Solo necesitas paciencia, un editor de texto y acceso a tu hosting. Te guiaremos paso a paso, como si estuviéramos sentados frente a tu ordenador.

Fase 1: Preparación y diagnóstico inicial

Haz una copia de seguridad completa

Este es el paso más importante y el que más se suele saltar. Antes de tocar nada, necesitas una copia de seguridad de tu sitio. Si algo sale mal, podrás restaurar tu tienda a este punto exacto.

Para hacer una copia de seguridad manual:

  1. Descarga los archivos: Accede a tu hosting vía FTP (FileZilla es una buena opción) o desde el administrador de archivos de tu panel de control (como Syspanel, el cual puedes encontrar en el puerto 2106). Descarga la carpeta raíz de tu PrestaShop (normalmente llamada public_html o www).
  2. Exporta la base de datos: Ve a phpMyAdmin (generalmente disponible en tu panel de hosting). Selecciona tu base de datos de PrestaShop y haz clic en "Exportar". Elige el método "Rápido" y formato SQL. Guarda el archivo resultante.

[WARNING] Guarda esta copia de seguridad en tu ordenador local o en un servicio de nube privado. Nunca la guardes dentro del propio hosting, ya que el malware podría infectarla también.

Identifica los síntomas del malware

¿Cómo sabes que tu tienda está infectada? Los síntomas más comunes son:

  • Redirecciones a páginas extrañas (spam, farmacias online, casinos).
  • Aparición de banners o pop-ups que no has creado.
  • Rendimiento extremadamente lento.
  • Alertas de Google Search Console sobre "Contenido pirateado" o "Comportamiento inusual".
  • Nuevos usuarios administradores que no reconoces.
  • Archivos modificados con fechas extrañas.

Anota qué síntomas ves. Esto te dará pistas sobre qué tipo de malware es y dónde se esconde.

Revisa los archivos de núcleo (Core) de PrestaShop

La forma más rápida de detectar archivos corruptos es comparar tu instalación con una versión limpia de PrestaShop.

  1. Descarga una copia limpia de la misma versión de PrestaShop que tienes instalada (puedes encontrarla en el sitio oficial de PrestaShop).
  2. Descomprime el archivo en tu ordenador.
  3. Conecta por FTP a tu servidor.
  4. Compara las carpetas de tu servidor con la copia limpia. Presta especial atención a los archivos en las carpetas /classes, /controllers y /src (si usas PrestaShop 1.7 o superior).
  5. Elimina los archivos que existen en tu servidor pero no en la copia limpia, siempre y cuando no sean de tu plantilla o módulos.
  6. Reemplaza los archivos que tengan un tamaño diferente o una fecha de modificación sospechosamente reciente (por ejemplo, hoy o ayer).

[INFO] Si tu PrestaShop es muy antiguo, considera migrar a una versión más reciente. Las versiones antiguas tienen vulnerabilidades conocidas que los atacantes explotan fácilmente.

Fase 2: Limpieza profunda del código

Busca código malicioso en los archivos clave

El malware a menudo se inyecta en archivos que se ejecutan en cada página, como index.php, .htaccess o config/settings.inc.php. Abre estos archivos con un editor de texto plano (nunca con un procesador de textos como Word).

Busca fragmentos de código que no reconozcas. Presta atención a:

  • Funciones extrañas: eval(), base64_decode(), gzinflate(), str_rot13(), shell_exec(), exec(), system().
  • Cadenas de texto codificadas: Largas cadenas de caracteres aleatorios que parecen ilegibles.
  • URLs sospechosas: Enlaces a dominios que no sean tu-tienda.com o prestashop.com.
  • Código ofuscado: Bloques de código que están escritos en una sola línea y son muy difíciles de leer.

Si encuentras algo así, es muy probable que sea malware.

[WARNING] No borres archivos a la ligera. Si no estás seguro de qué hace un archivo, busca en Google el nombre del archivo y la versión de PrestaShop. Puede ser un archivo legítimo de un módulo que necesitas.

Limpia el archivo .htaccess

El archivo .htaccess es un objetivo común para los atacantes. A menudo añaden reglas de redirección o código malicioso que se ejecuta antes de que cargue tu tienda.

  1. Descarga el archivo .htaccess de la raíz de tu instalación.
  2. Ábrelo con un editor de texto.
  3. Busca cualquier línea que contenga rewritecond, rewriterule que apunte a dominios extraños, o código PHP al principio del archivo.
  4. Elimina las líneas sospechosas. Si el archivo está muy dañado, puedes regenerarlo desde el back-office de PrestaShop: ve a Parámetros avanzados > Rendimiento y haz clic en "Guardar" (esto regenerará el .htaccess).

Revisa los módulos y la plantilla

Los módulos y las plantillas son puntos de entrada comunes para el malware, especialmente si son de terceros o están desactualizados.

  1. Desactiva todos los módulos que no sean de confianza. Ve a Módulos > Gestor de módulos en tu back-office.
  2. Revisa los archivos de tu plantilla en /themes. Busca código inyectado en los archivos .tpl o en los archivos de JavaScript dentro de /themes/tu_plantilla/js.
  3. Elimina los módulos que no uses. Es menos superficie de ataque.

Fase 3: Limpieza de la base de datos

El malware no solo vive en los archivos; también puede esconderse en tu base de datos. A menudo se inyectan enlaces maliciosos en los campos de descripción de productos o en las tablas de configuración.

Busca enlaces maliciosos en las tablas

  1. Accede a phpMyAdmin desde tu panel de control (Syspanel, puerto 2106).
  2. Selecciona tu base de datos de PrestaShop.
  3. Haz clic en la pestaña "Buscar".
  4. Introduce un término de búsqueda como http:// o https:// y marca la opción "Reemplazar también" con tu dominio limpio (por ejemplo, https://tu-tienda.com).
  5. Revisa los resultados. Si encuentras enlaces a dominios extraños, reemplázalos con tu dominio.

[TIP] Para una búsqueda más precisa, busca términos como <script, iframe, eval( o base64_. Esto te ayudará a encontrar inyecciones de código directamente.

Limpia la tabla ps_connections o ps_log

Algunos malwares crean registros falsos en las tablas de conexiones o logs para mantener el acceso o ralentizar la base de datos. Puedes vaciar estas tablas si son muy grandes. Hazlo con cuidado y solo si estás seguro de que no necesitas esos datos.

Fase 4: Asegura tu tienda y evita futuras infecciones

Una vez que has eliminado el malware, es hora de cerrar la puerta por la que entró.

Cambia todas las contraseñas

Esto incluye:

  • Contraseña de administrador de PrestaShop.
  • Contraseña de la base de datos (cámbiala también en el archivo config/settings.inc.php).
  • Contraseñas de FTP y del panel de control del hosting.

Actualiza todo

  • PrestaShop a la última versión estable.
  • Todos los módulos y la plantilla a sus últimas versiones.
  • PHP a una versión soportada (consulta los requisitos de PrestaShop).

Refuerza la seguridad

  • Activa la autenticación en dos pasos (2FA) para tu back-office.
  • Limita los intentos de conexión al panel de administración.
  • Instala un módulo de seguridad de confianza que escanee tus archivos en busca de cambios.
  • Revisa los permisos de los archivos (CHMOD). Los archivos deben tener permiso 644 y las carpetas 755. Nunca uses 777.

[INFO] Si tu hosting usa Syspanel, recuerda que el acceso a la gestión de archivos y bases de datos se realiza a través del puerto 2106. Ahí podrás cambiar los permisos de forma gráfica sin necesidad de usar FTP.

Preguntas frecuentes (FAQ) sobre la limpieza de malware

¿Cuánto tiempo se tarda en eliminar malware PrestaShop manualmente?

Depende del nivel de infección. Una limpieza básica puede tomar de 2 a 4 horas. Una infección profunda que haya modificado muchos archivos puede llevarte un día completo.

¿Qué pasa si no encuentro el malware en los archivos?

Revisa la base de datos. A veces el código malicioso se esconde en tablas que no son obvias, como ps_cms o ps_meta. También puede estar en un archivo de sesión dentro de /var/cache o /tmp.

¿Debo contratar un servicio profesional de limpieza?

Si después de seguir esta guía te sientes abrumado o el malware persiste, es recomendable contratar a un profesional. Una mala limpieza puede dejar la puerta abierta o romper tu tienda, lo que costaría mucho más a largo plazo.

¿Cómo sé si mi tienda está limpia después de la limpieza?

Vuelve a escanear los archivos con la copia limpia de PrestaShop. Revisa los logs del servidor para ver si hay solicitudes extrañas. Y monitorea tu sitio en Google Search Console para ver si se levantan las alertas de seguridad.

¿Puedo prevenir un ataque de malware en el futuro?

Sí, en gran medida. Mantén todo actualizado, usa contraseñas fuertes, limita los módulos a los que realmente necesitas y haz copias de seguridad periódicas. La seguridad es un proceso continuo, no una acción puntual.

Eliminar el malware de tu tienda online es una tarea que requiere calma y método. Sigue estos pasos, documenta lo que encuentres y, sobre todo, no te saltes la fase de prevención. Tu tienda y tus clientes te lo agradecerán.

¿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