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

Cómo escanear malware en PrestaShop y limpiar el sitio

Actualizado el 29 de septiembre de 2025

¿Por qué PrestaShop es un objetivo habitual de los hackers?

PrestaShop es una de las plataformas de comercio electrónico más populares del mundo, lo que la convierte en un objetivo muy atractivo para los ciberdelincuentes. No es una cuestión de paranoia, sino de estadística: cuanto más popular es un software, más gente intenta encontrarle fallos.

La mayoría de las infecciones por malware PrestaShop no son ataques dirigidos contra tu marca, sino ataques automatizados que buscan vulnerabilidades conocidas. Los bots rastrean internet en busca de tiendas con versiones desactualizadas, módulos piratas o configuraciones débiles.

Cuando un hacker consigue acceso, no suele romper nada visible. Lo que hace es algo mucho más peligroso: inyectar código silencioso que se activa en segundo plano. Puede ser para robar datos de tarjetas de crédito de tus clientes, para redirigir tu tráfico a páginas de spam, para usar tu servidor como parte de una red de bots o para instalar mineros de criptomonedas que consumen tus recursos.

El problema es que, a diferencia de un ordenador personal que se vuelve lento, una tienda comprometida puede seguir funcionando perfectamente durante semanas o meses. Por eso es tan importante saber cómo escanear malware en PrestaShop de forma proactiva, y no solo cuando ya hay síntomas evidentes.

Si sospechas que tu tienda está infectada, no entres en pánico. En esta guía te voy a explicar paso a paso, y sin tecnicismos innecesarios, cómo detectar el problema, cómo limpiar malware PrestaShop de tu instalación y qué medidas tomar para que no vuelva a ocurrir.


Señales de que tu tienda PrestaShop puede estar infectada

Antes de lanzarte a escanear, conviene saber qué síntomas delatan una infección. Algunos son evidentes, otros muy sutiles.

Síntomas evidentes

  • Avisos de Google: Si Google Safe Browsing marca tu web como "engañosa" o "peligrosa", es una señal casi inequívoca de infección.
  • Redirecciones extrañas: Al hacer clic en tus productos, el usuario acaba en páginas de casinos, farmacias online o tiendas falsas.
  • Pop-ups y banners raros: Aparecen anuncios que tú no has puesto, incluso en la página de administración.
  • El sitio se vuelve extremadamente lento: Si el malware mina criptomonedas o envía spam, consume muchos recursos del servidor.

Síntomas sutiles (los más peligrosos)

  • Código inyectado en las páginas de pago: El atacante modifica el módulo de pago para copiar los datos de las tarjetas. La tienda funciona con normalidad, pero estás robando a tus clientes sin saberlo.
  • Cuentas de administrador nuevas: Revisa si hay usuarios en el panel de administración que no reconoces.
  • Archivos modificados sin tu intervención: Si comparas las fechas de modificación de los archivos, verás cambios que no hiciste tú.
  • Código ofuscado en el footer o en el header: A veces el malware se esconde en archivos de plantilla, camuflado entre líneas de código aparentemente normal.

[WARNING] Si sospechas que hay un skimmer de tarjetas en tu tienda, actúa de inmediato. La fuga de datos de pago puede acarrear multas muy graves por incumplimiento del RGPD y la pérdida total de la confianza de tus clientes.


Preparación antes de escanear: copia de seguridad y entorno seguro

Antes de tocar nada, necesitas hacer una copia de seguridad completa de tu tienda. Esta es la regla de oro. Si algo sale mal durante la limpieza, podrás restaurar el sistema.

Qué debe incluir tu copia de seguridad

  • Todos los archivos del servidor: La carpeta public_html o www donde está instalado PrestaShop.
  • La base de datos MySQL: Exporta un archivo .sql con toda la información de productos, pedidos y clientes.

Cómo hacer la copia de seguridad desde Syspanel

Si tu hosting utiliza Syspanel (accesible a través del puerto 2106), el proceso es muy sencillo:

  1. Accede a tu panel de control Syspanel en https://tu-dominio.com:2106.
  2. Ve a la sección Archivos y utiliza el Administrador de archivos para comprimir toda la carpeta de PrestaShop en un archivo .zip.
  3. Descarga ese archivo a tu ordenador. No lo dejes en el servidor, porque si el malware tiene acceso, podría infectar la copia.
  4. En la sección Bases de datos, selecciona tu base de datos y haz clic en Exportar. Guarda el archivo .sql resultante.

[INFO] Guarda la copia de seguridad en al menos dos lugares distintos: tu ordenador y un disco duro externo o servicio de nube privado.


Métodos para escanear malware en PrestaShop

Ahora que tienes tu red de seguridad, vamos a buscar al intruso. Existen varias estrategias, desde las más simples hasta las más técnicas. Te recomiendo combinarlas para una detección completa.

1. Escáneres automáticos de seguridad web

