Vulnerabilidad de día 0 en PrestaShop
Team Host.it 4 min de lectura
Contenido
Qué sucedió El equipo de desarrollo y mantenimiento de PrestaShop se enteró de que los atacantes estaban explotando un conjunto de vulnerabilidades CMS conocidas y desconocidas para inyectar código malicioso en sitios web creados en PrestaShop, lo que les permitía ejecutar instrucciones arbitrarias y potencialmente robar información de pago de los clientes.
Al analizar estos ataques, el equipo de PrestaShop ha identificado una cadena de vulnerabilidades desconocidas que se están solucionando. El problema afecta a las tiendas basadas en las versiones 1.6.0.10 o posteriores, que están sujetas a vulnerabilidades de inyección SQL.
Las versiones 1.7.8.2 y posteriores no son vulnerables siempre que no ejecuten un módulo o código personalizado que incluya una vulnerabilidad de inyección SQL.
Las versiones 2.0.0 y 2.1.0 del módulo "Wishlist" (blockwishlist) son vulnerables.
Cómo funciona el ataque El ataque requiere que la tienda sea vulnerable a vulnerabilidades de inyección SQL. Hasta la fecha, el equipo de desarrollo cree que la última versión de PrestaShop y sus módulos predeterminados están libres de este tipo de vulnerabilidades.
Los atacantes se dirigieron a tiendas que utilizan software obsoleto o módulos de terceros que son vulnerables o tienen vulnerabilidades desconocidas.
El modus operandi recurrente es similar al 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 un archivo PHP llamado blm.php que se crea en la raíz de la tienda.
El atacante ahora envía una solicitud GET al archivo blm.php recién creado, lo que le permite ejecutar instrucciones arbitrarias.
Después de tomar el control de la tienda, los atacantes inyectan un formulario de pago falso en la página de pago pública. En este escenario, los clientes de las tiendas podrían ingresar la información de su tarjeta de crédito en el formulario falso y, sin saberlo, enviársela a los atacantes.
Este ha sido el patrón de ataque común hasta ahora; sin embargo, los atacantes pueden usar uno diferente, usando diferentes nombres de archivo, modificando otras partes del software o eliminando sus rastros después del ataque.
Qué hacer para mantener su tienda segura En primer lugar, asegúrese de que su tienda y todos los módulos instalados estén actualizados a la última versión disponible. Esto debería evitar que su tienda quede expuesta a vulnerabilidades conocidas y explotadas activamente.
Los atacantes podrían utilizar las capacidades de almacenamiento MySQL de Smarty cache como parte del vector de ataque. Estas funciones rara vez se utilizan y están deshabilitadas de forma predeterminada, pero el atacante podría activarlas de forma remota.
Hasta que se lance un parche oficial, se recomienda desactivar físicamente esta función en su código PrestaShop para bloquear la cadena de ataque.
Para hacer esto, ubique el archivo config/smarty.config.inc.php en su instalación de PrestaShop y elimine las líneas 43-46 (en el caso de PrestaShop 1.7) o 40-43 (PrestaShop 1.6).
if (Configuración :: get ('PS_SMARTY_CACHING_TYPE') == 'mysql') {incluye _PS_CLASS_DIR_. 'Smarty/SmartyCacheResourceMysql.php'; $smarty -> caching_type = 'mysql'; } Cómo verificar si ha sido atacado Verifique los registros de acceso de su servidor para conocer los patrones de ataque anteriores.
[14/jul/2022:16:20:56 +0200] "POST /modules/XXX/XXX.php HTTP/1.1" 200 82772 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS Version/10.0.1 Safari/602.2.14" - [14/jul/2022:16:20:57 +0200] "GET / HTTP/1.1" 200 63011 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS Chrome/54.0.2840.98 Safari/537.36" - [14/Jul/2022:16:20:58 +0200] "POST /blm.php HTTP/1.1" 200 82696 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0" (La ruta se ha cambiado por razones de seguridad).
No encontrar estos patrones no significa que el sitio no haya sido atacado. Desafortunadamente, la complejidad del ataque significa que se podrían haber utilizado otros caminos o formas para explotar la vulnerabilidad.
También comprobar las fechas de modificación de los archivos del espacio web ayuda a identificar cualquier manipulación.
Más información El equipo de desarrollo de PrestaShop está preparando y probando un parche para proteger las tiendas.
Consejos prácticos Asegúrate de tener instaladas las últimas versiones de PrestaShop y los módulos (incluidos los temas).
En el caso de PrestaShop 1.7.1 y posteriores, utilice el siguiente módulo de código abierto para comprobar la presencia de la vulnerabilidad: https://github.com/MathiasReker/blmvuln
Realiza el cambio en la configuración de Smarty Cache como se indica en los párrafos anteriores.
Consulta los registros de acceso de tu hosting.
Consulta la fecha de modificación de los archivos de tu espacio web.
Actualización 25/07/2022 El equipo de PrestaShop ha lanzado la nueva versión de PrestaShop 1.7.8.7 que corrige la vulnerabilidad. Se recomienda la actualización.
E-commerce
Hosting para tiendas online
PrestaShop, WooCommerce y Magento: rendimiento, seguridad y datacenters en Italia.
Artículos relacionados
Del archivo