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

Qué hacer si mi sitio web ha sido hackeado en PrestaShop

Actualizado el 27 de mayo de 2026

¡Tranquilo! Si has llegado hasta aquí es porque sospechas que tu tienda online ha sido comprometida o, directamente, te has encontrado con un mensaje de error, archivos extraños o redirecciones raras.

Que tu PrestaShop hackeado es una de las peores pesadillas para cualquier propietario de un e-commerce. No solo pierdes ventas, sino que arriesgas los datos de tus clientes y tu reputación. Pero respira hondo.

En esta guía extensa y paso a paso, vamos a explicarte exactamente qué hacer si tu sitio web ha sido hackeado en PrestaShop, cómo limpiar PrestaShop de forma manual, cómo recuperar PrestaShop sin morir en el intento y, lo más importante, cómo blindar la seguridad PrestaShop para que no vuelva a suceder.

Vamos a ir desde el pánico inicial hasta la restauración completa, con un lenguaje claro y sin tecnicismos innecesarios.


PRIMEROS PASOS: DETECTA LA GRAVEDAD DEL ATAQUE

Antes de tocar nada, necesitas saber con qué estás lidiando. No es lo mismo un script malicioso inyectado en una página que un ransomware que ha cifrado toda tu base de datos.

Síntomas comunes de un PrestaShop hackeado

¿Cómo saber si realmente te han hackeado? A veces el problema es solo un fallo de caché. Pero si ves estos signos, activa las alarmas:

  • Redirecciones extrañas a webs de farmacias, casinos o descargas de software.
  • Aparición de anuncios pop-up invasivos que no has creado tú.
  • Mensajes de advertencia de Google Safe Browsing al intentar entrar a tu dominio.
  • Archivos nuevos con nombres aleatorios (como a1b2c3.php) en tu carpeta raíz o en /modules.
  • Usuarios administradores nuevos que no reconoces en tu panel de /admin.
  • La tienda va extremadamente lenta o se cae por consumo excesivo de CPU (minado de criptomonedas).
  • Errores de base de datos con inyecciones SQL.

Si has detectado uno o varios de estos síntomas, es el momento de actuar con cabeza fría.

[WARNING]
NO ENTRES EN PÁNICO Y NO EMPIECES A BORRAR ARCHIVOS A LO LOCO.
Borrar archivos sin saber qué estás haciendo puede romper tu instalación por completo. La calma es tu mejor aliada ahora mismo.


FASE 1: CONTENCIÓN Y COPIA DE SEGURIDAD (CRÍTICO)

Lo primero no es limpiar, es aislar el problema y asegurar la evidencia. Si borras todo, nunca sabrás cómo entraron y volverá a pasar.

1.1. Pon tu tienda en modo mantenimiento

Accede a tu panel de administración de PrestaShop (si aún puedes) y activa el modo mantenimiento. Esto evitará que los clientes sigan viendo contenido malicioso y que los bots sigan explotando la vulnerabilidad.

Ve a Parámetros Avanzados > Mantenimiento y activa la opción. Si no puedes acceder al panel, edita el archivo config/settings.inc.php (en versiones antiguas) o usa un cliente FTP para cambiar el valor de PS_SHOP_ENABLE a 0.

1.2. Haz una copia de seguridad FORENSE (No la toques)

Esta copia no es para restaurar, es para investigar. Necesitas tener una "fotografía" exacta del desastre.

  • Base de datos: Exporta un volcado SQL completo desde phpMyAdmin (normalmente accesible desde tu panel de control como cPanel o Syspanel).
  • Archivos: Descarga una copia comprimida (ZIP) de toda la carpeta pública de tu PrestaShop (la carpeta public_html o httpdocs).

[TIP]
Guarda esta copia en tu ordenador local, NO en el mismo servidor. Si el hacker tiene acceso al servidor, podría borrarla también.

1.3. Cambia TODAS tus contraseñas YA

Asume que el atacante tiene tus credenciales.

  • Cambia la contraseña de tu cuenta de administrador de PrestaShop.
  • Cambia la contraseña de tu base de datos MySQL.
  • Cambia la contraseña de tu FTP y de tu panel de control (cPanel, Plesk o Syspanel).