Son herramientas online que analizan tu dominio en busca de malware, listas negras y vulnerabilidades. Son muy útiles como primera evaluación rápida.

  • Quttera: Ofrece un escáner online gratuito que revisa el contenido de tu web en busca de código malicioso.
  • Sucuri SiteCheck: Otra opción muy popular. Analiza el sitio y te dice si está en alguna lista negra.
  • VirusTotal: Puedes introducir la URL de tu tienda y comprobar si algún antivirus la ha marcado como peligrosa.

Estas herramientas son un buen punto de partida, pero no son infalibles. El malware avanzado puede ocultarse para no ser detectado por escáneres externos.

2. Escáner de archivos dentro del servidor

Esta es la forma más fiable de escanear seguridad PrestaShop. Consiste en revisar los archivos directamente en el servidor desde la línea de comandos.

[INFO] Para este método necesitas acceso SSH a tu servidor. Si no sabes qué es esto, contacta con tu proveedor de hosting y pídeles que activen el acceso SSH o que te ayuden a ejecutar un escáner.

Paso a paso con ClamAV (antivirus gratuito)

  1. Conéctate por SSH a tu servidor.
  2. Ejecuta el siguiente comando para actualizar la base de datos de virus:
    sudo freshclam
    
  3. Lanza un escaneo de toda la carpeta de PrestaShop:
    sudo clamscan -r /ruta/a/tu/prestashop
    
    Sustituye /ruta/a/tu/prestashop por la ruta real. Normalmente es /home/usuario/public_html.

Este escaneo puede tardar un buen rato, dependiendo del tamaño de la tienda. Cuando termine, te mostrará una lista de archivos infectados.

Escaneo con grep para buscar código malicioso

El malware a menudo se esconde en archivos PHP. Puedes usar grep para buscar patrones sospechosos.

grep -r "eval(" /ruta/a/tu/prestashop
grep -r "base64_decode" /ruta/a/tu/prestashop
grep -r "shell_exec" /ruta/a/tu/prestashop

Estos comandos buscan funciones de PHP que son muy utilizadas por los atacantes. Si encuentras resultados en archivos que no son los módulos oficiales, es muy probable que haya malware.

3. Revisión manual de archivos clave

Hay archivos concretos que los atacantes adoran modificar. Revisa su contenido buscando código extraño:

  • .htaccess: En la raíz de PrestaShop. A menudo se añaden reglas de redirección maliciosas.
  • config/settings.inc.php: El archivo de configuración principal.
  • /classes/ y /controllers/: Especialmente los archivos de pago y de autenticación.
  • Archivos de plantilla en /themes/: El footer y el header son escondites habituales para scripts.

Cómo limpiar malware PrestaShop paso a paso

Una vez que has identificado los archivos infectados, toca poner manos a la obra. Este proceso requiere precisión y paciencia.

Paso 1: Poner la tienda en modo mantenimiento

Esto es crucial para evitar que los clientes accedan a una tienda comprometida y para que el malware no siga haciendo de las suyas mientras trabajas.

  1. Entra en el panel de administración de PrestaShop.
  2. Ve a Parámetros avanzados > Mantenimiento.
  3. Activa el modo mantenimiento y guarda los cambios.

[WARNING] Si el malware es tan grave que no te deja entrar al panel, tendrás que poner la tienda en mantenimiento editando el archivo config/defines.inc.php. Busca la línea que dice define('_PS_MODE_DEV_', false); y añade justo debajo define('_PS_MAINTENANCE_MODE_', true);. Guarda el archivo.

Paso 2: Restaurar archivos desde una copia de seguridad limpia

Esta es la solución más efectiva y rápida. Si tienes una copia de seguridad de cuando la tienda estaba limpia, haz lo siguiente:

  1. Elimina todos los archivos de la carpeta de PrestaShop en el servidor (excepto la carpeta img si quieres conservar las imágenes, aunque es mejor restaurarla también desde la copia).
  2. Sube los archivos de tu copia de seguridad limpia.
  3. Restaura la base de datos desde el archivo .sql que exportaste.

Problema: Si la copia es demasiado antigua, perderás pedidos y productos nuevos. Por eso la limpieza quirúrgica es muchas veces preferible.

Paso 3: Limpieza quirúrgica de archivos infectados

Si no tienes una copia limpia o es muy reciente, tendrás que limpiar los archivos uno a uno.

  1. Descarga los archivos infectados a tu ordenador usando el Administrador de archivos de Syspanel o FTP.
  2. Ábrelos con un editor de código como Visual Studio Code o Notepad++.
  3. Busca el código malicioso: Suele ser una línea muy larga y sin espacios, llena de base64_decode, eval o gzinflate.
  4. Elimina solo el código malicioso, no todo el archivo. Ten mucho cuidado de no borrar código legítimo.
  5. Sube el archivo limpio de vuelta al servidor, sobrescribiendo el infectado.

