Skip to main content

SYSPROVIDER®

Llevamos tu negocio más lejos con soluciones tecnológicas hechas a tu medida.
Soporte 24/7: 941 89 97 43

PrestaShop hackeada: cómo detectar el robo de datos de tarjeta (skimming)

Detectar skimming y robo de tarjetas en PrestaShop

Si has recibido un aviso de tu banco, de un cliente o de un escáner PCI avisando de transacciones fraudulentas, o si sospechas que tu tienda PrestaShop ha sido comprometida, uno de los escenarios más graves —y más frecuentes— es el skimming de tarjetas: código malicioso inyectado en el checkout que copia los datos de pago antes de que lleguen al TPV real.

Este artículo explica cómo detectar el robo de datos de tarjeta en PrestaShop, qué buscar en el código y en el servidor, y qué hacer si confirmas que tu tienda ha sido víctima de un ataque tipo Magecart.

¿Qué es el skimming en una tienda PrestaShop?

El skimming digital (también llamado Magecart o formjacking) consiste en insertar JavaScript malicioso en la página de pago. Cuando un cliente introduce el número de tarjeta, la fecha de caducidad y el CVV, ese script:

  • Copia los datos en segundo plano.
  • Los envía a un servidor controlado por el atacante (a menudo mediante una petición fetch, XMLHttpRequest o una imagen oculta).
  • Deja que el pago continúe con normalidad, de modo que ni el cliente ni tú notáis nada en el momento.

En PrestaShop el punto de inyección suele ser un módulo de pago alterado, un override de plantilla, un archivo en /themes/ o incluso el core si la tienda lleva tiempo sin actualizar.

Señales de que tu PrestaShop está robando tarjetas (sin que lo sepas)

Estas son las alertas más habituales que llevan a una tienda a descubrir el problema:

  • Aviso del banco o del TPV sobre fraude en tarjetas usadas en tu web.
  • Auditoría PCI o escaneo ASV que detecta scripts externos en el checkout.
  • Clientes que reportan cargos no reconocidos tras comprar en tu tienda.
  • Cambios recientes en archivos de tema, módulos de pago o index.php en carpetas del front office.
  • Tráfico saliente anómalo en logs del servidor hacia dominios desconocidos (.tk, .xyz, IPs en países sin relación con tu negocio).

Importante: no tiene por qué haber caída de la web ni mensajes de error. El skimming está diseñado para ser silencioso.

Dónde buscar el código malicioso en PrestaShop

1. Plantillas del checkout y módulos de pago

Revisa (preferiblemente comparando con una copia limpia de la misma versión):

  • themes/[tu-tema]/templates/checkout/
  • modules/ps_checkout/, modules/redsys/, modules/stripe_official/ y cualquier módulo de pago activo
  • Archivos footer.tpl, payment.tpl, order-confirmation.tpl

Busca scripts ofuscados con eval(, atob(, String.fromCharCode, dominios que no sean los de tu TPV, o etiquetas <script src="https://…"> que no reconozcas.

2. Overrides y archivos PHP recién modificados

En override/ y en la raíz de módulos, localiza archivos PHP con fecha de modificación reciente. Un backdoor suele acompañar al skimmer para que el atacante vuelva a entrar tras una limpieza superficial.

3. Base de datos: hooks y configuración

Algunos ataques registran el script malicioso en la tabla ps_hook_module o insertan HTML en ps_configuration (por ejemplo, campos de «header» o «footer» personalizados). Revisa entradas que contengan <script o URLs externas.

4. Compara el JavaScript servido al cliente

Abre el checkout en modo incógnito, inspecciona la pestaña Red del navegador y filtra por dominios que no sean los tuyos, tu CDN, Stripe, Redsys, PayPal, etc. Cualquier petición POST con datos de formulario hacia un tercero desconocido es una bandera roja crítica.

Qué hacer si confirmas robo de tarjetas en tu PrestaShop

  1. Notifica de inmediato a tu entidad de pago y, si aplica, al responsable de cumplimiento PCI. Pueden exigirte cerrar temporalmente el checkout.
  2. Preserva evidencias: copia de logs, archivos modificados y capturas antes de borrar nada.
  3. Desactiva el checkout o pon la tienda en mantenimiento hasta tener una versión limpia verificada.
  4. Restaura desde backup limpio anterior al compromiso, o reinstala core y módulos desde fuentes oficiales.
  5. Rota credenciales: FTP, SSH, back-office, API del TPV, claves de módulos de pago.
  6. Contrata revisión profesional si el origen no queda claro; limpiar solo el script visible sin eliminar backdoors deja la tienda vulnerable.

Cómo prevenir el skimming en PrestaShop

  • Actualizar core y módulos en cuanto salen parches de seguridad.
  • Content Security Policy (CSP) restrictiva en el checkout, limitando scripts a dominios autorizados.
  • Integridad de archivos: monitorizar cambios en /modules/, /themes/ y /override/.
  • Permisos estrictos: el usuario del servidor web no debería poder escribir en archivos PHP del core.
  • WAF con reglas para bloquear patrones de exfiltración conocidos.
  • Mantenimiento de tiendas: servicio gestionado que vigila actualizaciones, revisa integridad y responde ante incidentes.

Mantenimiento de tiendas online: vigilancia y respuesta ante incidentes

En Sysprovider ofrecemos un servicio de mantenimiento para tiendas PrestaShop: no solo reaccionamos cuando algo falla, sino que aplicamos parches, monitorizamos avisos de la comunidad (Friends of Presta, CVEs del core y módulos), mantenemos copias de seguridad verificadas y te acompañamos si detectas actividad sospechosa.

Si acabas de descubrir un posible robo de tarjetas, podemos hacer una revisión urgente post-incidente: análisis de archivos, logs, limpieza y hardening para que vuelvas a operar con garantías.

Conclusión

Un PrestaShop hackeado para robar tarjetas puede seguir cobrando pedidos con normalidad durante semanas. La clave está en detectar scripts extraños en el checkout, actuar rápido ante avisos de fraude y no confiar en una limpieza parcial. El mantenimiento continuo —actualizaciones, copias y monitorización— es la diferencia entre un susto y un incidente PCI grave.

¿Quieres saber más?
Llamar