El problema
Varios clientes avisaron de cargos que no reconocían poco después de comprar. La tienda funcionaba con normalidad y el panel no mostraba nada raro.
El diagnóstico
- Revisamos los ficheros modificados en los últimos 30 días y encontramos un JavaScript ofuscado inyectado en una plantilla del proceso de pago.
- El script copiaba los datos de tarjeta del formulario y los enviaba a un dominio externo con un nombre parecido al de una pasarela conocida.
- La puerta de entrada fue un módulo de pago con una vulnerabilidad pública que llevaba más de un año sin actualizarse.
La solución
- 1Pusimos la tienda en mantenimiento solo en el checkout para cortar la fuga sin parar el catálogo.
- 2Eliminamos el código malicioso de plantillas, ficheros PHP y base de datos, y revisamos tareas programadas y usuarios del panel.
- 3Actualizamos el módulo vulnerable y el resto de módulos con avisos de seguridad.
- 4Cambiamos todas las credenciales y añadimos un WAF y la monitorización de cambios en ficheros.
- 5Preparamos la documentación del incidente para la pasarela de pago y la notificación RGPD.
El resultado
- 9 h
- Hasta tener la tienda limpia
- 0
- Reinfecciones en 6 meses
Lo que aprendimos
- Un checkout que "funciona bien" puede estar robando datos: revisa los scripts que carga.
- Los módulos de pago son el objetivo número uno: mantenlos siempre actualizados.
- Monitorizar los cambios en ficheros detecta estas inyecciones en horas, no en semanas.
¿Te pasa algo parecido?
Cuéntanos qué ocurre y te decimos cómo lo resolveríamos, con precio cerrado.