En este artículo
En 30 segundos
- Qué pasa: un trozo de código escondido en un bloque de texto de la tienda mostraba un formulario de pago falso y enviaba las tarjetas al atacante.
- A quién afecta: a tiendas que usan módulos de texto o bloques personalizados que muestran contenido sin filtrarlo.
- Cómo se nota: no se nota. La tienda funciona normal.
- Qué hacer: revisar la base de datos además de los archivos, y buscar cuentas de administrador que no reconozcas.
Para situarte. Imagina que alguien no rompe la cerradura de tu tienda física, sino que deja un cartel falso en el escaparate: «Pague aquí». El cartel no es parte del edificio, así que el cerrajero no lo ve al revisar puertas y ventanas.
Eso es un ataque guardado en la base de datos (el almacén donde tu tienda guarda textos, productos, clientes y pedidos): no está en los archivos, está en el contenido.
Dónde estaba escondido
Muchas tiendas usan un módulo para poner un texto personalizado en la portada o en el pie: un aviso de envíos, una promoción. Ese texto se guarda en la base de datos y se muestra tal cual en todas las páginas.
El atacante metió ahí, en lugar de un texto, unas instrucciones para el navegador. Como el módulo lo mostraba sin filtrar, esas instrucciones se ejecutaban en el ordenador de cada cliente que entraba.
Qué hacía
Abría una conexión directa con el servidor del atacante, parecida a la de una videollamada. Por ese canal recibía, en el momento, el formulario de tarjeta falso. Ese formulario nunca llegó a guardarse en la tienda: aparecía y desaparecía.
Además, la tienda tenía activada una protección del navegador que bloquea código de origen desconocido. El atacante la esquivó copiando un permiso de un solo uso de un código legítimo de la propia página. Como quien se cuela en una fiesta con la pulsera de otro invitado.
Cuánto daño hizo
Los registros del servidor (el diario de visitas y peticiones que guarda el alojamiento) mostraron que se enviaron datos de tarjetas al atacante 33 veces en 6 días.
No pudimos saber cómo entró al principio, porque esos registros no llegaban tan atrás. Pero sí vimos cómo mantenía el acceso: había dos cuentas de administrador ocultas que le permitían volver cuando quisiera.
Cómo lo encontramos y lo resolvimos
Sacamos una copia de la base de datos y revisamos, uno a uno, todos los fragmentos de código que contenía. Cada uno tenía que tener una explicación: este es del chat, este es de la analítica, este es del banner de cookies. Solo dos no la tenían. Este era uno de ellos.
Vaciamos esos registros y comprobamos en el diario del servidor que la señal del ataque dejaba de aparecer. Y eliminamos las cuentas ocultas, porque si no, el atacante lo habría vuelto a poner al día siguiente. Esta doble revisión, de archivos y base de datos, es la base de cualquier limpieza de un PrestaShop hackeado bien hecha.
¿Ya te limpiaron la tienda y sigues con dudas?Revisamos también la base de datos, gratis en el diagnóstico.
Quiero el diagnósticoCómo se nota y qué hacer
- Revisa tus bloques personalizados
Si ves textos o contenido que tú no escribiste en la portada o el pie, desconfía.
- Mira la lista de empleados
Anota cualquier cuenta de administrador que no reconozcas.
- Pide revisar la base de datos
Que quien te limpie la tienda revise también la base de datos, no solo los archivos.
- Comprueba los registros
Que el servidor guarde sus registros al menos unos meses: sin ellos, no se puede saber por dónde entraron.
- Cambia las contraseñas
Todas las de administrador y las de acceso al alojamiento.
- Avisa si hubo tarjetas
Si hubo tarjetas expuestas, avisa a tu pasarela o banco.
Lo que no te protege
Este ataque no estaba en ningún archivo.
Ayuda, pero aquí la esquivaron usando un permiso de la propia página.
Si la copia es de cuando ya estaba infectada, restauras también el ataque.
Quién limpia tu tienda
Somos Escudero Digital Studio, un estudio especializado en PrestaShop. Si prefieres que esto lo mire directamente un experto en PrestaShop en vez de pelearte tú con la base de datos, o delegarlo entero en una agencia PrestaShop en Madrid, para eso estamos.
- Especialistas en PrestaShop. Conocemos sus tripas, sus módulos y sus fallos.
- Limpieza a fondo. Archivos, base de datos, cuentas y servidor, no solo lo que se ve.
- Cerramos la entrada. Averiguamos por dónde entraron para que no vuelva.
- Hablas con quien hace el trabajo. Sin comerciales ni intermediarios.
«Llevo trabajando 4 años con David, tras estar perdido en el mundo de PrestaShop durante algún tiempo con agencias que me mareaban y me costaban muy caras…»
Ignacio BS«Grande profesional David, además de una excelente persona. Me solucionó todos los problemas con mi e-commerce de PrestaShop 1.7. Trabajando con él uno solo puede estar agradecido, ya tengo mi informático, 100% recomendable.»
Divina Martina«Por más de 10 años hemos tenido los servicios contratados de desarrollo, programación y soporte técnico. Estamos muy agradecidos por el servicio recibido…»
Ramón RiveroReseñas reales de nuestra ficha de Google. Ver proyectos de clientes.
Una tienda atacada rara vez tiene un solo problema
Este robo escondido en la base de datos era solo una parte. Lo normal es encontrar varias cosas a la vez, y por eso la limpieza tiene que ser a fondo. Lo contamos en qué está pasando cuando tu PrestaShop ha sido hackeado. Para que no se repita, lo mejor es un mantenimiento mensual que vigile también la base de datos.
Preguntas frecuentes
¿Se puede esconder un virus en la base de datos?
Sí. La base de datos guarda textos que luego se muestran en la web. Si uno de esos textos es código, se ejecuta en el navegador del cliente.
¿Por qué un análisis de archivos no lo detecta?
Porque revisa archivos. Este ataque estaba guardado como contenido, igual que la descripción de un producto.
¿Cómo se revisa la base de datos?
Se saca una copia y se localiza todo el código que contiene. Cada fragmento debe tener un dueño conocido; el que no lo tiene, se investiga.
¿Basta con borrar el código?
No. Hay que cerrar también el acceso del atacante; en este caso, dos administradores ocultos.
¿Cuánto tiempo deben guardarse los registros del servidor?
Cuanto más, mejor. Con unos pocos días de registros es imposible saber cómo empezó un ataque.
¿Esto solo pasa en PrestaShop?
No. Cualquier tienda o web que muestre contenido guardado sin filtrarlo puede sufrirlo.
¿Te limpiaron la tienda y no estás seguro de que esté todo?
Cuéntanos cuál es tu tienda. Revisamos archivos y base de datos y te decimos si queda algo. Sin compromiso.
Fundador de Escudero Digital Studio. Lleva más de quince años desarrollando, manteniendo, migrando y limpiando tiendas PrestaShop en toda España. Conoce cómo trabajamos.