Magecart: robo de tarjetas en el checkout y cómo limpiarlo
El web skimming (Magecart) inyecta código en tu página de pago para robar tarjetas. Te explicamos cómo detectarlo, qué implica y cómo se erradica de verdad.
Por Blindea
Si sospechas que a tus clientes les están clonando la tarjeta poco después de comprarte, es muy probable que tengas un skimmer inyectado en el checkout. Es uno de los ataques más silenciosos que existen: la tienda funciona con normalidad y nadie nota nada… mientras los datos de cada tarjeta viajan al servidor de un atacante. Vamos a explicar qué es, cómo detectarlo y cómo se limpia de raíz.
Qué es un skimmer de tarjetas (Magecart / web skimming)
Un skimmer es un fragmento de código malicioso que el atacante inserta en tu página de pago para capturar lo que el cliente escribe: número de tarjeta, caducidad, CVV y datos personales. Magecart es el nombre genérico de los grupos que se dedican a esto, y web skimming el de la técnica. Es el equivalente digital del datáfono trucado de una gasolinera: el cliente paga con normalidad y no sospecha nada.
Hay dos formas de hacerlo, y en WooCommerce y PrestaShop se ven las dos:
- Del lado del cliente (JavaScript): un script en el navegador copia los campos del formulario a medida que el cliente los rellena.
- Del lado del servidor (PHP): código inyectado en tu tienda intercepta los datos en el envío (la petición
POST), antes de que lleguen a la pasarela. Es muy común porque WooCommerce y PrestaShop corren sobre PHP.
Y ojo: aunque uses una pasarela alojada (Redsys, Stripe, PayPal), si el skimmer captura los datos antes de la redirección, la fuga existe igual.
Cómo llega a tu tienda
Un skimmer no aparece solo. Las vías de entrada más habituales son:
- Un plugin, módulo o tema desactualizado con una vulnerabilidad conocida.
- Un backdoor (puerta trasera) que dejó un ataque anterior y por el que vuelven a entrar. Lo explicamos en detalle en qué es un backdoor.
- Credenciales de administrador robadas, débiles o filtradas en otra brecha.
- La cadena de suministro: un script externo legítimo (un chat, una analítica, un módulo de terceros) que fue comprometido en origen y ahora sirve el skimmer a todos los que lo usan.
Por qué es tan difícil de ver
Este ataque está diseñado para pasar inadvertido durante meses. Por eso cuesta tanto detectarlo a simple vista:
- Solo se activa en el checkout. El resto de la tienda parece impecable, así que un vistazo rápido no revela nada.
- El código está ofuscado: ilegible a propósito, codificado en base64 o hexadecimal para que no llame la atención en los ficheros.
- A veces se carga desde un dominio externo con un nombre que imita a uno legítimo (tipo
googie-analyticsojquery-cdn), para que parezca una librería más. - Es condicional. Muchos skimmers no se activan si detectan la IP del administrador o si el visitante parece un bot. Tú entras a comprobar y no ves nada raro.
- No rompe nada. El pedido se completa y el pago pasa. No hay ningún error visible que dispare la alarma.
Señales de que te están robando tarjetas
- Tu pasarela o el banco te avisan de fraude, o notas un aumento de contracargos (chargebacks).
- Clientes que reportan cargos fraudulentos poco después de haberte comprado, y el patrón se repite.
- En el código de la página de pago aparece JavaScript que no reconoces, o peticiones de red a dominios externos extraños al finalizar la compra.
- Ficheros del checkout (del núcleo o del módulo de pago) con fecha de modificación reciente que tú no tocaste.
Si además ves otros síntomas generales, repasa nuestra guía de señales de una tienda hackeada.
Qué implica para ti como comerciante
Conviene decirlo sin rodeos: cuando roban tarjetas en tu tienda no es solo un problema técnico, hay datos de terceros y responsabilidad legal de por medio.
- RGPD. Es una brecha de datos personales. Estás obligado a notificarla a la AEPD en un plazo de 72 horas desde que la conoces y, si hay alto riesgo, a comunicárselo también a los afectados. Debes documentar qué pasó y qué datos se vieron implicados. Ignorarlo puede acarrear sanciones.
- Pasarela y PCI DSS. Aunque uses una pasarela alojada, si el skimmer capturó datos de tarjeta en tu web entras dentro del ámbito PCI. Tu banco o tu proveedor de pago pueden suspender tu cuenta de cobro, y las marcas de tarjeta imponer penalizaciones.
- Reputación. Que se sepa que en tu tienda roban tarjetas hace más daño a largo plazo que la propia limpieza.
La peor decisión es borrar lo que se ve y callar: cortar la fuga cuanto antes reduce los datos comprometidos y facilita la notificación.
Cómo se erradica de verdad
Borrar el skimmer visible no sirve de nada si queda el backdoor o la vía de entrada: en horas vuelve a estar inyectado. Una limpieza real incluye:
- Trabajo a nivel de servidor, no solo un plugin: revisar todos los ficheros, la base de datos, las tareas programadas (cron), los usuarios, los permisos y los logs para localizar el skimmer y todos los backdoors.
- Cerrar la puerta de entrada: actualizar núcleo, plugins y módulos, y endurecer la configuración de la tienda y del servidor.
- Rotar credenciales y claves de API de la pasarela y del panel.
- Reconstruir la línea temporal de la brecha: qué datos se filtraron y desde qué fecha, para poder notificar con rigor.
- Monitorización posterior para detectar cualquier reinfección a tiempo.
En Blindea limpiamos precisamente así: a nivel de servidor, con los 20 años de experiencia en servidores y PHP de la persona que dirige Blindea, contacto en menos de 2 horas laborables y garantía de 30 días. El paso siguiente, mantener la tienda vigilada para que no vuelva a pasar, es lo que cubre nuestro plan de Guardia gestionada. Si quieres ver el método antes de nada, aquí tienes cómo funciona el proceso.
Qué servicio necesitas y cuánto cuesta
Un skimmer de tarjetas no es un rescate normal, y por eso tiene su propio servicio: el Incidente Crítico / Magecart, desde 1.500 € + IVA. La diferencia no es el precio, es el alcance: aquí hay datos de terceros comprometidos, así que además de limpiar la tienda hay que reconstruir qué se filtró y desde cuándo, y sostener eso por escrito.
Incluye:
- Análisis forense del incidente y de la vía de entrada.
- Corte de la fuga de datos.
- Informe técnico forense con la línea temporal de la brecha y los datos implicados.
- Apoyo en la notificación a la AEPD, dentro del plazo de 72 horas.
Si tu caso no llega a fuga de datos —una infección sin skimmer— entra en las bandas normales de rescate, que parten de 390 € + IVA. Las tienes todas explicadas en cuánto cuesta limpiar una tienda hackeada. En cualquiera de los dos casos el precio se cierra tras el diagnóstico, que es gratuito.
Si crees que te roban tarjetas, actúa ya
Cada hora cuenta: cuanto antes se corte la fuga, menos tarjetas comprometidas y más sencilla la notificación obligatoria. Cuéntanos qué le pasa a tu tienda y te damos un diagnóstico gratuito en menos de 2 horas laborables, ya sea WooCommerce, PrestaShop o cualquier otra tienda.