Brecha de seguridad en el CMS Prestashop

La web de PrestaShop está avisando a todos los usuarios de unos ataques que están recibiendo las webs hechas con este CMS. El equipo de mantenimiento ha sido informado de que ciertos actores maliciosos están explotando una combinación de vulnerabilidades de seguridad conocidas y desconocidas para inyectar código malicioso en los sitios web de PrestaShop, lo que les permite, principalmente, robar la información de pago del cliente.

Si tu web se ha visto afectada por este malware o quieres realizar una auditoría para estar seguro-a, nosotros podemos ayudarte. Trabajamos con PrestaShop desde hace muchos años y hemos tenido certificación platinium en Prestashop durante más de 8 años.

Mientras PrestaShop está investigando este ataque, ha encontrado una vulnerabilidad previamente desconocida que están solucionando. Pero, por el momento, no están seguros de que sea la única forma en que pueden realizar el ataque. 

Según han mencionado este problema parece afectar a las siguientes tiendas realizadas con: 

  • Las versiones 1.6.0.10 o superiores, sujetas a vulnerabilidades de inyección SQL.

  • La version de PrestaShop 1.7.8.2 y posteriores no son vulnerables a menos que estén ejecutando un módulo o código personalizado que a su vez incluya una vulnerabilidad de inyección SQL. 

  • Las versiones 2.0.0~2.1.0 del módulo Wishlist (blockwishlist) también son vulnerables.

Cómo funciona el ataque

Para que tu web pueda ser atacada se requiere que sea vulnerable a las vulnerabilidades de inyección SQL. Hasta donde sabemos, la última versión de PrestaShop y sus módulos están libres de estas vulnerabilidades. Creemos que los atacantes están dirigiendo su atención a tiendas que utilizan software o módulos obsoletos, módulos de terceros vulnerables o una vulnerabilidad aún por descubrir.

¿Cómo se puede afectar tu tienda?

De acuerdo con nuestras conversaciones con propietarios de tiendas y desarrolladores, el modus operandi de estos hackers es el siguiente: 

  • El atacante envía una solicitud POST al punto final vulnerable a la inyección SQL.

  • Después de aproximadamente un segundo, el atacante envía una solicitud GET a la página de inicio, sin parámetros. Esto da como resultado que se cree un archivo PHP llamado blm.php en la raíz del directorio de la tienda.

  • El atacante ahora envía una solicitud GET al nuevo archivo que se creó, blm.php, lo que le permite ejecutar instrucciones arbitrarias.

  • Después de obtener el control de la tienda online, inyectan un formulario de pago falso en la página de pago. 

  • Cuando los clientes hacen sus compras introducen su información de pago en un formulario falso y, sin saberlo, lo envían a los atacantes.

Hasta la fecha este parece ser el patrón común, pero puede que los atacantes estén usando otro diferente como: modificar otras partes del software, plantar código malicioso en otro lugar de la tienda online o incluso borrar sus huellas una vez que el ataque ha tenido éxito.

¿Qué hacer para mantener tu tienda segura?

Ten en cuenta las siguientes acciones que pueden ayudarte a mantener tu tienda segura: 

  • Asegúrate de que tu tienda y todos tus módulos están actualizados a su última versión. Esto debería evitar que su tienda quede expuesta a vulnerabilidades de inyección SQL conocidas y explotadas activamente.

  • Deshabilitar físicamente las funciones de almacenamiento en caché de MySQL Smarty. PrestaShop cree que los atacantes podrían usar esta versión como parte del vector de ataque. Esta característica rara vez se usa y está deshabilitada de forma predeterminada, pero pueden habilitarla de forma remota. Para que no suceda recomendamos deshabilitar físicamente esta función en el código de PrestaShop para romper la cadena de ataque.

Para hacerlo, ubique el archivo config/smarty.config.inc.php en su instalación de PrestaShop y elimine las líneas 43-46 (PrestaShop 1.7) o 40-43 (PrestaShop 1.6):

¿Cómo saber si te has visto afectado?

Para saber si tu negocio se ha visto afectado busca en el registro de acceso de tu servidor el patrón de ataque explicado anteriormente.

Ten en cuenta que si no lo encuentras no significa necesariamente que tu tienda online esté a salvo. Este ataque es muy complejo y pueden haber diferentes formas de realizarlo, y los atacantes también pueden intentar ocultar sus huellas. 

La mejor solución sería contactar a un especialista en PrestaShop para realizar una auditoría completa de tu sitio. Así podrías estar seguro de que no se haya modificado ningún archivo ni se haya agregado ningún código malicioso.

Próximamente…

Se está probando una versión de parche que pronto será publicada por Prestashop.

¿Has pensado alguna vez en contratar un servicio de mantenimiento? 

Para que problemas como este no afecten a tu web, desde 4Addictic te recalcamos la importancia de un buen mantenimiento y la actualización de manera regular del software de PrestaShop junto con sus módulos y servidores para contar con una tienda online lo más segura posible. 

¡Contacta con nosotros e infórmate de todos los planes que tenemos para ti!