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

Magento 2 comprometido: robo de tarjetas (Magecart) — señales y qué hacer

Detectar Magecart y robo de tarjetas en Magento 2

Si gestionas una tienda Magento 2 y has recibido alertas de fraude en tarjetas, un informe PCI o clientes con cargos no reconocidos, es posible que tu checkout esté infectado con un script Magecart: malware que roba datos de tarjeta en el momento del pago.

Esta guía explica cómo detectar el robo de tarjetas en Magento 2, dónde se oculta el código y qué pasos seguir para recuperar la confianza de tus clientes y cumplir con tus obligaciones de seguridad.

¿Qué es Magecart y por qué afecta tanto a Magento?

Magecart es el nombre genérico de grupos y campañas que inyectan JavaScript en páginas de pago para capturar:

  • Número de tarjeta (PAN)
  • Fecha de caducidad
  • CVV/CVC
  • A veces nombre y dirección

Magento —especialmente versiones sin parchear o con extensiones de terceros— ha sido uno de los CMS e-commerce más atacados porque:

  • El checkout concentra datos sensibles en pocas plantillas.
  • Las extensiones de pago amplián la superficie de ataque.
  • Muchas tiendas en Magento 2.3/2.4 antiguas no aplican parches de seguridad a tiempo.

Síntomas de Magento 2 comprometido (robo de tarjetas)

  • Tu banco adquirente o Stripe/PayPal reporta fraude elevado en transacciones de tu tienda.
  • Escaneo PCI ASV detecta scripts de terceros en /checkout o /multishipping/checkout.
  • Archivos JS modificados en pub/static/, app/design/ o dentro de módulos Vendor_Module.
  • Peticiones de red del navegador hacia dominios desconocidos al rellenar el formulario de pago.
  • Clientes reportan uso fraudulento de tarjetas tras comprar en fechas concretas (te ayuda a acotar el backup limpio).

Dónde buscar skimmers en Magento 2

Plantillas y layout del checkout

  • app/design/frontend/[Vendor]/[theme]/Magento_Checkout/
  • vendor/magento/module-checkout/view/frontend/ (si fue modificado; no debería)
  • app/code/*/view/frontend/web/js/ en módulos de pago personalizados

Archivos estáticos comprometidos

Tras setup:static-content:deploy, muchos ataques persisten en pub/static/frontend/. Compara hashes con una instalación limpia de la misma versión. Un checkout-data.js o payment-method.js alterado es un hallazgo típico.

Módulos de terceros

Extensiones de one-step checkout, gift wrap, analytics «gratis» o parches nulled son vectores frecuentes. Revisa app/code/ y módulos en vendor/ que no correspondan a paquetes Composer oficiales.

Base de datos: CMS blocks y config

Bloques CMS insertados en checkout.footer o configuraciones en core_config_data con HTML/JavaScript malicioso (design/head/includes, scripts globales).

Admin comprometido

Usuarios admin nuevos en System → Permissions → All Users, API integrations no autorizadas, o scheduled jobs en cron_schedule ejecutando código externo.

Cómo verificar el checkout como lo ve el cliente

  1. Abre Chrome en incógnito → checkout hasta el paso de pago.
  2. DevTools → pestaña Red → filtra XHR/Fetch al introducir datos (usa tarjeta de prueba del TPV).
  3. DevTools → Fuentes → busca scripts externos cargados en la página.
  4. Compara el HTML servido con una instancia staging limpia de la misma versión.

Herramientas como Sucuri SiteCheck o escaneos PCI ayudan, pero la inspección manual del checkout sigue siendo la prueba definitiva.

Qué hacer si confirmas Magecart en Magento 2

  1. Notifica a tu procesador de pagos y responsable PCI; pueden exigir cierre temporal.
  2. Modo mantenimiento (bin/magento maintenance:enable) hasta tener código limpio.
  3. Preserva evidencias para forense y posibles reclamaciones.
  4. Restaura desde backup verificado anterior al compromiso o reinstala Magento limpio + migración controlada de datos.
  5. Parchea a la última versión segura soportada (Adobe publica parches frecuentes — APSB).
  6. Rota contraseñas admin, claves API, tokens OAuth, claves de despliegement.
  7. Auditoría completa: no basta con borrar un .js; busca backdoors PHP en pub/media/, var/, generated/.

Prevención: hardening Magento 2

  • Aplicar Adobe Security Patches en cuanto se publican.
  • CSP y Subresource Integrity donde sea posible.
  • Desactivar ejecución PHP en pub/media y pub/static.
  • 2FA obligatorio para administradores.
  • Monitorizar integridad (Tripwire, Aide, plugins de seguridad Magento).
  • Extensiones solo de vendors de confianza vía Composer.

Mantenimiento de tiendas Magento 2

En Sysprovider ofrecemos mantenimiento profesional para tiendas Magento 2: aplicación de parches de seguridad Adobe, copias de backup, monitorización y soporte en español. Si detectas posible robo de tarjetas, ofrecemos revisión urgente post-compromiso y hardening del checkout. También puedes combinarlo con nuestro hosting Magento gestionado.

Conclusión

Un Magento 2 hackeado para robar tarjetas puede operar meses sin síntomas visibles. Ante cualquier alerta de fraude, trata el checkout como escena del crimen: inspecciona JS, compara estáticos, restaura limpio y parchea. El mantenimiento continuo no es un lujo en e-commerce — es requisito para seguir cobrando con PCI y con la confianza de tus clientes.

¿Quieres saber más?
Llamar