[INFO]
Si tu hosting usa Syspanel, recuerda que el acceso al panel de control se realiza a través del puerto 2106 (ejemplo: https://tu-dominio.com:2106). Desde ahí podrás gestionar archivos, bases de datos y dominios de forma segura.


FASE 2: LIMPIAR PRESTASHOP (ELIMINAR EL CÓDIGO MALICIOSO)

Ahora viene el trabajo sucio. Vamos a limpiar PrestaShop de forma metódica. No necesitas ser un hacker, solo ser meticuloso.

2.1. Identifica los archivos infectados

Con tu cliente FTP (como FileZilla) o el administrador de archivos de tu hosting, revisa las siguientes carpetas:

  • Carpeta raíz: Busca archivos .php con nombres extraños que no estén en la lista oficial de PrestaShop (index.php, init.php, etc.).
  • Carpeta /modules: Esta es la favorita de los atacantes. Busca módulos que no hayas instalado tú. Si no recuerdas haber instalado "PrestaBlog" o "SEO_King", es sospechoso.
  • Carpeta /img: A veces esconden scripts PHP disfrazados con extensiones de imagen. Ordena por fecha de modificación; los archivos modificados en la fecha del ataque son los culpables.
  • Carpeta /var/cache: Borra el contenido, pero no la carpeta. A veces el malware se esconde en la caché compilada de Smarty.

Cómo detectar el código malicioso:

Abre los archivos sospechosos con un editor de texto (como Notepad++). Busca patrones como:

  • eval(base64_decode(
  • gzinflate(
  • str_rot13(
  • create_function(
  • Código ilegible al final del archivo que no parece PHP normal.

Si encuentras estos patrones en un archivo que no es el núcleo de PrestaShop, ese archivo es malicioso. La solución más segura es eliminar el archivo sospechoso por completo y reinstalar el módulo desde el marketplace oficial si lo necesitas.

[WARNING]
NUNCA INTENTES "LIMPIAR" UN ARCHIVO MODIFICADO DEL NÚCLEO.
Si config/config.inc.php tiene código extraño, es mejor reemplazarlo por el archivo original de tu versión de PrestaShop. Descarga una copia limpia desde PrestaShop.com y sustitúyelo.

2.2. Reinstala los archivos del núcleo (Core)

Esta es la forma más fiable de limpiar PrestaShop de cualquier código inyectado en el sistema.

  1. Ve a PrestaShop.com y descarga la misma versión exacta que tienes instalada (puedes verlo en Parámetros Avanzados > Información).
  2. Descomprime el ZIP en tu ordenador.
  3. Sube los archivos de la carpeta /admin (renombra la carpeta con el nombre de tu administrador actual) y las carpetas /config, /classes, /controllers y /src por FTP, sobrescribiendo los existentes.
  4. NO subas la carpeta /modules, /themes o /img desde el ZIP, ya que sobrescribirías tus personalizaciones.

Este proceso reemplaza cualquier archivo del sistema que haya sido modificado por el hacker.

2.3. Limpia la base de datos

El malware no solo vive en archivos; también se inyecta en la base de datos.

  • Accede a phpMyAdmin.
  • Selecciona tu base de datos de PrestaShop.
  • Haz clic en la pestaña SQL.
  • Ejecuta esta consulta para buscar enlaces maliciosos (cámbiala por tu dominio):
SELECT * FROM ps_links
WHERE url LIKE '%hack%' OR url LIKE '%redirect%';
  • También revisa la tabla ps_configuration buscando valores extraños en campos como PS_SHOP_URL o PS_MAIL_DOMAIN.
  • Busca en la tabla ps_hook o ps_module referencias a módulos que ya no existen.

Si no te sientes cómodo con SQL, la opción más segura es usar un módulo de seguridad de pago como PrestaShop Security o Wixiweb Security que escanean y limpian la base de datos automáticamente.


FASE 3: RECUPERAR PRESTASHOP (RESTAURACIÓN SIN PÉRDIDA DE DATOS)

Una vez que el código malicioso está fuera, toca recuperar PrestaShop a un estado funcional. El objetivo no es perder pedidos, clientes o productos.

3.1. Restaurar desde una copia de seguridad LIMPIA

¿Tienes una copia de seguridad de antes del ataque? Es tu mejor amiga.

  • Archivos: Sube el backup ZIP de archivos por FTP y descomprímelo en el servidor.
  • Base de datos: Importa el backup SQL desde phpMyAdmin.

PERO aquí está el truco: Si la copia es muy antigua, perderás los pedidos recientes. Por eso, en lugar de una restauración completa, es preferible hacer una restauración selectiva.

3.2. Restauración selectiva (La opción inteligente)

  1. Mantén la base de datos actual (ya limpiada en el paso 2.3).
  2. Reemplaza solo los archivos del núcleo con la copia limpia de PrestaShop (como hicimos en el punto 2.2).
  3. Reinstala tus módulos desde el marketplace oficial. Si no recuerdas qué versión tenías, descarga la última compatible.
  4. Reubica el tema (theme). Si tu tema fue modificado, es mejor reinstalarlo desde cero y volver a personalizarlo.

Este método te asegura que los datos de clientes y pedidos están intactos, pero el código del sistema es 100% confiable.

3.3. Regenera la caché y los permisos

Después de la limpieza, es normal que la tienda dé errores.

  • Borra la carpeta /var/cache (o /cache en versiones antiguas) por FTP. No borres la carpeta, solo su contenido.
  • Ve a Parámetros Avanzados > Rendimiento en tu admin y fuerza la compilación de plantillas.
  • Asegúrate de que los permisos de archivos sean correctos: 644 para archivos y 755 para carpetas.

[INFO]
Para cambiar permisos en Syspanel, usa el administrador de archivos web. Selecciona todos los archivos, haz clic derecho y elige "Cambiar permisos". Introduce 644 y 755 respectivamente.


FASE 4: REFUERZA LA SEGURIDAD PRESTASHOP A LARGO PLAZO

Limpiar es solo el 50% del trabajo. Si no cierras la puerta por donde entró el ladrón, volverá a entrar. La seguridad PrestaShop debe ser una prioridad constante.

4.1. Actualiza TODO

Es la regla de oro. El 90% de los hacks en PrestaShop ocurren por vulnerabilidades en versiones antiguas o módulos desactualizados.

  • Actualiza el núcleo de PrestaShop a la última versión estable.
  • Actualiza todos tus módulos y plantillas.
  • Elimina los módulos que no uses. Cada módulo es una puerta de entrada potencial.

4.2. Cambia el directorio de administración

Tu panel de admin no debería llamarse /admin. Cámbialo a algo difícil de adivinar, como /mi-gestion-2024. Esto evita ataques de fuerza bruta dirigidos a la ruta por defecto.

  • Ve a Parámetros Avanzados > Administración y cambia el nombre.
  • O hazlo manualmente renombrando la carpeta por FTP y editando config/settings.inc.php.

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

En Parámetros Avanzados > Seguridad, activa la verificación en dos pasos para tu cuenta de administrador. Necesitarás un código de tu móvil además de la contraseña.

4.4. Protege el archivo de configuración

El archivo config/settings.inc.php contiene las credenciales de la base de datos. Protégelo.

  • En tu hosting, crea un archivo .htaccess dentro de la carpeta /config con este contenido:
<Files "settings.inc.php">
Order Allow,Deny
Deny from all
</Files>

4.5. Instala un módulo de seguridad y un firewall

No es imprescindible gastar dinero, pero sí muy recomendable.

  • Módulos gratuitos: "PrestaShop Security" o "Advanced Security" te ofrecen escaneos de archivos y bloqueo de IPs.
  • Firewall de aplicación web (WAF): Servicios como Cloudflare gratuitos pueden filtrar el tráfico malicioso antes de que llegue a tu servidor.

4.6. Monitorea los logs de acceso

Revisa periódicamente los registros del servidor (en Syspanel, busca "Registros de acceso" o "Logs") para ver si hay picos de tráfico extraños o intentos de acceso a archivos .php no habituales.

[TIP]
Configura una alerta de Google Search Console para que te avise si se detecta malware en tu sitio. Es un radar gratuito muy útil.


PREGUNTAS FRECUENTES (FAQ)

¿He perdido mis datos de clientes para siempre?

No necesariamente. Si has seguido el proceso de limpieza de base de datos sin borrar tablas, tus datos están a salvo. La clave es no restaurar una copia vieja que pise los datos actuales.

¿Puedo limpiar PrestaShop sin conocimientos técnicos?

Puedes intentar la limpieza básica (borrar archivos sospechosos y actualizar). Pero si el hackeo es profundo (en base de datos o núcleo), te recomiendo contratar a un profesional o un servicio de limpieza especializado. Ellos tienen herramientas automáticas.

¿Cuánto tiempo tarda en recuperarse un PrestaShop hackeado?

Depende del daño. Una limpieza básica puede llevar 2-3 horas. Una restauración completa con investigación forense puede llevar 2-3 días.

¿Por qué me hackearon si tenía contraseña segura?

Las contraseñas seguras no bastan. Las vulnerabilidades suelen estar en módulos de terceros o en el propio núcleo desactualizado. Los bots escanean internet buscando versiones vulnerables de PrestaShop automáticamente.

¿Debo denunciar el hackeo a las autoridades?

Si se han filtrado datos personales de clientes (emails, direcciones, tarjetas), en la Unión Europea estás obligado a notificarlo a la Agencia de Protección de Datos en un plazo de 72 horas desde que tienes constancia. Consulta con tu asesor legal.

¿Qué hago si mi hosting está en Syspanel y no encuentro la copia de seguridad?

En Syspanel (puerto 2106), busca la sección "Backups" o "Copias de seguridad". Suelen ofrecer copias diarias automáticas. Si no las ves, contacta con el soporte del hosting para que te restauren un punto anterior al ataque.


CONCLUSIÓN: LA CALMA ES TU MEJOR HERRAMIENTA

Tener un PrestaShop hackeado es un golpe duro, pero no es el fin del mundo. Con esta guía, tienes un plan de acción claro: contener, limpiar, recuperar y blindar.

Recuerda la secuencia de oro:

  1. No toques nada sin una copia forense.
  2. Cambia las contraseñas antes de limpiar.
  3. Reemplaza los archivos del núcleo por originales.
  4. Actualiza absolutamente todo después de la limpieza.

¿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