[TIP] Si no te ves capaz de distinguir el código bueno del malo, no lo intentes. Un error podría romper tu tienda. Mejor opta por restaurar archivos desde una copia limpia o contactar con un profesional.

Paso 4: Limpiar la base de datos

El malware no solo se esconde en archivos. También puede estar en la base de datos, en campos como value de la tabla ps_configuration o en los contenidos de páginas y módulos.

  1. Accede a phpMyAdmin desde Syspanel (puerto 2106).
  2. Selecciona tu base de datos de PrestaShop.
  3. Haz una búsqueda global de términos sospechosos como <script>, iframe, base64, etc. (Usa la pestaña "Buscar").
  4. Si encuentras resultados, revisa cada uno y elimina el código malicioso de la celda correspondiente.

Fortalecer la seguridad para evitar futuras infecciones

Limpiar el malware es solo la mitad del trabajo. La otra mitad es asegurarte de que no vuelva a pasar. Aquí tienes una lista de medidas imprescindibles.

1. Actualiza todo

  • PrestaShop: Mantén tu versión siempre actualizada. Cada actualización corrige vulnerabilidades conocidas.
  • Módulos y plantillas: Lo mismo aplica a todos los complementos. Los módulos desactualizados son la puerta de entrada número uno.

[WARNING] Elimina cualquier módulo o plantilla que hayas descargado de sitios piratas. El código nulled (modificado para saltarse la licencia) suele contener puertas traseras que los atacantes usan para acceder a tu tienda.

2. Cambia todas las contraseñas

  • Panel de administración: Cambia la contraseña del administrador.
  • Base de datos: Cambia la contraseña del usuario MySQL.
  • FTP y SSH: Cambia las contraseñas de acceso al servidor.
  • Syspanel: Cambia también la contraseña de tu panel de control.

3. Activa la autenticación de dos factores (2FA)

PrestaShop 8 y versiones posteriores tienen un módulo de 2FA integrado. Actívalo en Parámetros avanzados > Seguridad. Esto añade una capa extra de protección, ya que aunque alguien robe tu contraseña, necesitará el código de tu teléfono para entrar.

4. Limita los intentos de acceso al administrador

En Parámetros avanzados > Seguridad, activa la opción de Limitar los intentos de conexión al panel de administración. Esto bloquea automáticamente las IPs que intenten acceder con contraseñas incorrectas repetidamente.

5. Revisa los permisos de archivos

Los archivos de PrestaShop deben tener permisos 644 y las carpetas 755. Si algún archivo tiene permisos 777, cualquier usuario del servidor puede modificarlo. Puedes cambiarlos desde el Administrador de archivos de Syspanel.


Preguntas frecuentes (FAQ)

¿Con qué frecuencia debo escanear mi tienda en busca de malware?

Lo ideal es hacer un escaneo automático al menos una vez por semana. Puedes programar una tarea cron en tu servidor que ejecute ClamAV automáticamente y te envíe un correo con el resultado.

¿Qué hago si mi tienda está en la lista negra de Google?

Después de limpiar el malware, solicita una revisión en Google Search Console. Google revisará tu sitio y, si está limpio, lo eliminará de la lista negra en unos días.

¿Puedo prevenir un ataque solo con un buen hosting?

Un buen hosting es esencial, pero no suficiente. La seguridad es una combinación de un servidor seguro, un software actualizado y buenas prácticas de administración. Syspanel es una excelente herramienta de gestión, pero no hace milagros por sí solo.

¿Debo contratar un servicio de seguridad profesional?

Si tu tienda maneja un volumen importante de ventas o datos sensibles, merece la pena invertir en un servicio de seguridad gestionada. Ellos monitorizan tu sitio 24/7 y responden ante cualquier incidente.

¿Qué es un skimmer y cómo sé si tengo uno?

Un skimmer es un código malicioso que se inyecta en el proceso de pago para robar datos de tarjetas de crédito. Para detectarlo, revisa el código de tus módulos de pago, especialmente los archivos de las pasarelas de pago. Busca código que envíe datos a dominios externos que no reconozcas.


Conclusión: la seguridad es un proceso, no un destino

Saber cómo escanear malware en PrestaShop y limpiar el sitio es una habilidad esencial para cualquier propietario de una tienda online. No es una tarea de una sola vez, sino un proceso continuo de vigilancia y mantenimiento.

La buena noticia es que, siguiendo los pasos que hemos visto, puedes recuperar el control de tu tienda y protegerla de futuros ataques. Recuerda: la prevención es siempre más barata y menos estresante que la curación. Mantén tu software actualizado, usa contraseñas fuertes, haz copias de seguridad periódicas y revisa tu tienda con regularidad.

Si en algún momento te sientes abrumado, no dudes en buscar ayuda profesional. Un ataque de malware puede ser una experiencia estresante, pero con las herramientas y el conocimiento adecuados, tu tienda puede volver a estar segura y operativa.

¿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